
Java
文章平均质量分 57
长乐村长
这个作者很懒,什么都没留下…
展开
-
String中的字符串拼接问题
String的+操作是一种语法糖,其本质是创建了临时的StringBuild对象进行append操作,然后toString()赋给原来的String引用,因此大量字符串拼接不要直接用String,应该使用StringBuild或StringBuffer,其中StringBuild不考虑线程同步,效率更高,StringBuffer考虑线程安全,效率略低于StringBuild。原创 2017-09-20 10:51:55 · 7000 阅读 · 1 评论 -
Java内存管理
Java内存回收主要关注Java堆,为了内存管理的方便,一般将Java堆分为新生代、老年代。新生代的特点是大部分对象“朝生夕死”存活率低,适合使用复制算法。老年代中的对象存活率高,选用标记整理算法。Java堆也不是越大越好,Java堆越大,GC的频繁降低,但是单次GC的耗时大大增加,影响用户体验。原创 2017-09-20 14:11:24 · 238 阅读 · 0 评论 -
Java虚拟机类加载机制
Java虚拟机类加载机制的介绍,特别是双亲委派模型的理解,最后分析了自定义类加载器和其使用场景。原创 2017-09-20 17:01:24 · 388 阅读 · 0 评论 -
Thread类相关问题
Thread类相关问题,介绍了start()方法与run()方法的联系与区别,synchronized关键字的用法与实现原理,实例锁与全局锁的区别,线程等待wait()与线程唤醒notify(),Thread与Runnable的关系等内容原创 2017-11-25 12:02:23 · 230 阅读 · 0 评论 -
Android开发中常见内存泄漏问题
内存泄漏主要分为以下几种类型:1.静态变量(包括但不限于单例)引起的内存泄漏。注意静态变量持有对象的生命周期。2.非静态内部类引起的内存泄漏。静态内部类,弱引用访问。3.匿名内部类引起的内存泄漏。静态内部类,弱引用访问。4.资源未关闭引起的内存泄漏。退出前关闭资源。原创 2017-09-20 17:36:47 · 352 阅读 · 0 评论 -
Android打印工具类
Android打印调试类,使用的时候将Log换成LogTools即可,其他地方不变;例如Log.i("Test", "Hello world!"),换成LogTools.i("Test", "Hello world!"),会打印"Hello world",并且附带该打印处所在的类、方法、行号等信息。当需要整个APK全局跟踪打印时,将LogTools中的tag换成,定义的静态属性DEBUG_TAG原创 2017-07-27 11:46:10 · 285 阅读 · 0 评论