![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 78
记录Java学习笔记
Guanam_
风生雨起无人问,奈何花落却天晴。
展开
-
设计模式-单例模式
但是,如果单例占用的内存比较大,或 单例只是在某个特定场景下才会用到,使用饿汉模式就不合适了,这时候就需要用到懒汉模式进行 延迟加载。如果线程 1 先执行了赋值,线程 2 执行到第一个 INSTANCE == null 时发现 INSTANCE 已经不为 null,此时就会返回一个未完全构造的对象(未初始化完毕的单例)。适用于:如果某个单例使用的次数少,并且创建单例消耗的资源较多,那么就需要实现单例的按需 创建,这个时候使用懒汉模式就是一个不错的选择。为何必须加 volatile:禁用指令重排。原创 2023-05-08 14:21:15 · 61 阅读 · 0 评论 -
Java String解析
JVM首先在字符串常量池中查找有没有"aaa"这个字符串对象,如果有,则不在池中再去创建"aaa"这个对象了,直接在堆中创建一个"aaa"字符串对象,然后将堆中的这个"aaa"对象的地址返回赋给引用str1,这样,str1就指向了堆中创建的这个"aaa"字符串对象;如果没有,则首先在字符串常量池池中创建一个"aaa"字符串对象,然后再在堆中创建一个"aaa"字符串对象,然后将堆中这个"aaa"字符串对象的地址返回赋给str1引用,这样,str1指向了堆中创建的这个"aaa"字符串对象。原创 2023-05-07 19:07:25 · 138 阅读 · 0 评论