一、架构简述 RocketMQ阿里开源的一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性, 万亿级容量和灵活的可伸缩性。跟其它中间件相比,RocketMQ的特点是纯JAVA实现,在发生宕机和其它故障时消息丢失率更低。 它由四个部分组成:nameserver,broker,生产者和消费者。它 ...
分类:
其他好文 时间:
2020-06-21 15:31:30
阅读次数:
60
如果异常没有被捕获该线程将会停止执行。Thread.UncaughtExceptionHandler 是用于处理未捕获异常造成线程突然中断情况的一个内嵌接口。当一个未捕获异 常将造成线程中断的时候 JVM 会使用 Thread.getUncaughtExceptionHandler() 来查询线程的 ...
分类:
编程语言 时间:
2020-06-21 14:10:27
阅读次数:
70
前言 关于JVM系列面试知识点总结了一个思维导图,分享给大家 1、java中会存在内存泄漏吗,请简单描述。 会。自己实现堆载的数据结构时有可能会出现内存泄露。 2、64 位 JVM 中,int 的长度是多数? Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说, ...
分类:
其他好文 时间:
2020-06-21 13:41:29
阅读次数:
81
[root@localhost ~]# docker pull elasticsearch:7.8.0 安装elasticsearch:7.8.0[root@localhost ~]# docker pull kibana:7.8.0 安装安装elasticsearch:7.8.0版本对应的可视化工 ...
分类:
系统相关 时间:
2020-06-21 13:29:25
阅读次数:
170
什么是JDK JDK (Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。JRE ...
分类:
系统相关 时间:
2020-06-21 12:17:54
阅读次数:
121
类加载器 当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 一、类加载过程 1.加载 加载指的是将类的class文件读入到内存,并为之创建一个ja ...
分类:
其他好文 时间:
2020-06-21 11:54:19
阅读次数:
62
第一章 异常 1.1 异常概念 异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过,不会 ...
分类:
编程语言 时间:
2020-06-21 00:11:27
阅读次数:
60
运行时数据区域 1、程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里(它仅是概念模型,各种虚拟机可能会通过一些高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线 ...
分类:
编程语言 时间:
2020-06-21 00:07:24
阅读次数:
65
前言 ZGC是一款在JDK11中新加入的具有实验性质的低延迟垃圾收集器,目前仅支持Linux/x86-64。ZGC收集器是一款基于Region内存布局的,(暂时)不设分代的,使用了读屏障、染色指针和内存多重映射等技术来实现可并发的标记-整理算法的,以低延迟为首要目标的一款垃圾收集器。 ZGC布局 与 ...
分类:
其他好文 时间:
2020-06-20 21:50:39
阅读次数:
92
首先博主先说一下JDK、JRE、JVM的区别和联系。我们正常运行程序的话只需安装JRE就行啦,如果要编译运行Java程序就得需要JKD下的bin目录下的编译工具。 JDK -- java development kit JDK安装目录里真正在运行java时起作用的 是以下四个文件夹:bin、incl ...
分类:
编程语言 时间:
2020-06-20 21:31:12
阅读次数:
69