Java学习
文章平均质量分 78
王家二少
知行合一!
展开
-
Scanner中next*(), next(), nextLine()混用的问题
背景 本人最近在做华为机试练习题时,由于其输入用例为多行数据,因此混用了Scanner的next*()、next()、nextLine()。在使用过程中,发现了混用的一些问题,特此记录并分享。三者的区别 Scanner内部拥有一个缓冲区,并且存在一个指针p指向下一个将要读取的元素,每调用一次next()、next*()、nextLine(),指针p都将会向前移动特定的距离。原创 2016-07-22 20:58:03 · 1976 阅读 · 0 评论 -
浅谈JAVA垃圾回收机制及其回收时机
众所周知,Java与C++相比有一个明显的不同就是:Java拥有自动垃圾回收机制,而C++的垃圾回收则完全由程序员自己手动完成,这不仅对程序员本身素质有一定的要求,还提高了内存泄漏的风险。 以下内容参考《深入理解Java虚拟机》一书,经过自己理解整理而来,欲知完整全面的内容,请参看原著。如何判断一个对象已经“死亡” 首先,我们需要知道JVM如何判断一个对象已经“死亡”原创 2016-06-01 00:09:46 · 6027 阅读 · 1 评论 -
Java中创建单例模式的五种方法及线程安全
背景 单例模式在日常工程项目中应用十分广泛,但是如果没有考虑线程安全的问题,可能会在多线程环境下产生错误的结果,生成多个实例。公共类 以下两个类,是本次实验中用到的两个公共类,SingletonFactory用于创建各种单例对象,SingletonTest用于测试各种单例模式的线程安全性。public interface SingletonFactory { pu原创 2016-09-04 17:46:53 · 916 阅读 · 0 评论