摘要: (1)Serial垃圾收集器(单线程、复制算法) 使用一个CPU和一条线程去完成垃圾收集工作。收集期间其他线程暂停。当前,一般运行在clint端。 (2)ParNew垃圾收集器(Serial + 多线程) Serial收集器的多线程版本。也使用复制算法。收集期间其他线程暂停。 默认开启与CPU一样多 阅读全文
posted @ 2020-08-18 15:32 182 阅读(77) 评论(0) 推荐(0)
摘要: (一) 强引用 Java强引用最常见,就是把一个对象赋给一个引用变量,这个引用变量就是强引用,但一个对象被强引用时,它处于可达状态,不会被垃圾回收装置回收,因此强引用是造成内存泄漏的主要原因之一。 String s=new String("ABC"); (2)软引用 软引用需要SoftReferen 阅读全文
posted @ 2020-08-18 14:35 182 阅读(207) 评论(0) 推荐(0)
摘要: 1 如何确定垃圾 (1)引用计数法:一个对象没有任何有关联的引用,则这个对象就是可回收对象。 (2)可达性分析:为了解决引用计数法的循环引用问题,GC roots和对象之间没有可达路径,则该对象是不可达的。经过两次标记如果都是可回收对象,则进行回收。 2 垃圾回收算法 (1)标记清除算法:分为标记和 阅读全文
posted @ 2020-08-18 14:10 182 阅读(85) 评论(0) 推荐(0)
摘要: 一 运行时内存 (1)Eden区:新生对象出生地。Java虚拟机使用新生代中的Eden区和其中的一块from/to区。在经过一次Minor GC之后,把Eden区中和survivor中还存活的对象一次性复制到另一块survivor空间上,最后清理掉刚才用过的survivor区和Eden区。这些存活下 阅读全文
posted @ 2020-08-17 17:03 182 阅读(81) 评论(0) 推荐(0)
摘要: 一 内存区域分类 内存区域可分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区【Java堆、方法区】、直接内存。 线程私有数据区域生命周期与线程相同,依赖线程的创建于结束。线程共享区域随虚拟机的启动/关闭而创建/销毁。 直接内存并不是JVM运行时数据区的一部分,使用基于Channel和 阅读全文
posted @ 2020-08-17 16:02 182 阅读(98) 评论(0) 推荐(0)
摘要: 1 字节码指令集 虚拟机的指令由一个字节长度的、代表某种操作含义的操作码以及跟随的多个操作数所组成。但有时也不包含操作数。 2 JVM组成部分yinxin 一般由四部分组成,包括类加载器,执行引擎,内存区,本地方法调用。 3 JVM运行过程 Java源文件->(编译)->.class文件->JVM解 阅读全文
posted @ 2020-08-17 12:00 182 阅读(73) 评论(0) 推荐(0)
摘要: 1 建表 create database stubase; use stubase; create table Student(Sid varchar(10), Sname varchar(10), Sage datetime ,Ssex varchar(10))engine=InnoDB defa 阅读全文
posted @ 2020-08-17 09:57 182 阅读(98) 评论(0) 推荐(0)
摘要: 1 建立存储过程 create database gas; use gas; create table sensor( id int(11) not null auto_increment, name int(11) not null, year2017 int(6), year2018 int(6 阅读全文
posted @ 2020-08-14 17:21 182 阅读(354) 评论(0) 推荐(0)