MENU

分类 Java 下的文章

Java中String Pool的理解

前言

最近由于公司内部用的多数是Java,所以进来再啃一些Java相关的知识啦。

总结

String Pool即是字符串常量池,保存着所有字符串字面量,字面量在编译期已确定。当然还可以使用String的intern()方法在运行过程中将字符串添加到String Pool中。
何为字符串字面量?

# 通过下面方式创建的字符串即为字面量
String str = "aaa";

阅读全文

JVM垃圾回收机制

Java回收对象判定

  • 引用计数算法(Reference Counting)
    • 原理:给对象中添加一个引用计数器,当某一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。
    • 缺点:难解决对象之间相互循环引用的问题。造成内存泄漏问题。
      20197

阅读全文

Java关于String、StringBuffer、StringBuilder区别

  • 都是final类,都不允许被继承
  • String类长度是不可变的,StringBuffer和StringBuilder类长度是可以改变的
  • StringBuffer类是线程安全的,StringBuilder不是线程安全的
  • String的不可变因素,因此它是线程安全的,而StringBuffer内部采用synchronized 进行同步,因此它也是线程安全的。

阅读全文

Java中transient关键字那些事

transient关键字在需要实现Serilizable接口中,将不需要序列化的属性前添加关键字transient,序列化对象时候,该属性不会被序列化到指定的目的地中。

阅读全文