摘要: 引号创建的字符串存放在常量池中 String s1 = "hello world"; new创建的字符: String s2 = new String("hello world"); 首先会查看常量池中是否已存在该字符,存在: 则拷贝一份到堆中,然后返回堆的地址 不存在:在堆中创建 一份,然后返回 阅读全文
posted @ 2018-06-22 11:17 miss小张 阅读(206) 评论(0) 推荐(0) 编辑
摘要: String s1 ="hello" String s2="world"; String s3= s1+s2在堆中建立了几个对象? 3个 因为+运算符会在堆中建立两个对象。 阅读全文
posted @ 2018-06-22 11:06 miss小张 阅读(80) 评论(0) 推荐(0) 编辑
摘要: jvm加载类过程: 加载:加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定 非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动 阅读全文
posted @ 2018-06-22 10:46 miss小张 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 首先看源码 : 原因: 发现在生成异常时fillInStackTrace方法使用了synchronized记录栈信息,即以独占锁的形式操作,故非常耗时。 阅读全文
posted @ 2018-06-22 09:41 miss小张 阅读(494) 评论(0) 推荐(0) 编辑