摘要: 常用的创建数组的方式 String的length()和数组的length 数组的length是其对象头中的一个字段,可以看成是数组的独特的属性,String内部持有一个char[],String的length()其实就是该char[]的length。 可变参数 jdk5引入了许多语法糖,其中就有可变 阅读全文
posted @ 2017-09-12 22:10 holoyong 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 实例化一个Son对象,会发现输出 也就是说Parent的构造函数中,this.name的this为Parent,this.fun()的this为Son,这是为什么呢?其实Parent中的this始终都是Son,但由于字段的取值取决于实例的静态类型,而不是向invokevirtual那样取决于实际类型 阅读全文
posted @ 2017-09-12 15:34 holoyong 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 来看jdk6中String的substring jdk6中substring确实新创建了一个String对象,但问题在于该对象的char[] value字段仍然是旧String对象的(新瓶装旧酒),设想如果就string很长,新string很短,这就造成了内存泄漏。 一种解决方法 再来看jdk7的s 阅读全文
posted @ 2017-09-12 10:08 holoyong 阅读(525) 评论(0) 推荐(0) 编辑