- 博客(11)
- 收藏
- 关注
原创 深入探讨Java的类加载机制
类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。 研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 一、简单过程 Java程序运行的场所是内存,当在命令行下执行: java HelloWorld 命令的时候,JVM会将HelloWorld.class加载到内存...
2012-05-30 00:04:44 78
原创 Guice与Spring的区别
Guice与Spring的对比 Spring Guice 使用XML 使用将类与类之间的关系隔离到xml中,由容器负责注入被调用的对象,因此叫做依赖注入 不使用xml,将类与类之间的关系隔离到Module中,声名何处需要注入,由容器根据Module里的描述,注入被调用的对象。 使用Annotation 使用 支持自定义Annotation标注...
2012-05-29 00:19:26 81
原创 JSF2+Primefaces简单应用系列(一)
准备: netbeans6.9.1,glassfish3.0(netbeans自带),primefaces2.2.1(http://www.primefaces.org/downloads.html) 我们也先从jsf2的hello world开始 1、 创建普通Web应用程序,如下图: 2、 加入JSF2的jar包( glassfish服务器自带了 jsf2.0的jar包,不用单...
2012-05-28 01:31:34 451
原创 什么是POJO
POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。 在Java应用程序中的角色 在Java应用程序中的角色 使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)...
2012-05-24 01:11:55 88
原创 详细介绍Java的内存管理与内存泄露
Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历与各位网友分享解决这些问题的办法。 AD: 作为Internet最流行的编程语言之一,Java现正非常流行。我们的网络应用程序就主要采用Java语言开发,大体上分为客户 端、服务器和...
2012-05-24 00:27:35 63
原创 JAVA集合小结
JAVA集合小结 下面是我自己画的,关系画得没上面好,但我自己看着清楚些 还有一张下载来的: 有序否 允许元素重复否 Collection 否 是 List 是 是 Set ...
2012-05-22 22:49:34 80
原创 超详细_解释java_equals()与hashCode()
简单的结论:当对象类没有不符合规范的override equals()和hashcode()方法的时候,两个对象做比较 1. 如果equals()比较相同,那么hashcode()肯定相同。 2. 如果hashcode()比较相同,那么equals()不一定相同。 众所周之,String 、Math、还有Integer、Double。。。。等这些封装类重写了Object中的equa...
2012-05-22 22:45:57 62
原创 java中final方法
之所以要使用final方法,可能是出于对两方面理由的考虑。第一个是为方法“上锁”,防止任何继承类改变它的本来含义。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。 采用final方法的第二个理由是程序执行的效率。将一个方法设成final后,编译器就可以把对那个方法的所有调用都置入“嵌入”调用里。 final在Java中并不常用,然而它却为我...
2012-05-20 09:46:31 123
原创 java中堆栈的区别(二)
一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 ...
2012-05-18 22:10:20 93
原创 java中堆栈的区别
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收...
2012-05-18 16:46:07 97
原创 JAVA类加载以及反射机制
JAVA中类文件加载是动态的。JVM指令是被封装在了. class文件里面,而.class文件的加载过程是动态的,也就是说当我们用到的时候才会去加载,如果不用的话,就不会去加载我们的类。这里所说的用到包括两种方式,第一种就是new一个对象的时候(这个时候要特别注意,当设计到多态的时候,就会有一点点变化,这时候编译器会做一些优化,这样以来当加载的时候会提前加载设计到多态的类,关于这一点下面有个例...
2012-05-18 16:44:55 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人