
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、常量入栈指令分为const,push,ldc。const系列,常量包含在指令本身里,push指令主要包括 bipush(8位),sipush(16位)。比如 bipush 50ldc接收 8位参数(指向常量池中int,float,string的索引),ldc_w接收16位参数。ldw2_w接收的参数指向常量池long,double类型索引。二、局部变量压栈xload(i...
对象内存分配,大方向是分配在新生代的Eden区,如果启动了本地线程分配缓冲,就分配在TLAB上,少数时候直接分配在老年代中,分配规则与虚拟机选择的内存参数和垃圾收集器有关。在jdk 1.8的环境下:虚拟机参数:-Xms20M-Xmx20M-Xmn10M-XX:+PrintGCDetails-XX:SurvivorRatio=8public static int _1mb=1024*
HSDB是jvm自带的工具用来查看运行期内存中的分布状态。首先跑起来一个进程,打上端点。示例源码:public class Person {int a=5;public static void main(String[] args) {Person p=new Person();p.test();}public v...
在jvm内部,最精华部分就是执行引擎和GC。执行引擎有字节码解释器,模板解释器以及JIT即时编译器。物理机器执行指令的流程是:取指(操作码+操作数构成),取指入寄存器译码执行 (取操作数+运算)取下一条指令jvm没有空转机制,所以一旦处理完自身的初始化逻辑,就会进入Java程序,执行字节码指令。...
在jdk 1.6以后编译的类,除了字节码指令以外,还多了一些栈映射桢(stack map frames),用来提高虚拟机校验字节码的速度的。stack map frames反映了字节码执行过程中,栈帧的变化。stack map frames中有一种特殊类型Uninitialized(label),它先分配内存,但是不初始化,它只有初始化方法可以被调用。一旦被初始化,则发生在这个类型上的所有事件..
一个代理实现ClassFileTransformer接口用于改变运行时的字节码(class File),这个改变发生在jvm加载这个类之前。对所有的类加载器有效。class File这个术语定义于虚拟机规范3.1,指的是字节码的byte数组,而不是文件系统中的class文件。接口中只有一个方法:byte[]transform(ClassLoaderloader...
是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性,被看作是云原生时代实时消息流传输、存储和计算最佳解决方案。...
Servlet容器是tomcat的核心组件,所有基于jsp/servlet的Java web应用均需要依托servlet容器运行并对外提供服务。tomcat本质上是一款servlet容器,因此Catalina是tomcat的核心,其它模块均为catalina提供支持。DigesterCatalina使用digester解析xml配置文件,并创建应用服务器。...
首先使用Anaconda创建一个 3.5的环境然后使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tf-nightly-gpu 安装gpu版本,版本号是tf_nightly_gpu-1.14.1.dev20190525,上面这种安装方式可以避免包冲突。保证 显卡驱动版本不低于425,然后安装cuda 10.0,不能是10.1...