整体架构 强引用 强引用是默认支持,当内存不足的时候,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会回收对象。 强引用是最常见的普通对象引用,只要还有强引用指向对象,对象就存活,垃圾回收器不会处理存活对象。一般把一个对象赋给一个引用变量,这个引用变量就是强引用。当一个对象被强引用变量 ...
分类:
其他好文 时间:
2020-06-01 14:06:08
阅读次数:
70
一.堆和栈 1.栈 栈的空间相对较小,由系统进行空间的分配和回收工作。栈的读取效率较高 2.堆 堆的空间相对较大,就像一个大仓库。由垃圾回收器(GC)进行空间回收工作。堆的访问效率相对较低。 二.数据类型 总的可以分为两大类: 基本类型和引用类型 基本类型包括: 整数型 Long :64位的整型数据 ...
分类:
编程语言 时间:
2020-05-29 23:37:19
阅读次数:
129
1.java内存模型注:JAVA中的堆栈和内存模型:,1.1内存模型:Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的(三个特性详解见10.)a.Java内存模型将内存分为了主内存和工作内存b.Java内存模型规定所有的变量都存储在主内存中,每个线程有自己的工作内存c.主内存主要包括:堆和方法区,主内存是所有线程共享的d.工作内存主要包括:该线程私有的栈和对主内存部分变量
分类:
编程语言 时间:
2020-05-16 09:22:36
阅读次数:
70
GC垃圾收集算法 堆空间 分代: 年轻代: Eden区: 对象创建的区域: gc最频繁,99%的对象都是在这里创建和销毁的,经过一次youngGC,Eden区基本就空了 Survival区: from: 经过一次youngGC,Eden和to区还存活的对象放入from区, from和to区角色互换 ...
分类:
编程语言 时间:
2020-05-14 19:39:29
阅读次数:
73
(本文中的全部观点,仅代表个人观点)主线程、用户线程、守护线程的区分:主线程:一个进程只有一个主线程(Main),其他都是子线程。(重点:个人认为主线程也是用户线程!!!)用户线程:非守护线程(这个解释有点......废话)守护线程:与系统,程序共存亡的线程就是守护线程。最常见的就是GC垃圾回收器。... ...
分类:
编程语言 时间:
2020-05-14 15:46:12
阅读次数:
65
直通BAT之JVM系列 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 常见的垃圾收集器有3类: ...
分类:
其他好文 时间:
2020-05-07 13:15:58
阅读次数:
69
Java内存分配?寄存器:程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码。?静态域:static定义的静态成员。?常量池:编译时被确定并保存在.class文件中的(final)常量值和一些文本修饰的符号引用(类和接口的全限定名,字段的名称和描述符,方法和名称和描述符)。?非RAM存储:硬盘等永久存储空间。?堆内存:new创建的对象和数组,由Java虚拟机自动垃圾回收器管理,存取速
分类:
其他好文 时间:
2020-04-29 14:26:04
阅读次数:
65
Java内存分配?寄存器:程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码。?静态域:static定义的静态成员。?常量池:编译时被确定并保存在.class文件中的(final)常量值和一些文本修饰的符号引用(类和接口的全限定名,字段的名称和描述符,方法和名称和描述符)。?非RAM存储:硬盘等永久存储空间。?堆内存:new创建的对象和数组,由Java虚拟机自动垃圾回收器管理,存取速
分类:
其他好文 时间:
2020-04-26 20:59:44
阅读次数:
77
一、ThreadLocal是什么? 一个类对象类型,提供属线程本地变量,也就是同一个变量对不同线程保存了不同的值,但是和线程自身定义的自属变量不同。 通常以私有静态类型定义,用以保存特定线程特定状态属性。 线程存活期间保持对ThreadLocal的弱引用,线程结束后,则变量会被垃圾回收器回收。 二、 ...
分类:
其他好文 时间:
2020-04-19 00:34:53
阅读次数:
69
一、什么是线程池 创建和销毁对象是非常耗费时间的 创建对象:需要分配内存等资源 销毁对象:虽然不需要程序员操心,但是垃圾回收器会在后台一直跟踪并销毁 对于经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:创建好多个线程,放入线程池中,使用时直接获取引用,不使用时放回池 ...
分类:
编程语言 时间:
2020-04-17 17:22:03
阅读次数:
79