- 军军小站|张军博客
拥有Java标签的文章
Java

JAVA 对象拷贝

JAVA对象拷贝为什么需要有对象拷贝?对象拷贝相对的自然是引用拷贝。java初学者经常会问,我这个方法要改变一个对象的属性,可以把参数传进去了,为什么没有改变了?——基本数据类型传值,而对象传引用或引用的拷贝。而有时候我们要获取到一个当前状态的对象复制品,他们是两个独立对象。不再是引用或者引用拷贝(实质都是指向对象本身)。就是说a是b的拷贝,b发生变化的时候,不要影响a。对象拷贝有浅拷贝和深度拷贝两种。1)浅拷贝浅拷贝是指对象中基本数据类型得到拷贝,而引用

系统 2019-08-29 23:47:17 2026

Java

Java基础:Java语句

Java语句-------关键语句介绍一、while语句一般形式:while(条件表达式){语句体………}执行过程:条件表达式为真,执行语句体。否则,退出!二、dowhile语句一般形式:do{语句体…….}while(条件表达式);执行过程:先执行一次语句体,判断条件表达式是否为真,为真再执行do语句中的语句体。为假,退出。需要注意:与while语句区别1.while(条件表达式)后面有分号;2.不管条件表达式是否为真,语句体均会执行一次。三、for语句

系统 2019-08-29 23:22:03 2026

Java

JAVA日志组件系列(三)log4j+logback+slf4j的关

背景由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同。存在着在一个项目中,不同的版本,不同的框架共存。导致日志输出异常混乱。虽然也不至于对系统造成致命伤害,但是明显可以看出,架构不够精良,追求极致略有不足。其中有一些标准通用接口,标准实现,各种桥接器的存在,下面就让笔者树立一下这些框架之间的关系。从上图中,我们可以看到4部分。接口:将所有日志实现适配到了一起,用统一的接口调用。实现:目前主流的日志实现旧日志到slf4j的适配器:如果使用了slf

系统 2019-08-29 23:17:50 2026

Java

Java 代理

代理模式UML类图代理模式1.静态代理/***为被代理的类提供一个接口,是为了提高代理的通用性,凡是实现了该接口的类,都可以被代理*这里其实就是运用了java面向对象的多态性*/publicinterfaceIHello{publicvoidsayHello();}/***被代理的类,最根本的想法就是想用另外一个类来代理这个类,给这个类添加一些额外的东西*我们只需要创建另外一个类引用这个类就行了*/publicclassHelloimplementsIHe

系统 2019-08-29 22:57:10 2026

Java

《JVM笔记》之一:Java内存区域与内存溢出异常

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。按照《Java虚拟机规范(第2版)》的规定,Java虚拟机所管理的内存将包括以下几个运行时数据区域,来个图更加直观点,如下图所示:解释下各个部分程序计数器:ProgramCounterRegister是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储。此内存

系统 2019-08-29 22:50:35 2026

Java

Java版战棋(SLG)游戏AI及寻径处理入门

代码下载地址:http://download.csdn.net/source/1047937SLG或者说战棋游戏,在大多数英文站点是归类到SimulationGame的(包括模拟城市之类的纯SIM),并没有进行SRPG(StrategiesRolePlayGames)、RTS(Real-TimeStrategyGame)乃至RSLG(RoleplaySimulationGame)种种的细分。归结原因,想必还是因为近似因素太多,在大多数时候已经难以区分其本来

系统 2019-08-29 22:39:52 2026

Java

Java基础之软引用、弱引用、虚引用

1、概述在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再把它捡回来使用就不可能了。但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现在已经无用了,保留它会占空间,但是立刻扔掉它也不划算,因

系统 2019-08-29 22:32:21 2026

Java

深入分析 Java I/O 的工作机制

I/O问题可以说是当今互联网Web应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到I/O问题,可以说大部分Web应用系统的瓶颈都是I/O瓶颈。本文的目的正是分析I/O的内在工作机制,你将了解到:Java的I/O类库的基本架构;磁盘I/O工作机制;网络I/O的工作机制;其中以网络I/O为重点介绍JavaSocket的工作方式;你还将了解到NIO的工作方式,还有同步和异步以及阻塞与非阻塞的区别,最后我们将介

系统 2019-08-29 22:25:44 2026

Java

深入入门正则表达式(java) - 匹配原理 - 2 -

内容可能有些不严谨的地方,希望大家落脚前先拍砖,多谢深入入门正则表达式(java)-引言深入入门正则表达式(java)-1-入门基础深入入门正则表达式(java)-2-基本实例深入入门正则表达式(java)-3-正则在java中的使用深入入门正则表达式(java)-匹配原理-1-引擎分类与普适原则深入入门正则表达式(java)-匹配原理-2-回溯回溯(backtracking)NFA引擎最重要的性质是:它会一次处理各个子表达式或组成元素,遇到需要在两个可能

系统 2019-08-29 22:04:20 2026

Java

Java NIO(十一)Pipe

JavaNIO管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipepipe=Pipe.open();向管道写数据要向管道写数据,需要访问sink通道。像这样:Pipe.SinkChannelsinkChannel=pipe.sink();通过调用SinkChannel的write()方法,

系统 2019-08-29 22:04:18 2026

Java

Java图像渐变

图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果:原始图片:图像变暗渐变:图像变暗渐变:图像变亮渐变:图像变亮渐变:我们以图像渐变暗举例,渐变亮同样的道理,无非是一个减,一个加。1.我们要先拿到图片,这个不赘述了,就是获得图像的BufferedIm

系统 2019-08-12 09:29:50 2026

Java

Java语言实现简单FTP软件------>上传下载管理模

1、上传本地文件或文件夹到远程FTP服务器端的功能。当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图上传下载管理模块的实现(十一)"width="265"height="421"style="border:1pxsolidblack;"/>选择好要上传的文件或文件夹,点击“上传”按钮,会触发com.oyp.ftp.panel.local.UploadAction类的acti

系统 2019-08-12 09:29:36 2026

Java

Java正则表达式(二)

转自http://fuliang.iteye.com/blog/175035Matcher类:使用Matcher类,最重要的一个概念必须清楚:组(Group),在正则表达式中()定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的,以及这些组和组的下标怎么对应的.下面我们看看一个小例子,来说明这个问题引用\w(\d\d)(\w+)这个正则表达式有三个组:整个\w(\d\d)(\w+)是第0组group(0)(\d\d)是第1组gro

系统 2019-08-12 09:29:31 2026

Java

Ubuntu 14.04下java开发环境的搭建--3--Tomcat

前面两篇文章,已经说明了JDK和Eclipse的安装方法,下面简单说一下,Tomcat及MySQL的安装方法。Tomcat的安装。在合适的地方解压apache-tomcat-6.0.39.tar.gzcd/opt/DevelopToolssudomkdirservercdserversudocp/home/home/下载/apache-tomcat-6.0.39.tar.gz/opt/DevelopTools/serversudotar-zxvfapach

系统 2019-08-12 01:32:31 2026