java技术分享
superit007
技术咸鱼
展开
-
Synchronized与锁对象
关键字Synchronized取得的锁都是对象锁,而不是把一段代码或者方法当作锁,哪个线程先执行带有Synchronized方法,哪个线程先持有该方法所属对象的锁lock,那么其他线程就只能等待。前提是多个线程访问的是同一个对象。 如果是多个线程访问多个对象,则会创建多个锁。 同步的单词是synchronized,异步的单词是asynchronized。 调用关键词synchronized声...原创 2019-01-14 10:45:03 · 476 阅读 · 0 评论 -
线程安全
sychronized同步方法 非线程安全是多个线程对同一个对象中的实例变量进行并发访问时发生,就会产生脏读,而线程安全获得的实例变量的值是经过同步处理的,不会出现脏读的情况。 方法内的实例变量为线程安全 public class MyThread extends Thread { private SyschronizedObject object; public MyThrea...原创 2019-01-14 10:45:36 · 99 阅读 · 0 评论 -
可重入锁
关键词synchronized拥有锁重入的功能,也就是在使用synchronized时,当一个线程得到对象锁时,再次请求这个对象锁是可以再次得到的。这也证明在一个synchronized方法/块的内部调用其他的synchronized方法/代码块是永远可以得到锁的。如果锁不可以重入,那么调用其他的同步方法会阻塞,就会造成死锁。 public class SyschronizedObject {...原创 2019-01-14 14:14:40 · 91 阅读 · 0 评论 -
SpingData JPA之ExampleMatcher实例查询
ExampleMatcher是SpingData-JPA中好玩的一个东西 ExampleMatcher实例查询三要素 实体对象:在ORM框架中与Table对应的域对象,一个对象代表数据库表中的一条记录,如上例中User对象,对应user表。在构建查询条件时,一个实体对象代表的是查询条件中的“数值”部分。如:要查询姓“X”的客户,实体对象只需要存储条件值“X”。 匹配器:ExampleMatch...原创 2019-03-24 21:46:38 · 5949 阅读 · 0 评论