python解释器运行原理 编译--> 提高运行速度 如果python进程在机器上有写入权限,那么会在当前目录生成一个.pyc后缀的文件. 下一次运行会检查源文件和字节文件的时间戳.如果都相同会直接跳过编译,直接运行 PVM python virtual machine 是系统的一个大循环, 不断地 ...
分类:
编程语言 时间:
2020-09-09 18:43:15
阅读次数:
41
虚拟机内存结构简图 PC寄存器作用 PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码,由执行引擎读取下一条指令。 简介 它是一块很小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域。 在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,声明周期与线程的声明周期保持一致 ...
分类:
其他好文 时间:
2020-09-07 18:47:45
阅读次数:
48
基础不牢,地动山摇。本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈、MyBatis、JVM、中间件等小而美的专栏供以免费学习。关注公众号【BAT的乌托邦】逐个击破,深入掌握,拒绝浅尝辄止。 ?前言 你好,我是YourBatman。 本号正在连载Jac ...
分类:
编程语言 时间:
2020-09-04 17:07:19
阅读次数:
41
1.前言从2020年JVM生态报告解读可以看出IntellijIDEA目前已经稳坐JavaIDE头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA的优良设计保证了我的生产力,也是我情愿为之付费的软件之一。今天把我自己经常用的一些插件拿出来分享一波。同时欢迎加入[微信圈子]程序员交流圈交流编程经验。2.IDEA插件分享之前我们来看看其插件体系。IntellijIDEA大部分功能是通过
分类:
其他好文 时间:
2020-09-04 16:58:33
阅读次数:
72
1.前言2020年JVM生态报告已经出炉。该报告由英国软件安全服务商Snyk联合Oracle官方刊物TheJavaMagazine联合推出。我们来看看JVM生态圈最新的情况以及发展的趋势,这对Java开发者至关重要。同时欢迎加入[微信圈子]程序员交流圈交流编程经验。2.OpenJDK的崛起随着Oracle修改其JDK上的许可协议,用户在选择JDK的问题上有了更多顾虑。尽管甲骨文JDK仍然占主导地位
分类:
其他好文 时间:
2020-09-04 16:57:50
阅读次数:
56
Java编译器输入的指令流基本是一种基于栈的指令集架构,除此还有一种是基于寄存器的指令集架构。两者区别如下: 基于栈式架构的特点: (1)设计和实现简单,适用于资源受限的系统 (2)避开了寄存器分配难题:使用零地址指令方式分配。 (3)指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集 ...
分类:
其他好文 时间:
2020-08-31 13:27:07
阅读次数:
67
1.Elasticsearch介绍和安装 用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。 而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。 面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一 ...
分类:
其他好文 时间:
2020-08-31 13:26:07
阅读次数:
63
JVM组成 从图上看到,大致分为以下组件: 类加载子系统 运行时数据区 执行引擎 本地方法库 本地库接口 本地库接口也就是用于调用本地方法的接口,这次就不多说,主要是上面的4个组件。 类加载子系统 类加载子系统的作用 类加载子系统负责从文件系统或网络中加载class文件,class文件在文件开头又特 ...
分类:
其他好文 时间:
2020-08-31 13:22:50
阅读次数:
46
阿里架构师讲解不一样的JVM——你真的了解JNI的运行机制吗
分类:
其他好文 时间:
2020-08-28 11:54:45
阅读次数:
37
内存模型 方法区(Method Area):方法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。当方法区无法满足内存分配需求时,将抛出OutOfMemoryError 异常。方法区里存放着类的版本,字段,方法,接口和常量池。常量池里存储着字 ...
分类:
其他好文 时间:
2020-08-27 17:11:42
阅读次数:
67