
JavaEE学习笔记
文章平均质量分 78
zhaoqinmuxue
人无我有,人有我不做
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java volatile经典死循环案例的真正原因
以下代码在执行过程中,子线程会陷入死循环,永远无法输出“子线程结束”大部分文章会说明,声明flag变量时使用volatile关键字,子线程就能正常退出。并且指出是因为主线程修改的flag无法被子线程看到,发生了内存可见性问题,而volatile可以解决这个问题。volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。原创 2025-05-22 20:50:59 · 904 阅读 · 0 评论 -
简单工厂模式、工厂方法模式、抽象工厂模式的区别
今天开始学习设计模式中的三种工厂模式,看了不少博客验证自己的想法,最后分享一下自己的理解。(以下无代码,建议结合其他博客的示例看)首先最重要的是理解这里“工厂”的含义。设计模式的“工厂”和笔者理解的日常生活中的“工厂”是有差异的(如果你理解中没有差异可以略过这一段)。为了区分,以下设计模式的“工厂”称“设工厂”,日常生活中的“工厂”称“日工厂“。笔者认为生活中自己生产产品和“日工厂”生产产品的...原创 2019-10-30 17:07:14 · 347 阅读 · 0 评论 -
URLEncoder.encode和getBytes的区别
在Web开发中遇到中文编码问题总是令人头疼,更可怕的是又遇到了似乎很相似似乎又不同,傻傻分不清的URLEncoder.encode和getbytes方法,我试图去解释清二者的区别。举栗,现在有一个中文词“中国”,我们分别用这两种方法进行解码,还原成一串数字。由于utf-8的汉字占三个字节,所以理论应该得到两个三字节的数字,共六个字节。一、getBytes()bytes[] name ...原创 2019-07-08 21:52:49 · 1475 阅读 · 2 评论