董不董 - 董欣欣的个人博客

程序员
董欣欣的个人博客

【Java推荐】 java synchronized(非this对象)

说明: 使用synchronized(非this对象)同步代码块时候,和this对象类似,锁的都是当前的对象,即对象监视器必须是同一个对象。如果不是同一个对象监视器,那么就可以异步执行了,因为锁的不是同一个对象,就会导致交叉运行了,所以在写...

最新发布

Java

java synchronized(非this对象)

阅读(28)评论(0)

说明: 使用synchronized(非this对象)同步代码块时候,和this对象类似,锁的都是当前的对象,即对象监视器必须是同一个对象。如果不是同一个对象监视器,那么就可以异步执行了,因为锁的不是同一个对象,就会导致交叉运行了,所以在写...

Java

java 访问同一对象同步、非同步方法

阅读(25)评论(0)

同一对象访问其同步和非同步方法: 1、A线程先持有Object对象的lock锁,B线程可以以异步的方式调用Object对象中非synchronized类型的方法。 2、A线程先持有Object对象的lock锁,B线程如果在这时候调用Obje...

Java

java 线程方法内变量为安全

阅读(27)评论(0)

java中,如果方法内部有变量,则不存在非线程安全问题,因为方法内变量不是共有的变量,访问的是不同的地址,即自己运行自己的。下面用例子说明。 [crayon-590611a79289b916423293/]   [crayon-5...

Java

TreeSet 原理及使用

阅读(25)评论(0)

1.TreeSet原理: TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法 Integer能排序(有默认顺序), String能排序(有默认顺序), 自定义的类存储的时候出现异常(没有顺序) 如果想把自定义类的对象存入Tr...

Java

Java interrupt、interrupted、isInterrupted区别

阅读(26)评论(0)

java多线程中会遇见interrupt,下面解释下其功能和不同 interrupt():中断线程,事实上线程执行此句话并不是完全意义上中断,而是继续运行。此句话要想达到真正意义上中断,需要结合return 或者异常结合使用。 interr...

算法

拓扑排序 偏序 全序介绍

阅读(32)评论(0)

拓扑序列算法思想  (1)从有向图中选取一个没有前驱(即入度为0)的顶点,并输出之;  (2)从有向图中删去此顶点以及所有以它为尾的弧;      重复上述两步,直至图空,或者图不空但找不到无前驱的顶点为止。 注意:  1)只有有向无环图才...

计算机网络

TCP 四种定时器

阅读(30)评论(0)

TCP使用四种定时器(Timer,也称为“计时器”): 重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer 时间等待计时器:Time_Wait Tim...

Java

Java 判断浮点数相等(两直线是否相交)

阅读(29)评论(0)

计算机表示浮点数(float或double类型)都有一个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分截断。因此,本来不相等的两个浮点数在计算机中可能就变成相等的了。 例子: [crayon-590611a7965...

Java

Java 锁Lock实例使用

阅读(44)评论(0)

synchronized和Lock区别: synchronized: (如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁) 获取锁的线程释放锁情况: ...

Java

高效的计算二进制1个数方法

阅读(34)评论(0)

普通方法:每位做&运算,然后右移 代码如下: [crayon-590611a7965a4948331154/]   高效方法:数字a与(a-1)做&运算,直到a=0 代码如下: [crayon-590611a796...

www.dongxinxin.cn 技术博客

联系我关于我