3 十步杀一人_千里不留行

尚未进行身份认证

当你还不能写出自己满意的程序时,你就不要去睡觉。

等级
TA的排名 1k+

JVM虚拟机-Class文件之类索引、父类索引和接口索引集合

一、概述前面介绍了class文件,包括魔数、次版本号、主版本号、常量池和访问标志.接下来的就是用于确定这个类的继承关系的类索引(this_class)、父类索引(super_class)与接口索引集合(interfaces)这三项。类索引、父类索引和接口索引集合都按顺序排列在访问标志之后,类索引用于确定这个类的全限定名,父类索引用于确定这个类的父类的全限定名。由于Java语言不允许多继...

2020-04-08 17:05:09

JVM虚拟机-Class文件之访问标志

一、访问标志的概念常量池结束之后,紧接着的两个字节代表访问标志,这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是接口还是类;是否被定义为public类型;是否定义为abstract类型;如果是类的话,是否被声明为final等。access_flages中共有两个字节(16位)可以使用,没有使用到的标志为要求一律为0。如果有多个访问标志,那通过“OR”的方式组合在一起。...

2020-04-08 16:22:41

JVM虚拟机-Class文件之常量池

一、常量池的作用在class文件中的魔数、副版本号、主版本之后,紧接着就是常量池的数据区域了,如下图用红线包括的位置:常量池可以比喻为Class文件里的资源仓库,它是Class 文件结构中与其他项目关联最多的数据,通常也是占用Class文件空间最大的数据项目之一,另外,它还是在Class文件中第一个出现的表类型数据项目。二、常量池的结构常量池的结构比较简单,前面的两个字节叫做常...

2020-04-08 15:38:27

JVM虚拟机-Class文件之魔数

一、魔数之定义魔数这个词在不同领域代表不同的含义。在计算机领域,魔数有两个含义,一指用来判断文件类型的魔数;二指程序代码中的魔数,也称魔法值。大多数情况下,我们都是通过扩展名来识别一个文件的类型的,比如我们看到一个.txt类型的文件我们就知道他是一个纯文本文件。但是,扩展名是可以修改的,当一个文件的扩展名被修改过,怎么识别一个文件的类型呢?这就用到了我们提到的“魔数”。 所谓魔数和魔字符...

2020-04-08 11:11:00

JVM虚拟机-Class文件简介

参考资料:https://blog.csdn.net/IT_GJW/article/details/80447947

2020-04-08 09:39:35

Java虚拟机-常用工具

一、命令行工具1. jpsJVM Process Status Tool,显示虚拟机进程。这个命令的使用频率很高,当服务器上运行大量Java项目的时候,系统管理员会通过该命令来查看对应的进程是否启动。用法:jps [-q] [-mlvV]参数说明-q:打印进程号 -l:打印启动类的全限定名 -m:打印启动类的 main 方法入参 -v:打印指定的虚拟机参数 -V:打印类...

2020-04-03 15:52:27

Java虚拟机-逃逸分析(Escape Analysis)和栈上分配

我们都知道Java中的对象默认都是分配到堆上,在调用栈中,只保存了对象的指针。当对象不再使用后,需要依靠GC来遍历引用树并回收内存。如果堆中对象数量太多,回收对象还有整理内存,都会会带来时间上的消耗,GC表示压力很大,然后影响性能。所以,在我们日常开发中,内存,时间都是相当的宝贵,该如何优化堆栈开销,是一个比较重要的问题。逃逸分析(Escape Analysis)和栈上分配是对JVM进行优化的...

2020-04-03 11:23:11

Java虚拟机-内存分配策略

优先分配到eden大对象直接分配到老年代长期存活的对象分配到老年代空间分配担保动态对象年龄判断逃逸分析与栈上分配

2020-04-02 11:51:25

Java虚拟机-垃圾回收器

一、如何查看垃圾回收器查看JVM的默认垃圾回收器,可以看出JDK8中UseParallelGC即Parallel Scavenge+Serial Oldjava -XX:+PrintCommandLineFlags -version-XX:InitialHeapSize=266359616 -XX:MaxHeapSize=4261753856 -XX:+PrintCommandLi...

2020-04-01 11:36:24

Java虚拟机-垃圾回收简介

一、如何判定对象为垃圾对象引用计数法可达性分析法二、如何回收回收策略标记-清除算法 复制算法 标记-整理算法 分代收集算法垃圾回收器Serial parnew Cms G1...

2020-04-01 09:44:01

JDK源码(21)-Unsafe

接下来再看一个JDK中比较特殊的类Unsafe。一、概述Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。Unsafe类,全限定名是sun.misc.Unsafe,从名字中我们可以看出来这个类对普通程序员来说是“危险”的,一般应用开发者不会用到这个...

2020-03-27 16:06:22

在Java中如何从一个多层嵌套循环中直接跳出?

