2019年9月4日
摘要: 1. 饿汉模式 public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ } public static Singleton getInstance() { 阅读全文
posted @ 2019-09-04 00:43 vow007 阅读(5) 评论(0) 推荐(0) 编辑
摘要: AQS是AbstractQueuedSynchronizer的简称。AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架,如下图所示。AQS为一系列同步器依赖于一个单独的原子变量(state)的同步器提供了一个非常有用的基础。子类们必须定义改变state变量的protected方法, 阅读全文
posted @ 2019-09-04 00:26 vow007 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 在堆里存放着几乎多有的java对象实例,垃圾搜集器在对堆进行回收之前,第一件事情就是确定这些对象之中哪些还“存活”着(即通过任何途径都无法使用的对象)。 一、可达性分析算法 在Java中,是通过可达性分析(Reachability Analysis)来判定对象是否存活的。该算法的基本思路就是通过一些 阅读全文
posted @ 2019-09-04 00:23 vow007 阅读(41) 评论(0) 推荐(0) 编辑
摘要: JDBC:Java Data Base Connection JDBC是用于运行sql语句并从数据库中获取新新的java API. JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要;JDBC技术也是Java核心技术之中的一个。 是使用JDBC驱动程序訪问数据库的首选方式 通过JDB 阅读全文
posted @ 2019-09-04 00:23 vow007 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 一、读写锁 1、初识读写锁 a)Java中的锁——Lock和synchronized中介绍的ReentrantLock和synchronized基本上都是排它锁,意味着这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻可以允许多个读线程访问,在写线程访问的时候其他的读线程和写线程都会被阻塞。 阅读全文
posted @ 2019-09-04 00:23 vow007 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 共享锁(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。 如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。 排他锁(X锁):用于数据修改操作,例如 INSERT、UPDATE 或 DELET 阅读全文
posted @ 2019-09-04 00:22 vow007 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal 和 synchronized 是 Java 中用于实现线程安全的两种机制,它们之间有以下几点区别: 作用范围不同: ThreadLocal:用于在多线程环境下,为每个线程提供独立的变量副本,每个线程都可以通过 ThreadLocal 访问自己的变量副本,互不干扰。synchr 阅读全文
posted @ 2019-09-04 00:20 vow007 阅读(6) 评论(0) 推荐(0) 编辑