- 博客(4)
- 收藏
- 关注
原创 JDKJRE JVM
JDK:提供了编译、运行Java程序所需要的各种工具和资源,包括Java编译器,Java 运行时环境(JRE),以及常用的Java类库; JRE:包含JVM,还包含了运行Java程序的其他环境支持。 JVM:是运行Java程序的核心虚拟机 ...
2019-08-23 20:44:16 105
翻译 java内存模型
缓存不一致问题: 如果大家学过汇编就知道,我们所写的程序,会被编译成机器指令,然后由CPU逐条执行,但是,执行程序所需的数据却是在物理磁盘上,这就会出现一个问题,CPU的执行速度很快,但是CPU进行磁盘I/O时却很慢,为解决这个问题,操作系统引入了高速缓冲区,执行指令时,将所需的数据从磁盘拷贝到高速缓冲区,运算结束后,再将数据写回磁盘。 执行Java程序也是如此。 举个简单的例子: i++或者 i...
2019-08-23 17:58:07 119
转载 i++是不是原子操作
你不知道的i++和++i 可能我们对i++或者++i的用法已经烂熟于心,但是有次去浦发面试,面试官问,i++是不是原子操作,当是问懵了,回来恶补一下; 问这个问题,面试官是想考察你对内存的理解。 首先,之所以要讨论是不是原子操作,因为如果是原子操作的话,在多线程操作时,就不用为了保护这个操作而加上昂贵又耗费性能的锁。在单核操作系统中,能够在一个指令完成的操作称为原子操作。 ...
2019-08-23 16:05:16 156
转载 Java内存泄漏
Java不是内存自动回收吗,怎么还会出现内存泄漏? 下面我们详细探讨下Java的GC机制: 一:Jvm是如何判断一个对象是否应该被回收呢? 这里有两种方式,引用计数法和引用可达分析法 1、引用计数法: 每一个对象,都有一个引用计数属性,当这个对象被引用一次,这个计数属性就加一,引用释放时,计数属性减一,当这个引用属性值为零时,就回收这个对象。 但是,这里有一个问题,那就是对象循环引用的问题,假如,...
2019-08-23 15:36:45 88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人