一、问题描述最近发现一个有趣的问题,在Java中如何从一个多层嵌套循环中退出呢?例如下面,有两层循环,break只能退出第一个for循环,不能直接跳出第二个for循环外面。 public static void main(String[] args) { for (Type type : types) { for (Type t : ty...

2020-03-13 16:32:28

【实战】Spring生成beanName冲突的解决之道:附源码分析

一、问题描述最近公司项目打算模块化,其实一个原因也是为了能够整合公司多个业务的代码,比如一个资源xxx,两个业务中都有对这个资源的管理,虽然是一个资源,但是是完全不同的定义、完全不同的表、不同的处理逻辑。所以打算把类名弄成一样的,但是包名不一样。但这样会产生问题,按照Spring的默认beanName生成规则,会直接将类名首字母小写作为bean的名字,如两个模块里的这个资源都叫xxxJob...

2020-03-11 09:28:06

使用easyexcel导出时行高不自动调整的解决

easyexcel在使用模板填充的方式时,有些文字比较长,需要设置自动换行显示,文档中并没有在此处说明如何设置,翻到前面的写excel中有设置自定义样式的方式,照着搬过来即可: // 内容的策略 WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); // ...

2020-02-22 18:49:39

使用IDEA回退SVN到某个历史版本

记录一下,不完美解决方案。目前只能做到回退到某个版本,但不能提交代码,一更新又会把SVN服务器上的最新代码又拉下来了。1.在项目上右键,选择更新到某个版本2.点文件夹选择你要回退的版本,按ok3.回退后是无法提交的,所以需要比较新老版本的差异,我是本办法,手动进行比对,把新代码改成了老代码,然后再提交即可。我也很无奈,反正文件不多,我就操作了一下,原谅我吧。望大神指点,...

2020-02-14 23:05:48

大屏监控系统实战(16)-项目拾遗

一、概述项目已经算是完结了,但还有一些待优化的地方,我新开一帖,准备慢慢补充一下。二、问题列表及解决方案1.页面样式页面显示的问题,可调整的地方比较多,随着数据的变化,目前页面上已经有几处显示的不完美了,如下图:可以从截图中看出,小毛病还是不少的,这都需要进行样式的微调,自适应不是很好用。1.下面内容显示不全的问题因为大屏最终要全屏显示,所以在非全屏的情况下,下面是...

2020-02-07 12:52:55

远程办公(2)-重新定义“雇佣关系”:交易成果,而不是时间

虽然我们是脑力劳动者,但在目前的管理模式下,其实我们跟体力劳动者并没有什么本质上的区别,我们出卖自己的时间来工作挣钱,公司购买我们的时间,按照他的工作标准和指令进行执行。这是典型的工业化思维,你搬一天砖,我付给你应得的报酬。它更多的是一种管控,不需要员工太多思考,你只要按照标准把活干好就行了。而思考,是管理者的事情。所以,它的决策与执行是分离的。这就是工业时代的管理模式,如果管理者得当,也能保...

2020-02-03 17:34:22

疫情中该如何保证高效远程办公(1)-员工到底是在家办公,还是在家躺着??

疫情危机下,在家办公、远程办公成为热门话题。这次的事件影响着每一个人,往年这个时间早已经进入火热的第一季度冲刺中,今年大部分人还都困在家里,不管是企业主还是每一位员工,内心都是焦虑和煎熬的,虽然程度和出发点有所不同,但可能没有哪一个时期大家像现在这样渴望见到彼此、正常上班。明天(2020/02/03)假期就正式结束了,目前据我了解到的情况,很多公司都已经通知员工进行远程办公,像北京、上海、...

2020-02-02 18:01:17

大屏监控系统实战(15)-打包上线及总结

专栏写到这,代码部分已经完成了,其实是个小小的项目,代码量也不大,但实现了我们想要的目标,那么我们还需要将这个大屏的项目部署到服务器上,我们要做就把完整的流程都做一遍。一、打包方式的技术选型项目是前后端分离开发的,我们在开发阶段是前后端项目分别启动的,现在要上线,有这么几种方案可供选择:服务器上也前后端分别部署 将前端打包后的静态资源拷贝到服务器的nginx上,后端项目单独部署 使...

2020-01-25 19:19:20

大屏监控系统实战(14)-24小时得票数量统计曲线制作

一、概述这一章节我们来制作《24小时得票数量统计曲线》,这个跟10分钟投票的增量类似,不过他显示的是每个博主的总得票数,时间范围我设置为24小时,取每个小时博主的总得票数,通过这个监控,可以看到博主中长期的得票走势。10分钟增量统计的是瞬时峰值,而24小时得票数则反映出一种趋势,他的应用场景很多,比如统计店铺一个月每天的营业额,一年每个月的营业额,类似于这样的场景,大家都可以选择这种折线图来实...

2020-01-25 17:29:47

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主
  • 博客之星-前十名
    博客之星-前十名
    授予每年博客之星评选结果第4-10名的用户