`
chriszeng87
  • 浏览: 717313 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM知识点题目

阅读更多

JVM是Java程序的运行环境,因此对于JVM的掌握有助于理解Java程序的执行以及编写,尤其是运行时碰到的一些诡异问题,那么怎么样能考察自己对于JVM关键知识点的掌握情况,帮助学习JVM机制呢,在这篇blog中来探讨下。

对于Java程序而言,JVM的关键机制有:字节码的加载、方法的执行、对象内存的分配和回收、线程和锁机制,这几个机制涉及到的jvm的知识点远没有写这几个字这么简单,里面的复杂度还是非常高的。

字节码的加载
JVM通过ClassLoader来完成字节码的动态加载,这里面涉及到的主要是ClassLoader的双亲委派、ClassLoader的编写方法、Class是否被加载的唯一标识以及Class的加载过程。
在考察的时候我觉得可以以这么两道简单的题来考察:
1、写一段将目录中指定的.class文件加载到JVM的程序,并通过Class对象获取到完整类名等信息;
2、一段展示代码,里面包含一个全局静态整型变量,问如果用两个ClassLoader加载此对象,执行这个整型变量++操作后结果会是怎么样的?

方法的执行
JVM有自己的一套指令系统,字节码中即已经是指令了,需要大概掌握了JVM对static、interface、instance、构造器采用的不同的执行方法,另外就是JVM中反射的实现(可以以Sun JDK来举例)、动态代理的实现,最后相关的就是JVM执行字节码的方式(解释、JIT、Hotspot),以及什么时候触发编译成机器码,如何控制。
在考察的时候我觉得可以以这么三道题来考察:
1、A a=new A();a.execute();和IA a=new A();a.execute();执行有什么不同;
2、反射的性能低的原因是?
3、编写一段程序,动态的创建一个接口的实现,并加载到JVM中执行;(可以允许用BCEL等工具)

对象内存的分配和回收
这块涉及的知识点也是比较的多,例如JVM内存区域的划分、自然类型和引用类型的内存分配的不同、TLAB、GC的算法、Sun JDK对于GC的实现、GC触发的时机、GC的跟踪和分析的方法。
在考察的时候我觉得可以以这么三道题来考察:
1、经典的String比较程序题:
   String a="a";
   String b="b";
   String ab="ab";
   (a+b)==ab;  ??  (引深题,如何才能让(a+b)==ab)
   ("a"+"b")==ab; ?? 
2、写一段程序,让其OutOfMemory,或频繁执行Minor GC,但又不触发Full GC,又或频繁执行Full GC,但不执行minor GC,而且不OutOfMemory,甚至可以是控制几次Minor GC后发生一次Full GC;
3、详细讲解GC的实现,例如minor GC的时候导致是怎么回收对象内存的,Full GC的时候是怎么回收对象内存的。

线程和锁机制
这块涉及的知识点仍然是非常的多,例如线程中变量的操作机制、线程调度机制、线程的状态以及控制方法、线程的跟踪和分析方法、同步关键字、lock/unlock的原理等。
在考察的时候我觉得可以以这么几道题考察下:
1、i++的执行过程;
2、一个线程需要等待另外一个线程将某变量置为true才继续执行,如何编写这段程序,或者如何控制多个线程共同启动等;
3、控制线程状态的转换的方法,或者给几个thread dump,分析下哪个线程有问题,问题出在哪;
4、static属性加锁、全局变量属性加锁、方法加锁的不同点?

 

转自:http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html

分享到:
评论

相关推荐

    jvm专题.docx

    综合了常见的jvm 知识点,面试题。配图文,详解,以及答案。 一些简单题目未更新,后面会陆续补上。Java-jvm-面试-专题

    06尚硅谷_JVM.docx

    ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...

    java笔试、面试题、面试宝典、经验、简历模板(笔试面试题含题目、解题思路和答案,真题包含各个大厂,知识点全面)

    2.笔试面试真题,划分为面试真题和企业面试题(面试真题按知识点划分,企业面试题按企业划分,都是大厂的) 3.公司题库,含面试笔试真题解析和答案,上百道真题。 涉及的java知识点: 01_Java语法基础 02_Java集合 ...

    java学习知识点以及面试题

    23种设计模式,常见算法,计算机网络基础,redis详解,kafka面试,jvm详解,java并发,java集合,springcloud面试题,rabbitMQ面试题目

    Java面试通关宝典:深度解读核心知识点与实战技巧,全面提升面试表现力与技术实力

    本文将对Java常见面试题进行总结和解析,旨在为准备面试的Java开发者提供全面而深入的学习参考。...建议读者结合实际代码示例和项目经验,深入理解和掌握这些知识点,并不断练习和总结,以提高自己的面试成

    Java后端面试题目回顾,涉及Java,计算机网络,系统,数据库等相关知识点.zip

    Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客...包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE

    JAVA面试通关:100道经典JAVA面试题及答案解析

    本书精选了互联网大厂100道经典的Java面试题目,并为每道题目提供了详细的答案解析,涵盖了Java基础知识、面向对象编程、集合框架、多线程、JVM等方面的知识点。无论您是初学者还是有经验的开发者,都可以从中...

    最新java程序员面试题目及视频资料.rar

    里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货视频和面试资料

    2024最强Java面试八股文过过过

    此外,还提供了丰富的题目和答案,帮助您更好地掌握每个知识点的运用。 总的来说,《2024最强Java面试八股文》是一份不可多得的Java面试宝典,它系统地梳理了Java面试的核心知识点,并提供了一系列的实战技巧和经验...

    2024最强Java面试八股文

    此外,还提供了丰富的题目和答案,帮助您更好地掌握每个知识点的运用。 总的来说,《2024最强Java面试八股文》是一份不可多得的Java面试宝典,它系统地梳理了Java面试的核心知识点,并提供了一系列的实战技巧和经验...

    leetcode力扣是什么-daydayup:日常练习,包括数据结构、算法等一些简单代码

    计划是用来存放学习Java新特性、JVM等知识点。 目前还没有什么内容,忽略。 4、leetcode 我的算法刷题之路,恶补算法ing。 easy:力扣中的easy难度的一些题目 gray:《漫画算法-小灰的算法之旅》题目实现 labuladong...

    免费分享 Java面试笔记 面试八股文 计算机网络基础

    本资源适用于运营商、Java开发校招面试基础巩固,包含计算机网络、Java基础、Java集合、Java并发编程、JVM、MySQL、Spring、MyBatis、Redis、Rocket MQ的经典面试题目,涵盖每个知识点的各个方面,能够很好的提升...

    尚硅谷-实验:Stream API练习.pdf

    ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...

    509 道 Java 面试题汇总与解析 免费开源!!

    收获 Java 技术栈的核心知识点 这个课程几乎涵盖了 Java 技术栈的大部分内容,不止对于面试,在日常的工作中也可以发挥很大的作用。 详解 500 多道实用、权威、高频 Java 面试题 这 500 多道面试题,都是目前主流...

    2019互联网面试题第2季.mmap

    本套课程总结分析了2019年大厂互联网公司常见常考的技术点,通过对40多个题目共计120集视频详细全面的讲解,让大家深刻掌握、扎实吃透当前的主流Java高级技术。 本期内容包括JUC多线程并发、JVM和GC等目前大厂笔试中...

    尚硅谷大厂高频面试题第二季视频资源.txt

    JUC多线程并发、JVM和GC等目前大厂笔试中会考、面试中会问、工作中会用的高频难点知识。 斩offer、拿高薪、跳槽神器,对标阿里P6的《尚硅谷_互联网大厂高频重点面试题(第2季)》发布。本套课程总结分析了2019年大厂...

    阿里巴巴面试题leetcode-BeatJavaMonster:努力修炼,干掉”Java“这只怪兽

    知识点,如果想更加全面地了解 JVM 底层原理,可以阅读周志明老师《深入理解 Java 虚拟机——JVM 高级特性与最佳实践(第 2/3 版)》全书 3 处于萌芽阶段的 Java 核心知识库 4 致力于从源码层面,剖析和挖掘互联网行业...

    尚硅谷_单点登录.docx

    ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...

Global site tag (gtag.js) - Google Analytics