INTERVIEW COLLECTION
redis
mysql
java
[中间件]
[网络]
[设计模式]
200+
index |
name |
desc |
1 |
PROPAGATION_REQUIRED |
如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 |
2 |
PROPAGATION_SUPPORTS |
支持当前事务,如果当前没有事务,就以非事务方式执行。 |
3 |
PROPAGATION_MANDATORY |
使用当前的事务,如果当前没有事务,就抛出异常。 |
4 |
PROPAGATION_REQUIRES_NEW |
新建事务,如果当前存在事务,把当前事务挂起。 |
5 |
PROPAGATION_NOT_SUPPORTED |
以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 |
6 |
PROPAGATION_NEVER |
以非事务方式执行,如果当前存在事务,则抛出异常。 |
7 |
PROPAGATION_NESTED |
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 |
index |
注解 |
描述 |
缺点 |
1 |
READ_UNCOMMITTED |
读取未提交数据 |
脏读、不可重复读、幻读 |
2 |
READ_COMMITTED |
读取已提交数据 |
不可重复读、幻读 |
3 |
REPEATABLE_READ |
可重复度 |
幻读 |
4 |
SERIALIZABLE |
串行化 |
不支持并发 |
区域 |
线程共享 |
内容 |
方法区 |
是 |
类,方法,静态变量,常量 |
堆 |
是 |
对象实例,数组 |
栈 |
否 |
方法入参,临时变量 |
程序计数器 |
否 |
方法执行的指针地址 |
本地方法栈 |
否 |
本地方法调用 |
index |
阶段 |
任务 |
1 |
加载 |
通过全类名获取类二进制流,解析为Class对象并放到方法区内存空间 |
2 |
验证 |
文件格式,元数据,字节码 |
3 |
准备 |
给类变量在方法区分配内存 |
4 |
解析 |
将符号引用替换为常量引用 |
5 |
初始化 |
按照程序主动意愿初始化类变量和其他资源 |
index |
名称 |
加载目录 |
1 |
启动类加载器 |
<JAVA_HOME>/lib |
2 |
扩展类加载器 |
<JAVA_HOME>/lib/ext |
3 |
应用程序类加载器 |
classPath路径 |
4 |
自定义类加载器 |
自定义目录 |