File tree Expand file tree Collapse file tree 3 files changed +4
-1
lines changed Expand file tree Collapse file tree 3 files changed +4
-1
lines changed Original file line number Diff line number Diff line change
1
+ # Android 博客汇总:
2
+
1
3
[ ] : http://gityuan.com/2019/01/13/arraymap/ "gityuan"
2
4
Original file line number Diff line number Diff line change @@ -72,7 +72,7 @@ Java虚拟机规范规定该区域可抛出StackOverFlowError和OutOfMemoryError
72
72
73
73
## Java 堆
74
74
75
- Java堆,是Java虚拟机管理的最大的一块内存,也是GC的主战场,里面存放的是几乎所有的对象实例和数组数据。JIT编译器有栈上分配、标量替换等优化技术的实现导致部分对象实例数据不存在Java堆,而是栈内存。
75
+ ** Java堆,是Java虚拟机管理的最大的一块内存,也是GC的主战场** ,里面存放的是几乎所有的对象实例和数组数据。JIT编译器有栈上分配、标量替换等优化技术的实现导致部分对象实例数据不存在Java堆,而是栈内存。
76
76
77
77
- 从内存回收角度,Java堆被分为新生代和老年代;这样划分的好处是为了更快的回收内存;
78
78
- 从内存分配角度,Java堆可以划分出线程私有的分配缓冲区(Thread Local Allocation Buffer,TLAB);这样划分的好处是为了更快的分配内存;
Original file line number Diff line number Diff line change
1
+ Java和C++的一个不同点是, 在Java中不可能直接操作对象本身,所有的对象都由一个引用指向,必须通过这个引用才能访问对象本身,包括获取成员变量的值,改变对象的成员变量,调用对象的方法等。而在C++中存在引用,对象和指针三个东西,这三个东西都可以访问对象。其实,Java中的引用和C++中的指针在概念上是相似的,他们都是存放的对象在内存中的地址值,只是在Java中,引用丧失了部分灵活性,比如Java中的引用不能像C++中的指针那样进行加减运算。
You can’t perform that action at this time.
0 commit comments