- 浏览: 81842 次
- 性别:
- 来自: 长沙
最新评论
-
absurd1350:
superhotdong 写道第一个卖票系统那个场景的实现方式 ...
多个线程之间共享数据的方式 -
kutygou:
2楼说的是正确的
多个线程之间共享数据的方式 -
superhotdong:
第一个卖票系统那个场景的实现方式不行的,ticket--不是原 ...
多个线程之间共享数据的方式 -
dinghua_xuexi:
where 写道我是从学习的角度看画图板,而不站在应用的角度, ...
画图板要“自己写”+近期学习JAVA的感受分享(附有完整代码,需要的拿去,学习在继续) -
lvwenwen:
写的很不错。
一道面试题比较synchronized和读写锁
文章列表
接触Linux已将近一年,笔者和Linuxd的相遇显得如此“风花雪月”。和笔者开始接触Linux初衷不太一样。和Linux的接触可谓是“火线接触”,上午的0基础到下午要去客户的服务器完成部署服务工作。一路接触总的感觉就是“匆 ...
ps0:从去年暑假开始接触Kinect相关编程开发,到现在有些日子了(虽然中途可能干其他事去了),所以感觉知识有些地方还不是很扎实,所以写这一系列博客,一方面调理一下自己已经掌握的一些知识,另一方面也继续学习这方面的知识权当那博客当记文档了。当然这一系列博客是写给刚刚入门的童鞋看,本人也非大神,大家一起学习,交流。当然有这方面大神不小心看到了博客本人也欢迎批评指导。废话就说到这,果断搞起!!!
ps1:如果下面的几个问题您能都知道,请您绕行,我是菜鸟,只做自己的学习笔记!!!
(这样的开头是学习最近一直在看的博客,在此用这种方式向这位博主的认真致敬!)
...
一、科普定义
这篇博文的两个主角“synchronized”和“读写锁”
1)synchronized
这个同步关键字相信大家都用得比较多,在上一篇“多个线程之间共享数据的方式”中也详细列举他的应用,在这就不多说只做几点归纳:
Java提供这个关键字,为防止资源冲突提供的内置支持。当任务执行到被synchronized保护的代码片段的时候,它检查锁是否可用,然后获取锁,执行代码,释放锁。
常用这个关键字可以修饰成员方法和代码块
2)读写锁
我们对数据的操作无非两种:“读”和“写”,试想一个这样的情景,当十个线程同时读取某个数据时,这个操作应不应该加同步。答案是没必要的。只有以 ...
ps:由于最近的面试很多问题都涉及多线程,自己感觉以前学的还是太浅,再展开学学吧。
今天先从考的比较频繁的“多线程共享数据”开始。
一.目标
谈到多线程共享数据,理想情况下我们希望做到“同步”和“互斥”。这是目标我们暂且把它先放到这。
二.分类
多线程共享数据通常的场景有一下两种:
场景一:
卖票,我们都买过火车票。要买火车票我们可以去车站,也可以通过代售点(或网购),但不管有多少种方式火车票的总数是一定的。
场景抽象:
对于卖票系统每个线程的核心执行的代码都相同(就是票数--)。
解决方法:
只需创建一个Runnable,这个Runnable里有那个共享数据。
题目:
“编写函数int[]alphaOrder(int n),返回按字典排序的数字1~n”
例如n=12,返回[1,10,11,12,2,3,4,5,6,7,8,9]
当时一看这题有点蒙了,首先过分纠结于“字典排序“这几个字眼,而忽略了题目本身,导致当时我这个题目尽然空着。下来再想想这个题目其实单纯从给出一个答案的角度看真不难。
先上一段我实现的代码:
public class AlphaOrder {
/**
* @param args
*/
public static void main(String[] args) {
Alph ...
PS:
这段时间一直在找实习,在这条路上的风景对我来说并不是那么写意,期间发现自己的知识还是不成体系,平时用的很多的东西在表达时就完全不是那么回事了。姑且把这看成一个学习的过程吧,接下来我会陆续的把这些题重做一次,希望会得到成长!那么就从最近的“前缀表达式”开始吧! 接下来的内容将围绕这两个问题展开:
1.为什么要把中缀表达式转化成前缀表达式?
2.怎么把中缀表达式转化成前缀表达式并计算(描述并JAVA实现)?
一. 先来回答为什么要把中缀表达式转化成前缀表达式?
中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法,与前缀表达式(例:+ 3 4)或后缀表 ...
转眼间2013就来了,转眼间大三的一个学期也过了。高富帅今天应该佳人有约。作为技术宅的我照常在iteye看了几篇博客,有几篇都是做生活上的总结。虽然文笔不佳,闲着也是闲着,也来写一篇。依赖留给若干年后的自己来嘲笑,二来梳理一下接下来的生活计划。
回忆
记得寒假集训后和一朋友去图书馆还书,路上无意间问起“如果总分有五分,你给自己大三上打多少分?”打给自己打了4.5.其实我当时也给自己打了,我给自己4分吧。
我的大三应该从大二的暑假就开始了 ...
提纲:
一.开篇废话
二.再看多线程
1)线程的状态(这一部分是总结前面所学的线程基础知识)
2)线程的同步问题(这一部分是最近的一些收获)
一.开篇废话
Where又回来了,貌似有快一个学期没写技术博客了,虽然期间做过一些总结但也没发上博客,又到了假期可以安下心好好写点东西了,废话不多说,希望自己在寒假能安心下来好好学点东西,写点东西,那么让我们从线程开始。
二.再看线程
1.线程的几个状态
一个线程可以有四种状态:
(1) 新(New):线程对象已经创建,但尚未启动,所以不可运行。
问题 ...
IO里的那些流
今天做一个”流”的总结,那些”流”呢,当然是IO里的那些流.
既然做流,我们就先明确一个概念,即什么是流?
流的概念
在Java中,把一组有序
文件复制总结
开篇废话:
最近渐渐习惯了蓝杰的学习,有点渐入佳境的感觉(仅是个人感觉),但是总的进度还是略有落后,安卓还没开始,还停留在刚刚构建好的层面,虽然听了两节课,但说实话没什么感觉,可能是没有 ...
集合框架总结
开篇废话
后补…..
提要
List Set Map
(What)是什么?
(How)怎么用?
一个小的应用(随便一个字符串算出字符的频度删除重复的字符).
(No Why)
详细报道
一.解决What和How
我们都知道数组是保存一组 ...
JAVA常用关键字总结
java常用的关键字:
1.访问修饰符:
public protected private
用法:在JAVA中public,protected,private这几个访问修饰符通常置于类的每个成员变量和方法前,用来控制不同的访问权限 。public的权限最大,private的访问权限最小。具体我们将通过三个角度看权限的具体用法
见下表:
开篇废话
最近有几天没有写总结了,没写的原因有那么几个,但主要的还是自己略微有些懒惰,最近看了有一些书,经历了一些事,觉得自己还是一个蛮幸福的人,可以干自己想干的事。父母又很开明,对我干什么都很支持,再此感谢他们对我的信任吧。这几天在做画图板,做的很纠结,本来要做一个画图板的总结,由于一些原因耽误了,不过没关系。有时间还是要把画图板那个完整版做个总结与大家分享。Where最近的一点点感悟在这个版块与大家分享,最近周围有朋友总是各种牢骚+抱怨,where觉得很没必要。生活本来就是跌宕起伏,一帆风顺属于童话。我们没权利要求生活事事顺意,但我们可以要求自己事事尽力。试着每天用一个幸福的心态作开 ...
<!--[if !supportLists]-->一.
<!--[endif]-->实现画图板更好的布局
以往我们用的是Flowlayout流式布局,现在要用BorderLayout,这个没什么技术含量,需要注意的是以下几点:
左(右)边的高度=窗体高度-(下边组件的高度+上边组件高度);
这句话的意思是不论你怎么定义它的高度,即使定义为0抑或更极端的直接取窗体高度。它都不会实现,只会按照那个定义式取值。
下(上)边的宽度=窗体的宽度;
中间部分的高度和宽度不用定义他的高和宽取的是四周取过后剩下的部分。
我们现在来实现它:
画图板要“自己写”+近期学习JAVA的感受分享
<!--[if !supportLists]-->一.
<!--[endif]-->开篇废话
经常看where的人会知道,开篇废话这个环节会经常出现的,我想以后也会继续存在,抱着单纯看技术博心态看的读者可以忽略这一块,这一块仅与懂生活的读者分享。从7月17日开始接触JAVA到现在已近一周有余了这段时间主要是学习了JAVA的基础知识,这个阶段是每个入门者都会经历的,动手的机会不多,这说说的动手时自己敲代码,把自己的想法通过代码的方式来实现这么一个过程。这一段主要是学习基础知识并写总结,在这两件事情上where ...