简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
类加载器 把类加载阶段中的"通过一个类的全限定名来获取描述此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的代码模块称为类加载器。自定义类加载器 现在有个需求在项目中我们需要加载一个特定目录下的class文件【c:\tools\myClassLoader】,这时我们需要自己来定义特定的类加载器
属性表 在前面的内容中属性表(attribute_info)已经出现多多次了,在Class文件、字段表、方法表中都可以携带自己的属性集合,用于描述某些场景专有的信息 与class文件中其他的数据项目要求严格的顺序、长度和内容不同,属性表集合的限制稍微宽松些,不在要求各个属性表具有严格顺序,并且只要不与已有属性名称重复,任何人实现的编译器都可以向属性表中写入自己的属性信息,java虚拟机会...
在前面的文章介绍了对象在虚拟机中的创建过程。本文主要是介绍下对象在虚拟机中的内存布局分配情况。JVM的内存对象介绍[创建和访问]对象的内存布局 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头,实例数据和对齐填充。对象头...
最近打算整理下Java面试中频率比较高,相对比较难的一些面试题,感兴趣的小伙伴可以关注下。Volatile关键字 volatile是Java虚拟机提供的轻量级的同步机制.何为轻量级呢,这要相对于synchronized来说。Volatile有如下三个特点。volatile保证可见性不支持原子性禁止指令重排序 要搞清楚上面列举的名词可见性 原子性 指令重排的含义我们需要首先弄清楚JM...
通过前面的介绍我们清楚了JVM中对象是如何判断存活及垃圾回收算法。那么垃圾回收的算法到底是怎么实现的呢?因为HotSpot虚拟机在对对象回收的时候对执行的效率要求是非常严格的,只有这样才能保证虚拟机的高效运行。垃圾收集算法枚举根节点 我们知道可达性分析算法是需要GC Roots对象的,而GR Roots对象的组成是这四种。序号类型1虚拟机栈(本地变量表)中引用的...
本文记录下微服务设计的四个原则微服务的设计原则AKF原则 业界对于可扩展的系统架构设计有一个朴素的理念,就是:通过加机器就可以解决容量和可用性问题。(如果一台不行那就两台)。(世界上没有什么事是一顿烧烤不能解决的。如果有,那就两顿。) 这一理念在“云计算”概念疯狂流行的今天,得到了广泛的认可!对于一个规模迅速增长的系统而言,容量和性能问题当然是首当其冲的。但是随着时间的向前,...
本文我们来介绍下MyCat的安装和相关的配置文件的介绍一、安装MyCat1.安装准备环境1.1 安装JDK 因为mycat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的。1.2 放开相关端口 在主从节点上都放开对端口3306的访问,或者直接关闭防火墙。# 临时关闭service iptables stopservice iptable...
垃圾收集器 前面介绍的收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的是JDK1.7 Update14之后的HotSpot虚拟机。该虚拟机包含的收集器如下:注意:到现在为止还没有一个完美的收集器,通过比较我们可以在具体的应用中选择最合适的收集器,这个是我们的目的。Serial Serial是最基本的,发展历史最悠久的收集器。单线程,垃圾收集的时候必须暂停所...
直接与非直接缓冲区 字节缓冲区跟其他缓冲区类型最明显的不同在于,它们可以成为通道所执行的 I/O 的源头和/或目标。其实发现通道只接收ByteBuffer作为参数这个将Channel的时候会发现。类型优点缺点直接缓冲区在虚拟机内存外,开辟的内存,IO操作直接进行,没有再次复制创建和销毁开销大非直接缓冲区在虚拟机内存中创建,易回收但占用虚拟机内存开销,处理中...
字节码助记符指令含义0x00nopNone0x01aconst_null将null推送至栈顶0x02iconst_m1将int型-1推送至栈顶0x03iconst_0将int型0推送至栈顶0x04iconst_1将int型1推送至栈顶0x05iconst_2将int型2推送至栈顶0x06iconst_3将int型...