前言 ? 本章节属于Java进阶系列,前面关于设计模式讲解完了,有兴趣的童鞋可以翻看之前的博文,后面会讲解JVM的优化,整个系列会完整的讲解整个java体系与生态相关的中间件知识。本次将对jvm有更深入的学习,我们不仅要让程序能跑起来,而且是可以跑的更快!可以分析解决在生产环境中所遇到的各种“棘手” ...
分类:
其他好文 时间:
2020-07-25 11:33:34
阅读次数:
103
刚在看虚拟机相关知识点 看到一段代码,大家猜测一下这段代码会触发子类初始化吗 public class SuperClass{ static{ system.out.println("SuperClass init."); } public static int value=1233; } publ ...
分类:
其他好文 时间:
2020-07-24 22:07:48
阅读次数:
74
https://docs.oracle.com/javase/specs/jvms/se8/html/ 介绍 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行 ...
分类:
其他好文 时间:
2020-07-24 18:58:53
阅读次数:
81
输入命令启动 docker run --name nacos -d -p 8848 :8848 --privileged=true --restart=always -e JVM_XMS=512m -e JVM_XMX=2048m -e MODE=standalone -e PREFER_HOST_ ...
分类:
其他好文 时间:
2020-07-24 15:47:51
阅读次数:
169
一、概念 JVM中,单例对象只有一个实例存在。 二、饿汉式实现 public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Si ...
分类:
其他好文 时间:
2020-07-24 09:45:07
阅读次数:
76
堆(heap)是一个巨大的对象池。在这个对象池中管理着数量巨大的对象实例。而池中对象的引用层次,有的是很深的。一个被频繁调用的接口,每秒生成对象的速度,也是非常可观的。对象之间的关系,形成了一张巨大的网。虽然 Java 一直在营造一种无限内存的氛围,但对象不能只增不减,所以需要垃圾回收。 那 JVM ...
分类:
其他好文 时间:
2020-07-23 23:27:13
阅读次数:
135
可重入锁 可重锁是指同一个线程,外层函数获取锁后,内层函数可以自动获取到锁。 java中synchronized和ReentrantLock都是可重入锁。 对于synchronized,其实现机制有jvm实现。 对于ReentrantLock,其继承自父类AQS,其父类AQS中维护了一个同步状态st ...
分类:
编程语言 时间:
2020-07-23 22:39:26
阅读次数:
64
Java运行时数据区: 主要分为线程共享部分和线程独占部分两个部分 线程共享部分: 所有线程都能访问的内存区域,随着虚拟机或者GC而创建和销毁,主要分为方法区和堆内存 方法区: JVM用来存储加载的类信息,常量,静态变量,编译后的代码等数据 方法区在java虚拟机规范中是一个逻辑区划,不同虚拟机的实 ...
分类:
编程语言 时间:
2020-07-23 22:25:11
阅读次数:
85
总所周知,枚举实现单例模式是最好的。 这样实现的好处为:每个枚举类型及其定义的枚举变量在JVM中都是唯一的 所以我们不用new 也不用加逻辑判断 就能得到唯一实例了。只要类的类型是enmu不是class 那么如何实现呢? 看教程 实现很简单,理解起来有 点难度,我们只需要知道 枚举类似于类变量那种, ...
分类:
其他好文 时间:
2020-07-23 16:31:01
阅读次数:
74
生命太短暂,不要去做一些根本没有人想要的东西。本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈、MyBatis、JVM、中间件等小而美的专栏供以免费学习。关注公众号【BAT的乌托邦】逐个击破,深入掌握,拒绝浅尝辄止。 前言 各位小伙伴大家好,我是A哥。 ...
分类:
Web程序 时间:
2020-07-23 16:15:11
阅读次数:
137