自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 JVM高级特性与实践(十一):方法调用 与 字节码解释执行引擎(实例解析)

方法调用不等于方法执行,它唯一的任务就是确定被调用方法的版本,即具体调用哪一个方法,暂时不涉及方法内部的运行过程。在程序运行时,进行方法调用是最普遍、最频繁的操作,在讲解Class文件编译过程时,已经表明此过程不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址(相当于“直接引用”)。此特性给Java带来了

2017-07-27 16:06:39 270

转载 JVM高级特性与实践(十):虚拟机字节码执行引擎(栈帧结构)

执行引擎是虚拟机最核心的组成部分之一。在讲解执行引擎之前,再来思考一下“虚拟机”的概念,它是一个相对于“物理机”的概念,两者都有代码执行能力,区别是物理机的执行引擎时直接建立在处理器、硬件、指令集和操作系统上,而虚拟机则是由自己实现,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。本章内容将从主要概念模型的角度讲解虚拟机的方法调用和字节

2017-07-27 14:02:39 352

转载 JVM高级特性与实践(九):类加载器 与 双亲委派模式(自定义类加载器源码探究ClassLoader)

虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码块被称为“类加载器”。类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足 Java Applet 的需求而开发出来的,但类加载器却在类层次划分、OSGi、热部署、代码

2017-07-27 11:04:36 350

转载 JVM高级特性与实践(八):虚拟机的类加载机制

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制与那些在编译时需要进行连接工作的语言不同,在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,此策略虽会令类加载时稍增加性能开销,但为Java程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动

2017-07-26 18:39:19 291

转载 JVM高级特性与实践(七):九大类字节码指令集(实例探究 )

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)已经跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)构成。由于Java虚拟机采用面向操作数栈而并非寄存器的架构,所以大多数的指令都不包含操作数,只有一个操作码。此篇博文将介绍九大类字节码指令集,并给出代码测试,对比字节码序列来加深指令学习,大致知识点如下:字

2017-07-26 14:34:32 373

转载 JVM高级特性与实践(六):Class类文件的结构(访问标志,索引、字段表、方法表、属性表集合)

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编译发展的一大步。上篇博文中学习讲解了Class类文件结构的有关知识点,关于数据项方面介绍了常量池,此篇文章将介绍完余下的数据项部分,大致知识点如下:访问标志类索引、父类索引与接口索引集合字段表集合属性表集合各数据项的定义、作用、结构组成及实例讲解JVM高级特性与实践(一):Java内存区域 与 内存溢

2017-07-26 13:44:40 573

转载 JVM高级特性与实践(五):实例探究Class类文件 及 常量池

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编译发展的一大步。在上计算机启蒙课时,老师曾跟我们讲过:“计算机只认识0 和 1,所以我们写的程序需要经编译器翻译成由0 和 1构成的二进制格式才能由计算机执行”。随着计算机发展至今,它仍然只能识别 0 和 1,但由于虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机

2017-07-26 10:31:17 363

转载 JVM高级特性与实践(四):内存分配 与 回收策略

Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:分配内存给对象、回收分配给对象的内存。关于第二点的回收内存,在之前的博文中已经讲解过虚拟机中的垃圾收集体系以及运作原理,而此篇文章就来探讨学习有关分配内存给对象,相关知识点如下:对象内存分配、回收解析Minor GC 与 Full GC概念五大策略解析策略应用到代码实践原理解析JVM高级特性与实

2017-07-25 17:03:25 351

转载 JVM高级特性与实践(三):垃圾收集算法 与 垃圾收集器实现

内存回收与垃圾收集器在很多时候都是影响系统性能、并发能力的主要因素之一此篇博文将详细探讨垃圾收集算法和七大垃圾收集器实现,大致知识点如下:4种垃圾收集算法概念的学习各个算法之间的优缺点、原理运作过程Java堆内存结构7种垃圾收集器特征的学习各个垃圾收集器的原理、运作过程、使用场景、优缺点JVM高级特性与实践(一):Java内存区域 与 内存溢出异常 JVM高级特性与

2017-07-25 13:53:24 293

原创 MongoDB和Redis区别

简介MongoDB更类似MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。mysql在大数据量时效率显著下降,mongodb更多时候作为关系数据库的一种替代。内存管理机制Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据。MongoDB数据存在内存,由Linux系统mmap

2017-07-22 16:59:41 406

转载 JVM高级特性与实践(二):对象存活判定算法(引用) 与 回收

关于垃圾回收器GC(Garbage Collection),多数人意味它是Java语言的伴生产物。事实上,GC的历史远比Java悠远,于1960年诞生在MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp尚在胚胎时期,开发人员就在思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?如何回收?目前GC早已解决了以上问题,内存的动态分配与内存回收机制已经

2017-07-20 10:00:38 265

转载 JVM高级特性与实践(一):Java内存区域 与 内存溢出异常

套用《围城》中的一句话,“墙外面的人想进去,墙里面的人想出来”,用此来形容Java与C++之间这堵内存动态分配和垃圾收集技术所围成的“围墙”就再合适不过了。对于从事C、C++的开发人员而言,在内存管理领域,他们具有绝对的“权利”——拥有每个对象的控制权,并担负着每个对象生命周期的维护责任。而对于Java开发人员而言,在虚拟机自动内存管理机制的帮助下,无需为每一个创建new操作去配对 del

2017-07-17 10:19:51 335

转载 缓存和内存的区别

许多人认为,“缓存”是内存的一部分 许多技术文章都是这样教授的 但是还是有很多人不知道缓存在什么地方,缓存是做什么用的 其实,缓存是CPU的一部分,它存在于CPU中 CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大 缓存是为了解决CPU速度和内存速度的速度差异

2017-07-05 10:03:47 418

原创 同一个接口中,线程混乱解决办法

在接口方法中加同步关键字@Transactional    public synchronized void attendanceFace(String workerUuid, String type){        Date date = new Date();        Worker worker = workerService.getWorkerByUuid(worke

2017-07-04 09:36:02 467

转载 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件

现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记。先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册。框架:springmvc+spring+mybatis+shiro+zookeeper+dubbo项目分三层,model存放数据,view页面展示、controller下面具体逻辑实现。通过dubbo消费

2017-07-03 10:01:25 4112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除