共 7 篇文章 |
|
final String str1=”ja”; final String str2=”va”; String str3=str1+str2; 在编译时,直接替换成了String str3=”ja”+”va”,根据第三条规则,再次替换成String str3=”JAVA”将中间两行调换位置以后,因为在进行字面量赋值(String str1 = “str01″)的时候,常量池中不存在,所以str1指向的常量池中的位置,而str2指向的是堆中的对象... 阅24 转0 评0 公众公开 18-06-15 10:27 |
Java中的Reference对象[译]介绍。你可能会想,如果出现了循环引用该怎么办:对象A包含了一个指向对象B的引用,对象B也包含了一个指向对象A的引用。还有一点需要注意的是,并不是所有的对象都和上面列举的引用对象有关联,实际上仅仅只有一小部分对象会用到这些引用对象。当你将一些对象写入到ObjectOutputStream中,它就会维护一个强引用到这个... 阅665 转1 评0 公众公开 18-06-15 10:11 |
Phantom references allow the application to learn when an object is no longer used, so that the application can clean up the object''''''''s non-memory resources.Database connections are one of the most precious resources in any application: they take time to establish, and database ser... 阅251 转0 评0 公众公开 18-06-12 16:36 |
Void与void.public finalclass Void { /** * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ @SuppressWarnings("unchecked") public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");/* * The Void class cannot ... 阅30 转0 评0 公众公开 17-12-01 10:14 |
为什么JDK源码中无限循环大多使用for(;;)而不是while(true)? 阅52 转0 评0 公众公开 17-11-18 17:49 |
这是由于Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(),add()等,所以... 阅412 转0 评0 公众公开 17-11-03 09:57 |
阅168 转0 评0 公众公开 17-09-28 17:57 |