Welcome 微信登录

首页 / 软件开发 / JAVA

Java多线程:“基础篇”02之常用的实现多线程的两种方式

Java多线程:“基础篇”02之常用的实现多线程的两种方式

Java多线程:“基础篇”02之常用的实现多线程的两种方式2014-06-02 cnblogs skywang12345本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Thread和Runnab...
Java多线程:“基础篇”03之Thread中start()和run()的区别

Java多线程:“基础篇”03之Thread中start()和run()的区别

Java多线程:“基础篇”03之Thread中start()和run()的区别2014-06-02 博客园 skywang12345概要Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于 JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywa...
Java多线程:“基础篇”04之synchronized关键字

Java多线程:“基础篇”04之synchronized关键字

Java多线程:“基础篇”04之synchronized关键字2014-06-02 博客园 skywang123451. synchronized原理在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在。当我们调用某对象的synchronized方法时,就获取了该对象的同步锁。例如,synchronized(obj)就获 取了“obj这个对象”的同步锁。不同线程对同步锁的访问是互斥的。也就是说,某时间点,...
Java多线程:“基础篇”05之线程等待与唤醒

Java多线程:“基础篇”05之线程等待与唤醒

Java多线程:“基础篇”05之线程等待与唤醒2014-06-02 cnblogs skywang12345wait(), notify(), notifyAll()等方法介绍在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入 等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用,则是唤 醒当前对象上的等待线程;noti...
Java多线程:“基础篇”06之线程让步

Java多线程:“基础篇”06之线程让步

Java多线程:“基础篇”06之线程让步2014-06-021. yield()介绍yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行!2. yield()示例下面,通过示例查...
Java多线程:“基础篇”07之线程休眠

Java多线程:“基础篇”07之线程休眠

Java多线程:“基础篇”07之线程休眠2014-06-021. sleep()介绍sleep() 定义在Thread.java中。sleep() 的作用是让当前线程休眠,即当前线程会从“运行 状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/ 等于该休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”, 从而等待...
Java多线程:“基础篇”10之线程优先级和守护线程

Java多线程:“基础篇”10之线程优先级和守护线程

Java多线程:“基础篇”10之线程优先级和守护线程2014-06-02 cnblogs skywang123451. 线程优先级的介绍java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于 “低优先级线程”执行。java 中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别它们:如果返回false, 则说明该线程是“用户线程”;否则就...
Java多线程:“基础篇”11之生产消费者问题

Java多线程:“基础篇”11之生产消费者问题

Java多线程:“基础篇”11之生产消费者问题2014-06-02 cnblogs skywang123451. 生产/消费者模型生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消 费者”、“仓库”和“产品”。他们之间的关系如下:(01) 生产者仅仅在仓储未满时候生产,仓满则停止生产。(02) 消费者仅仅在仓储有产品时候才能消费,仓空则等...
Java原子操作的实现原理

Java原子操作的实现原理

Java原子操作的实现原理2014-06-02 infoq 方腾飞1. 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点 复杂。本文让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。2. 术语定义3. 处理器如何实现原子操作32位IA-32处理器使用基于对缓存加锁或...
Fork/Join框架简介

Fork/Join框架简介

Fork/Join框架简介2014-06-02 infoq 方腾飞1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务 ,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务 并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。...
Java中的阻塞队列

Java中的阻塞队列

Java中的阻塞队列2014-06-02 infoq 方腾飞1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时, 获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生 产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就 是生产者存放元素的容器,而消费者也只从容器里拿元素。阻塞队列提供了四种处理方法:方法处...
java初学者需要掌握的基本知识

java初学者需要掌握的基本知识

java初学者需要掌握的基本知识2014-08-01突然间想起来自己半年多以前在某个网站上面做的一些java基础题,那时候是抱着满满的信心去的,结果发现很多基础知识都不了解或者不完全了解。有些人学编程是从应用开发开始的,这固然很好,但是总有那么一些小知识,是我们未曾留意的,不积跬步无以至千里,我把我碰到的一些都列举出来了,希望对于一些初学者有些帮助:1. 0x开头表示16进制的数,0开头表示8进制的数2. 浮点类型的小数后面需要加f,例如0.2f3.tra...
java:记事本保存游戏地图

java:记事本保存游戏地图

java:记事本保存游戏地图2014-08-01 iteye cq520起初看到这个,你的想法是什么,这小子想干嘛呢???这个方法是在一个多月前做多线程游戏的时候想到的,最初是中南的一位朋友提出来的。最近的博客老是在“炒剩饭”,一些新学的东西也总是来不及作总结,不过觉得这个想法确实不错,所以也才拿出来再与大家探讨一下,说不定还有更好的方法。我们所玩的一些场景不动2D的游戏,往往需要构建一些地图,如泡泡堂,坦克大战等等。而在地图构建的...
java:画图板的制作

java:画图板的制作

java:画图板的制作2014-08-01学会了使用按钮监听以及鼠标监听器之后,我们就可以制作一个属于自己的画图板了,以下是我之前制作的一个简易的画图板,功能方面尚还不足,不过已经可以完成铅笔,橡皮,画直线,圆等基本工作了,还可以完成颜色的自由选择,大家不放自己也动手做做吧。首先是界面类:Java代码import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;im...
Java: 黑白棋(Othello)

Java: 黑白棋(Othello)

Java: 黑白棋(Othello)2014-08-01 iteye cq520其实这篇学习总结应该早就要写的,但是对技术博客确实把握的不到位,总觉得语言不够生动,表达也略显牵强,除了贴几行代码,中间的技术点就透漏的不太多了,经过一个多月的沉沦之后,这篇本来要被毙掉的心得又被我拿出来炒一炒剩饭了。(源代码已在下面分享)老师曾说过,学习还真的不是越学越进步的,现在回头想想,之前所熟练的知识现在还真的慢慢的生疏起来了,我们在公司学习了如何制作java五子棋,经...
java中按钮监听以及鼠标监听的使用

java中按钮监听以及鼠标监听的使用

java中按钮监听以及鼠标监听的使用2014-08-01 iteye cq520我们在进行java的GUI开发的时候,按钮以及鼠标监听的使用无疑是相当最要的,而如何巧妙的运用这些监听器,对今后的开发更是有很大的帮助,下面将分别介绍。实现按钮监听的方法:在java.awt.event下面有一个ActionListener的类,它是一个用于接收操作事件的侦听器接口,对处理操作事件感兴趣的就可以去使用这个接口。首先我们需要写一个类去实现这个接口,然后对我们的JB...
java文件操作及缓存机制依旧有瓶颈

java文件操作及缓存机制依旧有瓶颈

java文件操作及缓存机制依旧有瓶颈2014-08-01 cq520 我们在使用windows系统时发现,复制一个文件的再粘贴的速度大体上是一致的,我们可以猜想这是微软内部的工作人员设计的一个算法,而这个操作所能实现的最大速度是由什么影响的呢??那么我们可不可以自己设计一个方法来代替windows自带的复制粘贴方法来达到更快的传输速度呢??下面的一段代码就以缓冲的形势来实现了文件的copy工作:publicvoid copybyte(String srcF...
<< 271 272 273 274 275 276 277 278 279 280 >>