Java中的四种引用强、软、弱和虚引用,对应的生命周期:强>软>弱>虚引用.除强引用外,其他3种引用都需要与ReferenceQueue联合使用,当引用被垃圾回收机制回收的时候,引用会自动放入ReferenceQueue中.WeakReference和SoftReference可以用来做Cashe,文章第二段引用了JavaEye文章,介绍Googlecollection的MapMaker方便生成ConcurrentMap,可以方便的设置map中expire
系统 2019-08-29 23:49:34 2323
一本适合自学者的书会缩短自学的时间,并且会让自学者深深地去喜欢或钟爱自己的选择。希望更多的自学者朋友选择或向你们的朋友们推荐《JavaWeb整合开发与项目实战》。它确实是一本适合初学者的书籍。至少,买了这本书,可以令你省下数千元的培训费用。学完这本书,如果你想参加JavaEE技能培训,你便有权利要求培训机构实现分阶段交费,因为前期的课程都已经自学过了。《JavaWeb整合开发与项目实战》的书评
系统 2019-08-29 22:51:05 2323
JTA(JavaTransactionAPI)允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。本文的目的是要提供一个关于的Java事务处理API(JTA)的高级的概述,以及与分布式事务相关的内容。一个事务处理定义了一个工作逻辑单元,要么彻底成功要么不产生任何结果。一个分布式事务处理只是一个在两个或更多网络资源上访问和更新数据的事务处理,因此它在那些资源之间必然是等价的。在
系统 2019-08-29 22:51:00 2323
Fisher–Yatesshuffle基本思想(Knuthshuffle):Toshuffleanarrayaofnelements(indices0..n-1):forifromn−1downto1doj←randomintegerwith0≤j≤iexchangea[j]anda[i]JDK源代码如下:/***MoveseveryelementoftheListtoarandomnewpositioninthelist.**@paramlist*the
系统 2019-08-12 09:27:20 2323
1importjava.sql.Connection;2importjava.sql.DriverManager;34privatestaticfinalStringURI="jdbc:oracle:thin:@localhost:1521:orcl";5//驱动路径6privatestaticfinalStringUSER="testUser";//数据库名7privatestaticfinalStringPWD="admin";//数据库密码8/--9
系统 2019-08-12 01:52:10 2323
前面两篇文章,已经说明了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 2323
1.设置Cookie1Cookiecookie=newCookie("key","value");2cookie.setMaxAge(60);//设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。3cookie.setPath("/test/test2");//设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath()+web.xml里配置的该Serv
系统 2019-08-29 23:46:16 2322
问一下.Net的开发者,开发WebServices有多困难?他们会被你的问题逗乐,他们会告诉你所有步骤花费的时间不会超过一分钟。再问一下Java开发者,运气好的话你会碰到上面的回答,一般情况下,你会得到一个完全不同的答案。从WebServices引入到Java中至今已经5年了,然而它仍然被认为是一门较新的技术,一个主要的原因就是使用Java实现WebServices太困难了。现在,随着新一代WebServices引擎XFire的发布,这种情况将会发生明显的
系统 2019-08-29 23:20:40 2322
StringbirthdayString="2006-04-05";java.util.Datebirthday=newjava.util.Date();try...{java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");birthday=sdf.parse(birthdayString);System.out.println(birthday);System.o
系统 2019-08-29 22:56:37 2322
相信大家都使用过MSN,QQ这样的即时聊天类软件,对于它们的好友上线提示功能并不陌生吧?从屏幕右下角弹出一个小界面,慢慢上升,最后消失。我们能不能在自已的程序中也做出相同的功能呢?能!笔者现用JAVA和eclipse的SWT用户界面组件实现这个功能。什么是SWT呢?SWT原来是eclipse项目组为开发eclipseIDE所编写的图形界面API,运行时,其先判断本机是否有相同的界面元素,如果有则直接调用显示,如没有才进行模拟显示。其运行机制使速度比AWT,
系统 2019-08-29 22:27:01 2322
敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个
系统 2019-08-29 21:58:48 2322
l创建模式1.工厂模式简单工厂:又称静态工厂方法模式,它可以根据传进来的参数来选择创建哪些对象。这样方便,但有个缺点,因为工厂模式本来就是为了将对象的使用和创建脱藕,而如果使用简单工厂模式的话,那么客户端就需要知道要创建的对象的类型。工厂方法:又称多态性工厂模式。工厂模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式可以允许很多具体工厂从抽象工厂类中将创建行为继承下来,从而可以成为多个简单工厂模式的统合,进而推广了简单工厂类。而
系统 2019-08-12 09:30:07 2322
第一章介绍线程的优点使用多处理器对异步事件的处理用户界面的更加响应性线程的风险1.安全危险2.活跃度危险3.性能危险线程无处不在1.定时器2.JSP3.RMI4.Swing和AWT第二章线程安全编写线程安全的代码,本质上就是管理对状态的访问,而通常都是共享的、可变的状态无论何时,只要有多余一个的线程访问给定的状态变量,而且其中某个线程会写入该变量,此时必须使用同步来协调线程对该变量的访问。在没有正确同步的情况下,如果多个线程访问了同一个变量,你的程序就存在
系统 2019-08-12 09:29:59 2322
图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果:原始图片:图像变暗渐变:图像变暗渐变:图像变亮渐变:图像变亮渐变:我们以图像渐变暗举例,渐变亮同样的道理,无非是一个减,一个加。1.我们要先拿到图片,这个不赘述了,就是获得图像的BufferedIm
系统 2019-08-12 09:29:50 2322
最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解。在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度。废话少说,先来看服务器端的程序。1.服务器端packagesterning;importjava.io.BufferedInputStream;importjava.io.DataInputStream;importjava.io.DataOut
系统 2019-08-12 09:29:40 2322