摘要:
1.概述 在 Java 虚拟机规范中制定了虚拟机字节码执行引擎的概念模型。在不同的虚拟机实现里面,执行引擎在执行 Java 代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也可能两者兼备,甚至还可能会包含几个不同级别的编译器执行引擎。但从外观上看起来 阅读全文
摘要:
一 概述 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化。最终形成可以被虚拟机直接使用的java类型的过程就是虚拟机的类加载机制 二 类加载的时机 类从被加载到虚拟机内存到卸出内存为止,整个生命周期如下图所示: 加载,验证,准备,初始化和卸载这5个阶段的顺序是确定 阅读全文
摘要:
1.Visualvm兼容范围与插件安装 Visualvm基于NetBeans平台开发工具,具备通过插件扩展功能的能力。有了插件扩展功能,Visualvm可以做到: 显示虚拟机进程以及进程的的配置,环境信息(jps,jinfo) 监视应用存储的处理器,垃圾收集,堆,方法区以及线程的信息(jstat,j 阅读全文
摘要:
1.JConsole简介 Jconsole(Java Monitoring and Management Console)是一款基于JMX(Java Management Extensions)的可视化监视,管理工具。它的主要功能是通过JMX的MBean(ManagedBean)对系统进行信息收集和 阅读全文
摘要:
1.JHSDB简介 JHSDB是一款基于服务性代理实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射Java虚拟机运行信息的,主要基于Java语言实现的API集合。 2.JHSDB启动 2.1 启动示例代码 package com.ryj.hotspot; import java. 阅读全文
摘要:
在JDK的bin目录中,有多种小工具,用来支持调试,监控,编译和运行等功能。 root@root:/usr/lib/jvm/java-8-openjdk-amd64/bin# ls appletviewer hsdb jarsigner javadoc java-rmi.cgi jdb jinfo 阅读全文
摘要:
1.哪些内存需要回收? Java内存运行时区域的各个部分,其中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不絮执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性。当方法结 阅读全文
摘要:
1.java程序执行过程 java源代码文件被java编译器编译为字节码(CLASS)文件,然后由JVM中的类加载器加载字节码文件,加载完毕之后,交由JVM执行引擎执行。执行期间,JVM会用一段空间来存储执行期间需要用到的数据和相关信息,这段空间被称为Runtime Data Area(运行时数据区 阅读全文
摘要:
传统的文件拷贝 传统的读取文件数据并发送到网络的步骤如下: (1)操作系统将数据从磁盘文件中读取到内核空间的页面缓存; (2)应用程序将数据从内核空间读入用户空间缓冲区; (3)应用程序将读到数据写回内核空间并放入socket缓冲区; (4)操作系统将数据从socket缓冲区复制到网卡接口,此时数据 阅读全文
摘要:
producer以及consumer如何知道该去哪个broker传送以及消费数据 producer可以指定一个或者多个broker的信息(ip:port),来获取kafka集群的元信息(最好多指定几个,否则这个broker连接不上了,就over了)。每个broker,topic有多少partitio 阅读全文