
八股文
文章平均质量分 79
Java面试中的八股文
田野里的稻草人
一位Java开发实习生,期待与你共同进步!
展开
-
JVM内存结构图
文章目录class字节码的10个主要组成部分:JVM内存结构图:程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池? class字节码的10个主要组成部分: MagicNumber、Version、Constant_ pool、Access flag、This_ class、Super_ class、Interfaces、Fields、Methods、Attributes JVM内存结构图: 程序计数器 属于线程私有内存。占用一块非常小的空间,它的作用可以看作是当前线程所执行的字节码的行原创 2021-10-16 10:41:05 · 330 阅读 · 0 评论 -
HashMap的底层原理
文章目录HashMap概述HashMap的实现原理HashMap的底层实现原理?HashMap 和 HashTable 的区别HashMap操作注意事项以及优化? HashMap概述 HashMap 是 Map 接口的实现,HashMap 允许空的 key-value 键值对,HashMap 被认为是 Hashtable 的增强版,HashMap 是一个非线程安全的容器,如果想构造线程安全的 Map 考虑使用 ConcurrentHashMap。HashMap 是无序的,因为 HashMap 无法保原创 2021-10-07 16:08:14 · 654 阅读 · 0 评论 -
IO模型的分类
文章目录IO模型有几种?阻塞IO(blocking IO)非阻塞I/O (nonblocking IO)I/O多路复用模型(IO multiplexing)信号驱动I/O模型异步I/O(asynchronous IO) IO模型有几种? 阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。 阻塞IO(blocking IO) 应用程序调用一个IO函数,导致应用程序阻塞,如果数据已经准备好,从内核拷贝到用户空间,否则一直等待下去。 一个典型的读操作流程大致如下图,当用户进程调用recvfrom原创 2021-10-08 21:37:05 · 161 阅读 · 0 评论 -
内存溢出(OutOfMemoryError)与栈溢出(StackOverflowError)
文章目录Java中OutOfMemoryError(内存溢出)的情况及解决办法OutOfMemoryError(内存溢出)的情况OutOfMemoryError: PermGen spaceOutOfMemoryError: Java heap space如何实现一个堆内存溢出?空间什么情况下会抛出OutO fMemoryError?StackOverflowError(栈溢出) Java中OutOfMemoryError(内存溢出)的情况及解决办法 除了程序计数器外,虚拟机内存其他运行时区域都会发原创 2021-10-16 13:31:14 · 2744 阅读 · 0 评论 -
synchronized与Lock
文章目录什么是synchronized?synchronized包括哪些jvm重要的指令?synchronized关键字用法?synchronized锁的是什么?volatile关键字waitnotifynotify/notifyAllLock接口 什么是synchronized? synchronized关键字可以实现一个简单的策略来防止线程干扰和内存一致性错误,如果一个对象是对多个线程可见的,那么对该对象的所有读写都将通过同步的方式来进行。 synchronized包括哪些jvm重要的指令? mo原创 2021-10-13 09:44:44 · 162 阅读 · 0 评论 -
深拷贝和浅拷贝的区别是什么?
深拷贝和浅拷贝的区别是什么? 1、浅拷贝 (1)、定义 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主"对象进行拷贝,但不会复制主对象里面的对象。"里面的对象”会在原来的 对象和它的副本之间共享。 简而言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象 (2)、实例 结果分析: 两个引用student1和student2指向不同的两个对象,但是两个引用student1和student2中的两个teacher引用指向的是同一个原创 2021-10-06 14:52:20 · 3482 阅读 · 0 评论 -
HashMap及其他的Hash类
HashMap 和 HashTable 的区别 相同点 HashMap 和 HashTable 都是基于哈希表实现的,其内部每个元素都是 key-value 键值对,HashMap 和 HashTable 都实现了 Map、Cloneable、Serializable 接口。 不同点 父类不同: HashMap 继承了 AbstractMap 类,而 HashTable 继承了 Dictionary 类 空值不同: HashMap 允许空的 key 和 value 值, HashTable原创 2021-10-07 15:42:11 · 225 阅读 · 0 评论 -
JVM的三种常见的垃圾收集算法
文章目录JAVA堆内存组成JVM中三种常见的垃圾收集算法?标记-清除算法?复制算法?标记整理算法? JAVA堆内存组成 堆大小=新生代+老年代。如果是Jav a8则没有Permanent Generation。 其中新生代(Young)被分为Eden和S0 (from)和S1(to)。默认比例是:Edem : from: to=8 : 1 : 1 JVM中三种常见的垃圾收集算法? 标记-清除算法(Mark_ Sweep) 复制算法(Copying) 标记-压缩算法(Mark-Compact) 标记-原创 2021-10-16 19:29:31 · 292 阅读 · 0 评论 -
学习过程中收集到的面试题小汇总
学习过程中收集到的面试题小汇总:IoC和DI自动装配 IoC和DI 在平时的java应用开发中,我们要实现某一个功能或者说是完成某个业务逻辑时可能需要多个对象来协作完成,在没有使用Spring的时候,每个对象在需要使用他的合作对象时,自己均要使用像new object() 这样的语法来将合作对象创建出来,这个合作对象是由自己主动创建出来的,创建合作对象的主动权在自己手上,自己需要哪个合作对象,就主动去创建,创建合作对象的主动权和创建时机是由自己把控的,而这样就会使得对象间的耦合度高了。 A对象需原创 2021-09-26 21:57:00 · 84 阅读 · 0 评论