读书心得(1)-20191108

今天,百忙之中,学习提升自己,读了一本书《突破程序员基本功的16课》

做点小笔记:

熟悉掌握Java的内存回收,垃圾回收机制,才能提高Java程序的运行性能。

1. 内存管理的小技巧

(1)尽量使用直接量

  当需要使用字符串,还有Byte、Short、Integer、Long、Float、Double、Boolean、Character包装类的实例时,

程序不应该才用new 的方式来创建对象,应该直接采用直接量来创建它们。

  例如,程序需要 “hello” 字符串

  String str = "hello";

  这种方式会创建一个hello字符串,而且JVM的字符串缓存池还会缓存这个字符串。

但是如果是:  

扫描二维码关注公众号,回复: 7791939 查看本文章

  String str = new String ("hello");

  此时同样创建了一个缓存在字符串缓存池中的 hello 字符串,除此之外,str 所引用的String 对象底层包含了一个

char[] 数组,这个数据里面的依次存放了 h e l l o 的字符串。

2.尽量使用 StringBuilder 和 StringBuffer 进行字符串连接,避开直接使用String

  String、StringBuilder、StringBuffer都可以进行字符串连接,其中 String 代表字符序列不可变的字符串,而StringBuilder 和 StringBuffer

都代表字符序列可变的字符串。

  如果程序使用多个String 对象进行字符串连接预算,在运行时将生成大量临时字符串,这些会保存在内存中从而导致性能下降。

3.尽量少用静态变量

4.避免在经常调用的方法,循环中创建对象

  例如 for 循环里面 new Object(),原因都知道,没new 对象就会分配内存空间。

5.缓存经常使用的对象

  缓存框架,

  使用HashMap缓存

猜你喜欢

转载自www.cnblogs.com/tuanz/p/11823792.html