Java基础
java基础:集合,juc,jvm相关
墨客小栈
测试
展开
-
面试——关于事务隔离级别
事务的四种隔离级别: 读未提交:会出现脏读,即在事务A可以读到事务B未提交的脏数据。 读已提交:事务A只能读到事务B提交后的数据,可以避免脏读,但是会出现不可重复读的情景。即:事务A在两次读取同一条数据的过程中,事务B对该条数据进行了update,导致事务A在事务B提交数据前后两次读取的数据不一样,该现象称之为:不可重复读。 可重复读:事务A在读取数据之前,不允许其他的事务对其进行修改操作。应该避免了两次读取数据不一致的情况,但是无法避免幻读:即在A数据读取的过程中,没有修改,但是插入了新的数据,新增或者原创 2020-10-16 11:44:08 · 169 阅读 · 0 评论 -
面试笔试-java基础
1.类实例化 类初始化过程 实例初始化过程 方法重写 类实例化过程: 一个类要创建实例需要先加载并初始化该类(main方法所在的类需要先加载和初始化) 一个子类要初始化需要先初始化父类 一个类初始化就是执行()方法 1) ()方法由静态类变量显示赋值代码和静态代码块组成 2)类变量显示赋值代码和静态代码块从上到下顺序执行 3)()方法只执行一次 实例初始化过程: 实例初始化就是执行()方法 1)()方法可能重载有多个,有几个构造器就有几个init方法 2)()方法由非静态实例变量显示赋值代码和非静态原创 2020-08-11 14:32:44 · 120 阅读 · 0 评论 -
JVM—类加载器ClassLoader
类加载器 根加载器:$JAVA/HOME/jre/lib.rt.jar 加载rt.jar下的class文件,就是java1.0开始的哪些原始的java 文件,如 Object类、String、Thread这些 拓展加载器:$JAVA/HOME/jre/lib/ext/*.jar 加载java的拓展class文件,比如javax开头的包,是jdk团队在每个版本拓展功能时候加入的class文件 应用程序加载器: 加载我们这些使用使用开发编译后的这些class文件 User-DefinedClassLoade原创 2020-07-17 15:43:43 · 112 阅读 · 0 评论 -
JUC——volatile的三个特性
volatile 相关理解 volatile概念:轻量级的同步机制可见性原子性如何解决原子性?禁止指令重排 volatile概念:轻量级的同步机制 三个特性 保证可见效(其实 就是 及时通知) 不保证原子性 禁止指令重排 可见性 JMM:java内存模型 优于JVM运行程序的实体是线程,而每个线程创建jvm时候都会为其创建一个工作内存,工作内存是每个线程私有的数据区域,而java内存模型中规定所有的变量都存储在主内存,主内存是共享内存区域,所有线程均可访问,但线程对变量的操作必须在工作内存中进行。 首先原创 2020-07-15 13:54:52 · 244 阅读 · 0 评论