Java相关
ZhangAnmy
读书与旅行
展开
-
JVM GC日志分析
之前一篇博客对GC日志做了简单分析,主要偏重算法的说明,这次作为补充说明,偏重一点GC日志的分析说明及查看GC日志工具的使用,工具有多种,找到自己使用较顺手的一种即可。GC(Garbage Collection),即垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。垃圾回收算法见博客:https://blog.csdn.net/m0_37568814/a...原创 2019-03-19 19:44:02 · 2286 阅读 · 1 评论 -
JVM规范中初始化类的5种情况(有且仅有)及示例解析
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载 7个阶段。其中验证、准备、解析3个部分统称为连接。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班的开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。...原创 2018-09-30 11:10:13 · 832 阅读 · 2 评论 -
Java类加载ClassLoader--双亲委托模型
Java类与类加载器类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。比较两个类是否“相等”,只有这两个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个类来源于同一个Class文件,被同一个虚拟机加载,只要加载它...原创 2018-09-29 21:40:36 · 3402 阅读 · 0 评论 -
JVM运行时数据区域
JVM运行时数据区域1、程序计数器:是一块较小的内存空间,可看作是当前线程所执行的字节码的行号指示器。由于JVM的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(多核处理器是一个内核)都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类...原创 2018-09-27 20:56:06 · 314 阅读 · 0 评论 -
JVM垃圾收集器及GC日志相关
了解JVM的垃圾收集器对于性能分析和调优很有帮助,一般系统挂死或出现性能问题,通过分析GC日志,往往可以为我们提供有用的线索。一、前言 安全点 什么是安全点?A point during program execution at which all GC roots are known and all heap object contents are consistent. Fr...原创 2018-09-24 16:18:40 · 1552 阅读 · 0 评论 -
重写(OverWrite)和重载(OverLoad)及各发生在哪个时期(编译期or运行期)
重写(OverWrite):重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛...原创 2018-09-23 12:05:08 · 9291 阅读 · 2 评论 -
2018中国电信IT研发中心Java后端开发工程师(上海)一面总结
先是做了网上的笔试,之后宣讲会做线下笔试的过程中收到了进面试的通知。之后还是回去继续把线下笔试做完了。笔试感觉都还不错,都是基础的内容。面试所有问题也都回答的很好,面试官也肯定了。但是结果凉了。整理一下相关问题,给大家一个参考,算是给自己攒人品吧。大家伙加油!笔试内容都是基础,数据结构,计网,操作系统,编程题也不难,最后一题涉及到深度优先遍历,也是常用的遍历方法。相关题目涉及的知识点大致如下:...原创 2018-09-13 12:38:36 · 7699 阅读 · 13 评论 -
Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)
近期做牛客网的Java开发笔试题,发现这类型的题目较多,很容易混淆,特将相关概念和相关示例整理如下,供大家参考^_^1. 静态代码块在类加载时即运行,而且只运行一次,并且优先于各种代码块以及构造函数运行。如果一个类中有多个静态代码块,会按照书写顺序依次执行。静态代码块不能访问普通变量(普通变量只能通过对象来调用)。2. 构造代码块在创建对象时被调用,每次创建对象都会调用一次,但是优先于构造...原创 2018-09-12 15:33:05 · 3167 阅读 · 1 评论 -
Java面试相关知识点总结
根据Java程序员面试宝典、网上相关技术博客以及自己相关笔记做的整理,其他部分还在陆续整理,后续会发出。希望对大家有帮助。祝大家都能拿到心仪的Offer,加油^_^^_^ Java面向对象三大特征--继承、封装、多态 面向对象基本概念:对象是同类事物的一种抽象表现形式,而实例是对象的具体化,一个对象可以实例化很多实例,对象就是一个模型,实例是照着这个模型生产的最终产品。不需要实例...原创 2018-09-06 16:40:21 · 375 阅读 · 0 评论