随笔分类 - 面试
摘要:1、execute方法,可以看异常输出在控制台,而submit在控制台没有直接输出,必须调用Future.get()方法时,可以捕获到异常。 2、一个线程出现异常不会影响线程池里面其他线程的正常执行。 3、线程不是被回收而是线程池把这个线程移除掉,同时创建一个新的线程放到线程池中。
阅读全文
摘要:我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢? ConcurrentHashMap的简介 “我想有基础的同学知道在jdk1.7中是采用Segmen
阅读全文
摘要:感谢大佬的录屏,延迟看一下JVM的视频课程,记一下笔记: 开篇这玩意儿我暂时也看不懂,先放在这里: 接下来给了一段创建对象的代码,以及它的java汇编码 字节码: 0.new ->申请内存。堆里有了一个新的内存。(半初始化。成员变量设置默认值) 3 dup 因为invokespecial会消耗一份,
阅读全文
摘要:Integer a = 100,b = 100,c=130,d=130; System.out.println(a == b); System.out.println(c==d); 打印结果为: 第一个是true; 第二个是flase; 原因:a,b,c,d四个变量都是integer对象的引用,所以
阅读全文
摘要:给出答案: 是不能的,其他线程只能访问该对象的非同步方法,同步方法则不能进入; 因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法,说明对象锁已经被取
阅读全文
摘要:1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会 2.yield()方法只会给相同优先级或更高优先级的线程以运行的机会 3.线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态 4.sleep
阅读全文
摘要:1.servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由 javax.servlet.Servlet接口的 init,service和 destroy方法表达。 2.加载 Servlet的 class >实例化 Servlet >调用 Servlet的 i
阅读全文
摘要:执行流程: 1、 用户向服务器发送请求,请求被 Spring 前端控制 Servelt DispatcherServlet 捕获(捕获) 2、 DispatcherServlet对请求 URL进行解析,得到请求资源标识符(URI)。然后根据该 URI,调用 HandlerMapping获得该Hand
阅读全文
摘要:1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启 2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行 3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事
阅读全文
摘要:1. ISOLATION_DEFAULT: 这是一个 PlatfromTransactionManager 默认的隔离级别,使用数据库默认的事务隔离级别. 另外四个与 JDBC的隔离级别相对应: 2. ISOLATION_READ_UNCOMMITTED: 这是事务最低的隔离级别,它允许令外一个事务
阅读全文
摘要:https://blog.csdn.net/qq_32575047/article/category/6983639
阅读全文