很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾手机,而且在方法区进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~90%的空间,而永久..
分类:
其他好文 时间:
2014-07-29 15:42:19
阅读次数:
246
如果要向运行时常量池中添加内容,最简单的做法就是使用String.intern()这个Native方法。该方法的作用是:如果池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的String对象;否则将此String对象包含的字符串添加到常量池中,并且返回此String对象的引用。..
分类:
其他好文 时间:
2014-07-28 16:44:34
阅读次数:
234
方法区用于存放Class的相关信息,如类名、访问修饰符、常量池、字段描述、方法描述等。对于这个区域的测试,基本的思路是运行时产生大量的类去填满方法区,虽然直接使用JavaSEAPI也可以动态产生类(如反射时的GeneratedConstructorAccessor和动态代理等),在本代码中借助CGLib直..
分类:
其他好文 时间:
2014-07-28 16:44:04
阅读次数:
281
re模块的split()方法与字符串的split()方法相似,前者是根据正则表达式模式分隔字符串,后者是根据固定的字符串分割,因此与后者相比,显著提升了字符分割的能力。如果分隔符没有使用由特殊符号表示的正则表达式来匹配多个模式,那re.split()和string.split()的执行过程是一样的。
分类:
其他好文 时间:
2014-07-17 09:42:05
阅读次数:
211
JVM运行时数据区的内存模型由五部分组成:【1】方法区【2】堆【3】JAVA栈【4】PC寄存器【5】本地方法栈对于String s = "haha" ,它的虚拟机指令:0: ldc #16; //String haha2: astore_13: return对于上面虚拟机指令,其各自的指令流程在《深...
分类:
编程语言 时间:
2014-07-16 18:48:18
阅读次数:
217
return 语句的作用:1.返回值 2.结束某个方法的运行;
局部变量必须要初始化,成员变量系统会默认初始值;
栈:自动分配连续的空间,后进先出,放置局部变量
堆:不连续,放置new出来的变量
堆里面还有方法区,类的是、代码信息,static变量,常量池(字符串常量等)
...
分类:
编程语言 时间:
2014-07-16 12:56:04
阅读次数:
237
Collection主要的子接口:
List:可以存放重复内容Set:不能存放重复内容,所有重复的内容靠hashCode()和equals()两个方法区分Queue:队列接口SortedSet:可以对集合中的数据进行排序
List接口:
总结了List接口的扩展方法,即包含有增删改查方法.
List接口常用的子类:
ArrayList:可以...
分类:
其他好文 时间:
2014-07-12 19:26:08
阅读次数:
274
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类...
分类:
编程语言 时间:
2014-07-09 18:22:21
阅读次数:
231
1.static修饰一个属性,属性变成了全局变量。 各个对象的某个属性相同,如每个对象的职业相同 eg: static String profession; 这个profession属性不是放在堆内存中,而是放在公用的方法区里。 所以静态属性不属于对象,属于类(改变一个对象的静态属性,其他对象的静态...
分类:
其他好文 时间:
2014-07-03 09:59:27
阅读次数:
161
/**
* 在List集合中众多方法中,add(int index,Object obj)方法与set(int index,Object e)方法不易区分
* ,通过下面实例,可以看出两个方法中的区别
*/
package gao;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
...
分类:
编程语言 时间:
2014-06-21 20:41:05
阅读次数:
348