1. 六种主动使用类的场景
按照 JVM 规范,每个类或者接口被 Java 程序首次主动使用时,才会对其进行初始化。
以下六种操作会导致类的初始化,除了这六种,其他情况都属于被动使用,不会导致类的加载和初始化。
- 通过 new 关键词。
- 访问类的静态变量(但 final 修饰的静态变量实质上是静态常量,不属于此范畴,不会初始化类)。
- 访问类的静态方法。
- 对类进行反射操作。
- 初始化子类会导致父类的初始化。
- 启动类。也就是 main 函数所在的类会被初始化。
A Coder,a Programmer,a Developer
推荐阅读:HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比
共同点:
HTTP1.0 | HTTP1.1 | HTTP2.0 | |
---|---|---|---|
特点 | 无连接、队头阻塞 | 长连接、管道化、缓存处理 | 二进制分帧、多路复用、头部压缩、服务器推送 |
ArrayList:
LinkedList:
####Map集合
HashMap:
ConcurrentHashMap:
TreeMap:
部分题目来源:美团 java 后台 哈尔滨现场面试面经
主要用来提升数据库的并发负载能力。
主从复制的步骤:
log_bin
参数即可开启。缺点:
这题问的是网络 IO 模型。
以 IO 的读数据(read)举例,会经历两个阶段:
1)等待数据准备。
2)将数据从内核拷贝到进程中。
IO 模型主要分为五种: