摘要: 前言 上一篇文章简单学习了Class文件的结构,这次看看虚拟机如何加载Class文件,并且在加载过后做什么额外的处理 Class文件的装载流程 Class文件的装载流程可以分为加载,连接和初始化 3 步,其中连接又分为验证,准备和解析 3 步,整体流程如下图 1. 类装载的条件 Class 文件只有 阅读全文
posted @ 2019-10-14 15:17 一秋复一秋 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 前言 对于Java虚拟机来说,Class文件是虚拟机的一个重要接口。无论使用何种语言开发,只要能将源文件编译成正确的Class文件,那么这种语言就可以在Java虚拟机上运行。 Class文件总体结构如下图所示 在Java虚拟机规范中,Class文件使用一种类似于C语言结构体的方式进行描述,并且统一使 阅读全文
posted @ 2019-10-11 14:41 一秋复一秋 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 锁是多线程开发的必要工具之一,它的基本作用就是保护临界区资源不被多个线程同时访问而受到破坏,通过锁可以让多个线程排队一个个进入临界区访问,使得目标状态保持一致且可以受到稳定的控制。 如何使用更高的效率处理多线程竞争,是Java虚拟机的一项使命,如果将所有竞争都直接交给操作系统处理,那么效率会十分低下 阅读全文
posted @ 2019-10-08 16:31 一秋复一秋 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 最近整合zipkin的时候遇到的问题,如果打开turbine监控时,每个turbine刷新周期内都会有rxjava的调用被zipkin捕获到 由于zipkin中的数据是通过Spring cloud sleuth上传的,查阅https://cloud.spring.io/spring-cloud-sl 阅读全文
posted @ 2019-09-25 11:04 一秋复一秋 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 前言 垃圾回收是Java体系最重要的组成部分之一,和C/C++不同,Java虚拟机提供了全自动的内存管理方案,尽量减少了我们在内存资源管理方面的工作量,但是这套方案也并不完美,因此我们也需要深入学习垃圾回收的算法,在工作中遇到内存溢出等问题时也容易更快找到问题所在 一、引用计数法 引用计数法是最古老 阅读全文
posted @ 2019-09-12 14:48 一秋复一秋 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 前言 一直没有完整的看完一本关于java虚拟机的书,最近工作量稍微小了一些,打算从头到尾学习一本关于java虚拟机的书。本想着看《深入理解java虚拟机》,考虑再三,由于这本书是基于jdk1.7,便放弃了这一本,最后选择了《实战java虚拟机——JVM故障诊断与性能优化》 一、Java虚拟机的基本结 阅读全文
posted @ 2019-09-04 16:31 一秋复一秋 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 迫于公司规定..一定要用jboss部署war包。众所周知,springboot本就是用来简化配置适合轻量级的容器的,然而.... 所以,结果就是今天部署admin的时候又出现了问题.. 明明都是正常的服务... 状态却显示都是Unknown 使用tomcat启动缺没有任何问题,都可以正常显示 查看j 阅读全文
posted @ 2019-08-15 11:57 一秋复一秋 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 前言 重构成微服务后,每个服务都需要部署很多个实例,在修改配置时不可能每个实例手动去修改,因此使用springboot-config。本想使用git,还是由于公司内部问题只能使用svn,记录下搭建配置中心的过程 创建SVN目录上传配置 这步骤就不细说...最终的目录为http://....../co 阅读全文
posted @ 2019-07-26 15:14 一秋复一秋 阅读(2540) 评论(1) 推荐(0) 编辑
摘要: 前言 由于公司的问题,重构后的微服务必须要部署在Jboss上, 版本为Jboss EAP 7.1,Springboot 2.1.3.RELEASE。部署时候遇到了一些问题,在这记录下来 一、修改Jboss根目录为应用访问目录 首先将jboos的默认欢迎页修改为空,否则会冲突,打开jboss-eap- 阅读全文
posted @ 2019-07-24 11:50 一秋复一秋 阅读(5286) 评论(0) 推荐(1) 编辑
摘要: 前言 多线程是Java面试中最喜欢问的问题之一,有一篇公众号推文内容很详细,推荐看看 但凡面试官考“多线程”,一定会问这10个问题! 本文中仅对synchronized关键字的加锁进行一定分析 一、标准情况访问 按照普通的情况访问同步方法,查看输出 执行结果: getIOS getAndroid 二 阅读全文
posted @ 2019-04-08 16:10 一秋复一秋 阅读(1065) 评论(0) 推荐(0) 编辑