Java面试准备之JVM系列三

Java面试准备之JVM系列三

Java 类加载器总结JVM 中内置了三个重要的 ClassLoader,除了 BootstrapClassLoader,其他类加载器均由 Java 实现且全部继承自java.lang.ClassLoader:BootstrapClassLoader(启动类加载器) :最顶层的加载类,由C++实现,负...
Java面试准备之JVM系列二

Java面试准备之JVM系列二

Java中垃圾回收有什么目的?什么时候进行垃圾回收?回收什么内容?怎么回收?垃圾回收的目的是回收堆内存中不再使用的对象所占的内存,释放资源。回收时间:即触发 GC 的时间,在新生代的 Eden 区满了,会触发新生代 GC(Mi...
Java面试准备之JVM系列一

Java面试准备之JVM系列一

介绍下 Java 内存区域(运行时数据区)Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK. 1.8 和之前的版本略有不同,下面会介绍到。JDK1.6:JDK1.8:关于上述提到的线程共享和线程隔离区...
Java面试准备之并发进阶二

Java面试准备之并发进阶二

介绍一下 Atomic 原子类所谓原子类说简单点就是具有原子/原子操作特征的类。并发包 java.util.concurrent 的原子类都存放在java.util.concurrent.atomic下,如下图所示。JUC 包中的原子类是哪 4 类?基本类型使用原子的方式更...
Java面试准备之网络知识二

Java面试准备之网络知识二

OSI与TCP/IP各层的结构与功能,都有哪些协议?应用层:网络服务与最终用户的一个接口。表示层:数据的表示、安全、压缩。会话层:建立、管理、终止会话。传输层:定义传输数据的协议端口号,以及流控和差错校验。网络层:进行...
Java面试准备之网络知识一

Java面试准备之网络知识一

http 响应码 301 和 302 代表的是什么?有什么区别?301,302 都是 HTTP 状态的编码,都代表着某个 URL 发生了转移。区别:301 redirect: 301 代表永久性转移(Permanently Moved)。302 redirect: 302 代表暂时性转移(Tempor...
Java面试准备之并发进阶一

Java面试准备之并发进阶一

说一说自己对于 synchronized 关键字的了解synchronized 关键字解决的是多个线程之间访问资源的同步性,synchronized 关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,syn...
Java面试准备之并发基础

Java面试准备之并发基础

什么是线程和进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,...
Java面试准备之反射、代理和异常

Java面试准备之反射、代理和异常

什么是反射?反射机制的应用场景有哪些?Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法...
Java面试准备之集合系列二

Java面试准备之集合系列二

什么是 Java 优先级队列(Priority Queue)?PriorityQueue 的逻辑结构是一棵完全二叉树,存储结构其实是一个数组。逻辑结构层次遍历的结果刚好是一个数组。PriorityQueue 是一个基于优先级堆的无界队列,它的元素是按照自然...