
Java高级
文章平均质量分 91
IT_GJW
杭州电子科技大学,计算机专业,硕士在读
展开
-
JVM类加载器
概述 从上一篇博文中,我们知道,在类加载过程中的第一个阶段“加载”阶段需要完成的一个动作是:通过一个类的全限定名来获取定义此类的二进制字节流,而完成这个动作的代码模块便是“类加载器”。类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足Java Applet的需求而开发出来的,虽然现在Java Applet技术已经销声匿迹,但是类加载器却在类层...原创 2018-06-08 20:07:02 · 250 阅读 · 0 评论 -
JVM字节码执行引擎
概述 执行引擎是Java虚拟机最核心的组成部分之一,“虚拟机”是一个相对于“物理机”的概念,这两种机器都具有执行代码的能力。其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集和执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。 在Java虚拟机规范中制定了虚拟机字节码执行...原创 2018-06-16 21:08:50 · 3141 阅读 · 4 评论 -
JVM内存垃圾收集
概述 垃圾收集(Garbage Collection)简称GC,这项技术最早诞生于1960年MIT的Lisp语言,Lisp是真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的三件事: 哪些内存需要回收? 什么时候回收? 如何回收? 经过半个多世纪的发展,GC技术已经相当成熟。我们熟悉的Java也是使用内存动态分配和垃圾收集技术的语言,Java的内...原创 2018-05-18 20:56:25 · 317 阅读 · 1 评论 -
Java内存区域
Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范(Java SE7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示。 程序计数器 它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这...原创 2018-05-18 21:04:03 · 193 阅读 · 0 评论 -
详解Synchronized关键字
synchronized是Java语言提供的同步控制关键字,下面我们看看它的具体用法 synchronized的三种应用方式 synchronized关键字最主要有以下3种应用方式 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 修饰代码块,指定加锁对象,对给定对象加锁,进入...原创 2018-08-14 11:16:20 · 296 阅读 · 0 评论 -
RabbitMQ教程
一.安装 RabbitMQ使用Erlang语言编写,运行时需要依赖Erlang语言环境,安装RrabbitMQ前需要先安装Erlang,且两者的版本要配套。 Windows系统上安装成功后,只需在开始菜单点击RabbitMQ Service -start便可以启动RabbitMQ服务,RabbitMQ提供了web页面对其服务进行可视化管理,要使用web界面需要在RabbitMQ的安装目录下执行...原创 2019-09-01 18:24:42 · 746 阅读 · 0 评论