- 浏览: 33477 次
- 性别:
最新评论
文章列表
转自:http://www.douban.com/note/211369821/
学习jdk源码时使用--
学习java最好的办法就是看jdk源代码,面对浩瀚的jdk(光源码就有40M多,比一个大型网站的源码都多)从何入手呢,要是能单步调试跟进到jdk源码里并且能查看其中的局部变量最好了。可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。废话少说,下面是编译jdk的具体步骤: 1.把C:\java\jdk1.6.0_10\src.zip解压到C:\java\jdk1.6.0_10\src 2.执行命令 dir ...
真正完成类的加载工作是通过调用 defineClass来实现的;
而启动类的加载过程是通过调用 loadClass来实现的;
就是类加载器分为加载和定义
protected Class<?> findClass(String name) throws ClassNotFoundException {
byte[] classData = getClassData(name);
if (classData == null) {
throw new ClassNotFoundExcept ...
在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.
解决办法是点击eclipse里的tomcat,在弹出的页面中找到“open launch configurations”,打开arguments叶签,在VM argument中的末尾添加-XX:PermSize=512M -XX:MaxPermSize=1024M,其中512为方法区大小,1024为最 ...