java · 第 6 页

软引用对象的使用

如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。这通常能够用在缓存删除的场景,让缓存对象实现软引用,那么在内存不够的时候,缓存对象就能被回收,释放内存。 案例1,不使用软引用 jvm参数设置:-Xms5M -Xmx5M -XX:+PrintG

强引用对象并非不会被回收

在《深入理解java虚拟机》第二版中第3章,有写到: 强引用就是指在程序代码之中普遍存在的,类似“Object obj = new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。《深入理解java虚拟机》 这段话很容易让人理解成, 类似“Object obj

JVM简单总结

jvm内存区域 [ ]() 1、程序计数器:每个线程都有自己的一个程序计数器,记录所执行的字节码的行号。 2、虚拟机栈:每个线程独有的,生命周期与线程相同。一个方法被执行的时候就会创建一个栈帧,方法的执行至结束对应着栈帧的入栈至出栈的过程。 3、本地方法栈: 与虚拟机栈作用类似,但它只为本地nati

根据JVM日志计算JVM参数

一、程序 ` public class Test5 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=

JVM日志分析之五

一、程序 ` public class Test5 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=

JVM日志分析之四

一、程序 ` public class Test4 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=

JVM日志分析之三

一、程序 ` public class Test3 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=

JVM日志分析之二

程序 ` public class Test2 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=ne

JVM日志分析之一

1、程序Test1 ` public class Test1 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) {

SpringBoot、security获取在线用户数量

session的活跃数量 SpringBoot项目中,session的活跃数量即是在线的用户数量。而session的管理器,就是org.apache.catalina.Manager接口,其抽象实现类ManagerBase具有基本的操作session的方法,其中就有获取session活跃数的方法—

整合SQLite+SpringBoot+JPA

简介 今天在对一个系统设计进行技术选型的时候,纠结于是否继续使用H2轻量级数据库。H2虽然是java编写的,也很适用于java编程的数据库,但是之前在使用时还是发现了一些坑,而且用的人并不算多。于是考虑到了另一个数据库——SQLite。 我想试着把springboot项目跟SQLite结合使用,最好

javaIO学习总结篇

简介 本文对javaIO的描述不涉及NIO,仅讲述IO的设计架构、设计思想、部分源码、常用的API及某些重要的细节等。 基础知识 回顾一下相关的基础知识,是很有必要的。 bit: 位。位是电子计算机中最小的数据单位。每一位的状态只能是0或1。比尔盖茨曾经说过,计算机世界都是由0和1组成的。计算机也