随笔-59  评论-31  文章-0  trackbacks-0
java基础
JVM 调优 技巧 总结      摘要: 写了好几篇关于这个方向的文章了,但连自己都感觉写的有点乱,没有总结。所以现在把所有方法整理到一起,如果以后又发现新的,我继续补充到这篇文章里。

这篇是技巧性的文章,如果要找关于GC或者调整内纯的文章,看我其他几篇文章。因为是JVM 调优总结,所以废话少说。从各方面一共收集到以下几个方法:

  阅读全文
posted @ 2009-06-28 10:57 RoyPayne 阅读(422) | 评论 (0)  编辑
解读ClassLoader      摘要: ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲ClassLoader,希望能对不了解该机制的朋友起到一点点作用.
要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重要性如何。
  阅读全文
posted @ 2009-06-26 22:38 RoyPayne 阅读(255) | 评论 (0)  编辑
通通透透理解ThreadLocal      摘要: 概述

我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。

我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。

虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话的缓存问题,并非数据连接或会话的线程安全问题。

按照传统经验,如果某个对象是非线程安全的,在多线程环境下,对对象的访问必须采用synchronized进行线程同步。但Spring的DAO模板类并未采用线程同步机制,因为线程同步限制了并发访问,会带来很大的性能损失。

  阅读全文
posted @ 2009-06-23 09:30 RoyPayne 阅读(444) | 评论 (0)  编辑
java的浅复制和深复制      摘要: 1.浅复制和深复制概念
⑴浅复制(浅克隆)
被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制他所引用的对象。  阅读全文
posted @ 2009-06-20 18:03 RoyPayne 阅读(166) | 评论 (0)  编辑
搭建Eclipse+MyEclipse开发环境      摘要: 一、安装JDK

  首先下载JDK 5.0(JDK 5.0的下载页面为:http://java.sun.com/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认;最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。



  阅读全文
posted @ 2007-03-05 16:16 RoyPayne 阅读(244) | 评论 (0)  编辑
抽象类与接口的区别      摘要: abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。  阅读全文
posted @ 2007-03-05 14:59 RoyPayne 阅读(200) | 评论 (0)  编辑