面试笔记
国Q躺平中
这个作者很懒,什么都没留下…
展开
-
JVM加载class文件的原理机制
可以看出JVM是运行在操作系统之上,与硬件不直接交互jvm的组成分为4部分1.Class Loader 类加载器类加载器的作用是加载类文件到内存,比如编写一个HelloWord.java 程序,然后通过javac 编译成class 文件,那怎么才能加载到内存中被执行呢?Class Loader 承担的就是这个责任,那不可能随便建立一个.class 文件就能被加载的,Class Loade...原创 2018-11-21 13:56:17 · 178 阅读 · 0 评论 -
写clone()方法时,通常都有一行代码,是什么?
是super.clone()使用clone()方法,就得实现Cloneable 接口//实现Cloneable接口,重写clone()方法class Person implements Cloneable{ @Override protected Object clone() throws CloneNotSupportedException { return...原创 2018-11-21 14:51:13 · 581 阅读 · 0 评论 -
String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
String s = new String(“xyz”);这个跟常量池没有关系,只要是new,都是重新分配堆空间,如果不区分栈和堆,这里创建了1个String Object。如果是从jvm角度来说的话,它是创建了两个对象,String s是在栈里创建了一个变量,new String(“xyz”)是在堆里创建了一个对象并被s引用到。如果是String s = “xyz”,那就要看常量池里有没有"...原创 2018-11-21 15:25:19 · 3216 阅读 · 1 评论 -
Servlet的生命周期,Servlet和CGI的区别
Servlet的生命周期分为5个阶段:实例化:Servlet容器创建Servlet类的实例。初始化:该容器调用init()方法,通常会申请资源。服务:由容器调用service()方法,(也就是doGet()和doPost())。破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。不可用:释放内存的实例。概括来讲,Servlet可以完成和CGI相同的功能。CG...转载 2018-11-21 15:52:29 · 139 阅读 · 0 评论 -
能不能自己写一个类叫java.lang.String
添加链接描述转载 2018-11-21 16:05:05 · 703 阅读 · 0 评论 -
Mysql 引擎的索引总结
1.MyISAM非聚集索引B+树创建表的时候生产三种文件user.myi 索引文件user.myd数据文件user.frm数据结构类执行Select 。。。。where 。。。时(1)查看该表的myi文件有没有以id为索引的索引树。(2)根据这个id索引找到叶子节点的id值,从而得到它里面的数据地址。(叶子节点存的是索引和数据地址)。(3)根据数据地址去myd文件里...原创 2019-09-03 14:59:35 · 176 阅读 · 0 评论 -
对于Jit的总结
1.jvm总体是将.java编译成.javac 然后将javac编译成class 而jit在javac编译成class然后class编译成机器码 jit在class编译到机器码中有作用。2.在class文件运行中有两种方式 一种是解释执行 class中的java字节码一段一段解释最后会形成一个模板并执行,这个过程中实在内存中进行,执行需要重新执行但是不会消耗内存。3.jit也叫运行时编译,...原创 2019-09-03 16:16:04 · 403 阅读 · 0 评论