千家信息网

谈谈对java的理解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1、java一次编译,到处执行----跨平台2、gc3、jre和jdk 区别:jre(java runtime environment)java运行环境,包含jvm的client,类库(rt.jar:
千家信息网最后更新 2026年11月01日谈谈对java的理解

1、java一次编译,到处执行----跨平台

2、gc

3、jre和jdk 区别:

jre(java runtime environment)java运行环境,包含jvm的client,类库(rt.jar:常用的集合、io、math、lang等都在rt.jar包内)

jdk(java development kit)java开发工具,包含jre(含jvm的client和server)及编译器(javac)、诊断工具(jconsole.exe等)

4、java基础类库:(java开头)

java.lang(exception/string/stringbuffer/Integer等封装类/math/annotion)

java.util(concurrent/regex正则表达式/collection/日期date calendar)

参考 https://blog.csdn.net/basycia/article/details/50769838

5、java常用第三方类库:(javax开头)

javax.swing、javax.naming

6、cas原理

java.util.concurrent包下的类都使用的是cas原理实现并发,例如 automicInteger、concurrentHashMap

主存A,线程缓存数据B,更新值C,只有当B=A时,才会将 C赋值给A。

7、并发特性,可用syn、lock方式实现

原子性

有序性:jvm执行java代码时在保证不影响运行结果情况下会进行指令重排,有序性是避免指令重排。

内存可见

8、volatile关键字

可保证内存可见:线程A修改后立即将数据写入主内存。

有序性:修饰的关键字不被指令重排。保证在执行关键字相关操作时,之前的代码已经执行,之后的代码还未执行,但不能保证关键字之前和之后代码的顺序性。

不能保证原子性。

volatile一个典型的应用场景是 单例模式

class Singleton{    private volatile static Singleton instance = null;     private Singleton() {     }     public static Singleton getInstance() {        if(instance==null) {            synchronized (Singleton.class) {                if(instance==null)                    instance = new Singleton();            }        }        return instance;    }}

为什么单例模式需要使用volatile修饰?

主要在于instance = new Singleton()这句,这并非是一个原子操作,事实上在 JVM 中这句话大概做了下面 3 件事情:

1.给 instance 分配内存

2.调用 Singleton 的构造函数来初始化成员变量

3.将instance对象指向分配的内存空间(执行完这步 instance 就为非 null 了)。

但是在 JVM 的即时编译器中存在指令重排序的优化。也就是说上面的第二步和第三步的顺序是不能保证的,最终的执行顺序可能是 1-2-3 也可能是 1-3-2。如果是后者,则在 3 执行完毕、2 未执行之前,被线程二抢占了,这时 instance 已经是非 null 了(但却没有初始化),所以线程二会直接返回 instance,然后使用,然后顺理成章地报错。

参考:

你真的了解volatile关键字吗?

深入浅出CAS




保证 关键 关键字 内存 代码 指令 线程 有序 原子 有序性 顺序 编译 原理 工具 常用 开头 数据 模式 编译器 分配 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 科技制造互联网公司 奇酷互联网科技 南京欣网互联网科技 互联网科技创新企业排名 恒生科技互联网指数分析 济南和联互联网科技有限公司 天速互联网络科技有限公司 须眉科技是互联网公司吗 浙江互联网科技研学营 深圳育鹏互联网科技有限公司招聘 国大互联网教育科技有限公司工作 高科技互联网发展前景如何 伊宁互联网科技做什么的 美国互联网科技实力 风投北京互联网科技 云南互联网科技学费 互联网科技创新创业项目 宁波允成互联网科技有限公司 中国主要互联网科技公司 深圳市人人互联网科技有限公司 互联网科技公司的优势 朗新科技与工业互联网 互联网科技未来 乌鲁木齐新华智原互联网科技学校 高科技互联网发展前景如何 用友工业互联网科技发展 国大互联网教育科技有限公司薪资 城市宝互联网科技有限公司 唯美互联网科技
0