01 2018 档案
摘要:线程池与并行度 了解线程池如何工作于大量的异步操作,以及它与创建大量单独的线程的方式的不同之处。 实例代码验证 Thread Execution time using threads: 5211ThreadPool Execution time using threads: 5948 结论 线程池为
阅读全文
摘要:自旋锁(Spin lock) 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥
阅读全文
摘要:1.事务的特性ACID 1)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2)一致性(Consistency)一个事务中,事务前后数据的完整性必须保持一致。 3)隔离性(Isolation)多个事务,事务的隔离性是指多个用户并发访问数据库
阅读全文
摘要:线程不安全与线程安全 示例代码: 线程不安全与线程安全 执行结果: 线程不安全与线程安全 工作原理: 当主程序启动时,创建了一个Counter类的对象。该类定义了一个可以递增和递减的简单的计数器。然后我们启动了三个线程。这三个线程共享同一个counter实例,在一个周期中进行一次递增和一次递减。这将
阅读全文
摘要:编程范式的改变 不久前,典型的个人计算机的CPU还只有一个计算核心,并且功耗足以煎熟鸡蛋。 2005年,英特尔推出了其首款多核心CPU,从此计算机开始向不同的方向发展。低耗电量及多个计算核心变得比提高行计算(row computing)的核心性能更重要。这也导致了编程范式的改变。 现在我们需要学习如
阅读全文
摘要:配置文件 c3p0-config.xml C3P0连接池工具类 C3P0Utils.java
阅读全文
摘要:配置文件 db_dbcp.properites DBCP连接池工具类 DBCPUtils.java
阅读全文
摘要:java 开发中,常常通过流读取的方式获取 配置文件数据,我们习惯使用properties文件,使用此文件需要注意 a) key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver b) value值不支持中文,如果需要使用非英文字符,将进行unicode转换。 Properti
阅读全文
摘要:package try51.thread.safe; import java.util.ArrayList; import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.locks....
阅读全文
摘要:“==” 与 equals 的比较,结果不同。(使用equals才靠谱。) “==” 与 equals 比较,byte 范围内的 整型数字 作比较 用 “==” 时,得特殊考虑。(使用equals才靠谱。) 浮点数计算 得不到正确的值。(尽量使用 BigDecimal 去参与运算才安全)
阅读全文