
JavaGC机制详解
1 概述 在 Java中,对象实例都是在堆上创建。 方法区,又叫静态成员区,所有的 1 类(class),2 静态变量(static变量),3 静态方法,4 常量,5 成员方法都存储在方法区 方法区和栈区,被所有线程共享,是不安全的 GC机...
1 概述 在 Java中,对象实例都是在堆上创建。 方法区,又叫静态成员区,所有的 1 类(class),2 静态变量(static变量),3 静态方法,4 常量,5 成员方法都存储在方法区 方法区和栈区,被所有线程共享,是不安全的 GC机...
垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结–根据GC原理来优化代码 ...
Java堆内存溢出的问题 引言 堆内存工作原理 移除永久代? 分代是什么? 为什么分代? 为什么Survivor分为两块相等大小的幸存空间? jvm堆内存常用参数 垃圾回收算法 垃圾收集器 串行收集器 并行收集器 CMS收集器 G1收集器 ...
一文让你彻底搞懂AQS(通俗易懂的AQS) 一、什么是AQS AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如Reentra...
1、ThreadLocal 使用原理 前文我们讲过ThreadLocal的主要用途是实现线程间变量的隔离,表面上他们使用的是同一个ThreadLocal, 但是实际上使用的值value却...
目录 一、ThreadLocal简介 二、ThreadLocal与Synchronized的区别 三、ThreadLocal的简单使用 四、ThreadLocal的原理 4.1 Thr...
当Java源代码中包含中文字符时,我们在用javac编译时会出现“错误:编码GBK的不可映射字符”。 由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从...
学习java程序过程中碰到了文件名与类名不一致问题,出现了报错,后面查了一下资料才知道为什么文件名与类名要一致 Java是被解释执行的。它在运行时并不是将所有的class文件全都放到内存中。而是在遇到import的时候才去相应的文件目录找相...
一.下载JDK安装包并安装 JDK下载链接 二.JDK环境变量配置 1.右击我的电脑->属性->高级系统设置->环境变量 2.在系统变量区域新建一个JAVA_HOME,变量值为上一步JDK安装目录 3.编辑PATH变量,新...
1、JAVA的跨平台原理 JVA源码被编译会生成字节码文件,通过不同平台上下载的不同版本的jvm,将字节码文件翻译成对应的机器码。注意的是,跨平台的Java程序,不是JVM。JVM是使用C/C++开发的,是编译后的字节码,不能跨平台。 2、...