06 2022 档案
摘要:接口类 public interface People { void eat(String name); void run(); } 实现类: public class Man implements People{ @Override public void eat(String name) { S
阅读全文
摘要:IO模型 BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时,服务器端就会启动一个线程进行处理,无论这个客户端的这次请求做不做任何事,都会创建线程从而造成不必要的开销。 NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求连接,即客户端发送的连接请求都会注册到多路复用器上
阅读全文
摘要:1.ThreadLocal为什么能做到线程隔离? public class ThreadLocal1 { static ThreadLocal<People> t1 = new ThreadLocal<>(); public static void main(String[] args) { new
阅读全文
摘要:什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是垃圾。 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至导致内存溢出。 标记阶段:对象存活判断 垃圾标记阶段:堆里存放着几乎所有的Java对象实例,在
阅读全文
摘要:String存储结构改变? 有char改为byte,String再也不用char[]来存储,改为byte[]加上编码标记,节约了一些空间 String s1 = "a"; String s2 = "b"; String s3 = “ab”; String s4 = s1+s2; 等价于StringB
阅读全文
摘要:创建对象的方式? 1.new 2.Class的newInstance() 3.Constructor的newInstance(xxx) 4.使用clone() 5.使用反序列化 6.第三方库Objenesis 创建对象的步骤? 1.判断对象对应的类是否加载、链接、初始化 2.为对象分配内存 3.处理
阅读全文
摘要:方法区存储什么? 存储已被虚拟机加载的类型信息、常量、静态变量、即时编译期编译后的代码缓存等。 类型信息(类class、接口interface、枚举enum、注解annotation): 这个类型的完整有效名称(包名.类名) 这个类型直接父类的完整有效名(对于interface或是java.lang
阅读全文