随笔分类 - Java
摘要:输出 A [id=1, b=B [name=null]] 输出 A [id=1, b=null]
阅读全文
摘要:Why are only final variables accessible in anonymous class? java thread accessing outer object before it's created 输出:
阅读全文
摘要:为了防止内存泄露,一旦threadlocal完成任务,最好调用remove() 详见:ThreadLocal explained
阅读全文
摘要:一般栈溢出在无限递归下出现,下面的程序在创建对象时出现栈溢出: 不应该是outofmemory吗?栈里只有a这个reference,其引用的对象,以及对象里的a引用的对象都在堆里分配内存? 猜想(毫不负责): 应该是执行new A()时,调用构造函数,而构造函数初始化a需要调用构造函数,函数调用函数
阅读全文
摘要:1. 如果n为2的幂,则 2. mod运算规则: 结合律 ((a+b) mod p + c)mod p = (a + (b+c) mod p) mod p ((a*b) mod p * c)mod p = (a * (b*c) mod p) mod p 交换律 (a + b) mod p = (b+
阅读全文
摘要:The only times finally won't be called are: 以上来自:Does finally always execute in Java? 另见Sun Tutorials中的note: Note: If the JVM exits while the try or c
阅读全文
摘要:转自:String.valueOf 今天在排查问题的时候发现String.valueOf 的一个有意思的问题: 第一种情况: 第二种情况: 第一种情况会报空指针异常,第二种情况不会报异常,只是得到一个null 。 上网查了一下,原因如下:String.valueOf方法有好几个重载方法,但是由于nu
阅读全文
摘要:当加载一个类完成后,会在内存中实例化一个java.lang.Class类的对象,也就是该类的类对象。但是并没有明确规定必须在java堆中存放该类对象,对于HotSpot虚拟机而言,类对象存放在方法区里,但是新版本HotSpot也许会存放在java堆中。 请见《深入理解java虚拟机》类加载的过程
阅读全文
摘要:分配过程: 对象不在堆上分配的情况有两种:TLAB和栈上分配。 之所以在TLAB(Thread Local Allocation Buffer)上分配是因为TLAB是线程私有的,没有锁开销,在Eden上分配需要加锁。 Sun Hotspot JVM为了提升对象内存分配的效率,对于所创建的线程都会分配
阅读全文
摘要:转自:What is the difference between “text” and new String(“text”)? new String("text"); explicitly creates a new and referentially distinct instance of a
阅读全文
摘要:-Xmx 最大堆 -Xms 最小堆 -Xss 栈大小 -Xmn 新生代(年轻代)大小 -XX:SurvivorRatio Eden与Survivor的比例 -XX:PermSize 永久代(方法区)初始大小 -XX:MaxPermSize 永久代(方法区)最大容量 -XX:MaxDirectMemo
阅读全文
摘要:查看时区: 查看当前时间也正常: 但是java写入是就少14小时。这是因为:在解析成预编译语句的时候,误将CST(China Standard Time utc+8)解析成CST(Central Standard Tim UTC-6),美国中部标准时间,所以少14个小时。 两种解决办法: 1. 命令
阅读全文
摘要:先看例子: 程序输出: show_2 和show_3方法其实是完完全全等效的。意思就是说ClassName<T>中一旦T被指定为Fruit后那么show_1没有前缀<T> 的话,该方法中只能是show_1 (Fruit对象) 要是有前缀<T>或<E>的话,那么就是告诉编译器:这是新指定的一个类型,跟
阅读全文
摘要:内部类访问外部类的一个例子: 执行Cde的main方法,输出为“cde”。 说明Abc.this代表的是运行时对象,而不是Cde父类Abc的对象。
阅读全文
摘要:转自:Java中泛型是类型擦除的 Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就是说所有泛型参数类型在编译后都会被清除掉,看下面一个列子,代码如下: 代码很简单,看起来没什么问题,但是编译器却报出如
阅读全文
摘要:转自:Java泛型中extends和super的区别? 另,问题来源:Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? <? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概
阅读全文
摘要:转自:Java float保留两位小数或多位小数 方法1:用Math.round计算,这里返回的数字格式的. float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.round(
阅读全文
摘要:首先需要下载插件:"Help" --> "Market Place" --> Search for java 8 kepler. install Java 8 support eclipse kepler sr2, Java 8 Facets for web tools eclipse kepler
阅读全文
摘要:转自:JUnit中按照顺序执行测试方式 很多情况下,写了一堆的test case,希望某一些test case必须在某个test case之后执行。比如,测试某一个Dao代码,希望添加的case在最前面,然后是修改或者查询,最后才是删除,以前的做法把所有的方法都集中到某一个方法去执行,一个个罗列好,
阅读全文

浙公网安备 33010602011771号