会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
上一页
1
2
3
4
5
6
7
下一页
2018年6月14日
多线程中Object的wait(),notify()和Condition的wait()和singal()对锁的关联
摘要: 通常将共享资源的操作放置在Sysnchronized定义的区域内,这样当其他线程也获取到这个锁时,必须的等待锁被释放时才能进入该区域。Object为任意一个对象,每个对象都存在一个标志位,并具有两个值,分别为0和1。一个线程运行到同步块时,首先检查该对象的标志位,如果为0状态,表明此同步块中存在其他
阅读全文
posted @ 2018-06-14 15:36 Windy心梦无痕
阅读(163)
评论(0)
推荐(0)
编辑
2018年6月13日
使用多线程循环交替打印字符
摘要: 使用Condition + Lock 进行实现 private static int count_print = 1; (1)此处只能用static,来实现每打印一个字符,下一个字符长度加一,static是使该变量只有一个副本,任何改变都是对这个副本的内容做操作(2)若是想实现每打印一组,下一组字符
阅读全文
posted @ 2018-06-13 10:45 Windy心梦无痕
阅读(1495)
评论(0)
推荐(0)
编辑
2018年6月12日
Condition的await-signal流程详解
摘要: http://blog.csdn.net/luonanqin 上一篇讲了ReentrantLock的lock-unlock流程,今天这篇讲讲Condition的await-signal流程。 Condition类图: Condition接口包含了多种await方式和两个通知方法 ConditionO
阅读全文
posted @ 2018-06-12 21:41 Windy心梦无痕
阅读(689)
评论(0)
推荐(0)
编辑
Java多线程——Condition条件
摘要: 简介 Condition中的await()方法相当于Object的wait()方法,Condition中的signal()方法相当于Object的notify()方法,Condition中的signalAll()相当于Object的notifyAll()方法。 不同的是,Object中的wait()
阅读全文
posted @ 2018-06-12 21:05 Windy心梦无痕
阅读(2341)
评论(0)
推荐(0)
编辑
轻松学习java可重入锁(ReentrantLock)的实现原理
摘要: 转载自https://blog.csdn.net/yanyan19880509/article/details/52345422,(做了一些补充) 前言 相信学过java的人都知道 synchronized 这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但
阅读全文
posted @ 2018-06-12 20:55 Windy心梦无痕
阅读(388)
评论(0)
推荐(0)
编辑
java多线程编程之连续打印abc的几种解法
摘要: 一道编程题如下: 实例化三个线程,一个线程打印a,一个线程打印b,一个线程打印c,三个线程同时执行,要求打印出10个连着的abc。 题目分析: 通过题意我们可以得出,本题需要我们使用三个线程,三个线程分别会打印6次字符,关键是如何保证顺序一定是abc...呢。所以此题需要同步机制来解决问题! 令打印
阅读全文
posted @ 2018-06-12 11:06 Windy心梦无痕
阅读(360)
评论(0)
推荐(0)
编辑
2018年6月11日
JAVA的原子性和可见性,线程同步的理解
摘要: 1、原子性 (1)原子是构成物质的基本单位(当然电子等暂且不论),所以原子的意思代表着——“不可分”; (2)原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。例如 a=1是原子
阅读全文
posted @ 2018-06-11 20:31 Windy心梦无痕
阅读(1306)
评论(0)
推荐(1)
编辑
JAVA 两个对象不同为什么他们的hashcode有可能相同
摘要: hashCode是所有java对象的固有方法,如果不重载的话,返回的实际上是该对象在jvm的堆上的内存地址,而不同对象的内存地址肯定不同,所以这个hashCode也就肯定不同了。如果重载了的话,由于采用的算法的问题,有可能导致两个不同对象的hashCode相同。 而且,还需要注意一下两点: 1)ha
阅读全文
posted @ 2018-06-11 19:18 Windy心梦无痕
阅读(8652)
评论(2)
推荐(0)
编辑
2018年6月9日
Java序列化的作用和反序列化
摘要: 1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化
阅读全文
posted @ 2018-06-09 17:19 Windy心梦无痕
阅读(161)
评论(0)
推荐(0)
编辑
Java语言中的值传递与引用传递
摘要: Java应用程序中永远不会传递对象,而只会传递对象应用,因此,按对象引用传递。 (1) Int作为参数传递时,对形参值得修改不会影响到实参; (2) StringBuffer作为参数时,对形参对象内容的修改影响到了实参。 (3) 值传递只是传递了一个值的副本,对形参值得改变不会影响实参的值。 (4)
阅读全文
posted @ 2018-06-09 15:40 Windy心梦无痕
阅读(222)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
下一页
Windy心梦无痕
一路向前 无惧未来 不问归期
公告
导航
博客园
首页
新随笔
联系
订阅
管理