最新文章列表

Java内存区域与内存溢出异常

之前根据平时的积累总结了篇博文“Java内存管理”,都是来自于平时的理解和积累,抽周末休息之余,翻阅了《深入理解Java虚拟机》第二章“Java内存区 ...
crawler 评论(0) 有1453人浏览 2012-09-02 18:56

TIJ 线程,为什么我老觉得 例程 有问题。我太SB啦还是Bruce出错了

TIJ 21.4.1 装饰性花园 Entrance.run()方法,++number时,作者进行了同步,而且,还专门注释说“Increase number(synchronized increase)”。我认为,此处根本无需同步,因为,对于每个 Entrance对象,肯定都有自己的 number 域,这个 number 域除了 Entrance对象以外,根本没有其他线程,需要修改它。每个Entra ...
iceman1952 评论(0) 有1173人浏览 2012-08-30 15:41

Java 多线程同步问题的探究(三、Lock来了,大家都让开【2. Fair or Unfair? It is a question...】)

让我们继续前面有关ReentrantLock的话题。 首先,ReentrantLock有一个带布尔型参数的构造函数 ,在JDK官方文档中对它是这样描述的: “此类的构造方法接受一个可选的公平 参数。当设置为 true 时,在多个线程 的争用下,这些锁倾向于将访问 权授予等待时间最长的线程 。否则此锁将无法保证任何特定访问顺序。与采用默认设置(使用不公平锁)相比,使用 公平锁的程 ...
chtx87_98 评论(0) 有618人浏览 2012-08-15 16:12

Java 多线程同步问题的探究(四、协作,互斥下的协作——Java多线程协作(wait、notify、notifyAll))

Java监视器支持两种线程:互斥和协作 。 前面我们介绍了采用对象锁和重入锁来实现的互斥。这一篇中,我们来看一看线程的协作。 举个例子:有一家汉堡店举办吃汉堡比赛,决赛时有3个顾客来吃,3个厨师来做,一个服务员负责协调汉堡的数量。为了避免浪费,制作好的汉堡被放进一个能装 有10个汉堡的长条状容器中,按照先进先出的原则取汉堡。如果容器被装满,则厨师停止做汉堡,如果顾客发现容器内的汉 ...
chtx87_98 评论(0) 有987人浏览 2012-08-15 10:38

Java 多线程同步问题的探究(三、Lock来了,大家都让开【1. 认识重入锁】)

在上一节中, 我们已经了解了Java多线程编程中常用的关键字synchronized,以及与之相关的对象锁机制。这一节中,让 我们一起来认识JDK 5中新引入的并发框架中的锁机制 。 我想很多购买了《Java程序员面试宝典》之类图书的朋友一定对下面 这个面试题感到非常熟悉: 问:请对比synchronized与java.util.concurrent.locks.Lock 的异同。 ...
chtx87_98 评论(0) 有901人浏览 2012-08-13 16:44

Java 多线程同步问题的探究(二、给我一把锁,我能创造一个规矩)

在上一篇中,我们讲到了多线程是如何处理共享资源的,以及保证他们对资源进行互斥访问所依赖的重要机制:对象锁 。 本篇中,我们来看一看传统 ...
chtx87_98 评论(0) 有694人浏览 2012-08-13 15:09

三线程联系输出abc

public class ThreadPrint { /** * @author my_corner * @param * @return * @throws InterruptedException */ public static void main(String[] args) throws Interru ...
lookqlp 评论(0) 有821人浏览 2012-08-11 16:03

java的concurrent用法详解

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然 没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、 notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性 ...
snoopy7713 评论(0) 有1022人浏览 2012-08-03 11:28

解决couchbase占用cpu问题

最近使用couchbase,发现它很占cpu,开启一个连接已经到了120%,开两个连接cpu直接被占满了。使用了jprofiler查到了原因,原来是在ViewConnection.java中有一段   @Override public void run() { while (running) { if (!reconfiguring) { t ...
zhaoImpulse 评论(2) 有2313人浏览 2012-08-02 18:46

ThreadLocal的直观浅显理解

文中例子来自互联网,但已找不到原出处。 在java中,如果某个对象是非线程安全的共享资源,在多线程环境下,如果不加任何限制,对该资源的访问会存在冲突问题。针对这个问题,有以下几种解决方案: 1.加synchronized关键字,这种做法会限制并发访问,影响效率; 2.使用ThreadLocal维护共享资源(变量),为每个使用共享资源(变量)的线程提供独立的变量副本,从而避免冲突问题。 ...
sdu_wizard 评论(0) 有1434人浏览 2012-07-25 10:13

【OSC手机App技术解析】- 列表异步线程加载图片

手机客户端以列表形式展示数据是非常常见的一种方式。然而列表中要显示图片(比如:头像)就要采用异步线程加载的方式,这样做是为了防止加载图片数据的时候,花费时间过长,阻塞UI线程,从而达到保持App的流畅性的目的。 下面我将分享 OSChina.NET Android版客户端的列表异步线程加载图片的方法: 图片缓存 private static HashMap& ...
liuxin-smallmouse 评论(0) 有1214人浏览 2012-07-23 15:16

TimerTask的简单定时应用

TimerTask是一线程安全的的类,他实现了Runnable线程的接口。1.在类中继承extends TimerTas。2.重写实现它的run()方法。  如:   引用   public calss Test_TimerTask extends TimerTask{    private String outputPath;    public  Test_TimerTask (){ ...
java小橙子 评论(0) 有486人浏览 2012-07-23 13:17

父线程停止是否会导致子线程停止

父线程停止是否会导致子线程停止呢? 不会,具体可看测试程序: public class MultiThread { public static void main(String args[]) throws Exception { boolean flag = true; while (flag) { ...
zhangbaoming815 评论(0) 有1802人浏览 2012-07-20 18:31

进程与线程的区别(转)

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间; (2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源 (3)线程是处理器调度的基本单位,但进程不是. 4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本 ...
linda_fxx 评论(0) 有994人浏览 2012-07-20 09:51

Java 多线程编程

1) 程序: 指令+数据的byte 序列, 如: qq.exe 2) 进程: 正在运行的程序, 是程序动态的执行过程(运行于主存储器) 3) 线程: 在进程内部, 并发运程的过程(方法) 4) 并发: 进程是并发运行的, OS 将时间划分为很多时间片段, 尽可能 均匀分配给正在运行的程序, 微观上进程走走停停, 宏观上都在运行 这种都运行的现象叫: 并发, 但是不是绝对意义上的"同时&qu ...
Jacular 评论(0) 有887人浏览 2012-07-18 20:40

线程的异步, 同步

1) 异步: 并发, 各干自己的: 如: 一群人上卡车 2) 同步: 步调一致的处理, 如: 一群人上公交车, "伦敦制"
Jacular 评论(0) 有882人浏览 2012-07-18 20:39

一个log的重构

××××××××××××××××××××××××××××× 项目最近在enhancement,很多东西现在一看都需要重构,特别是本人以前写的,哎,才疏学浅啊,还要努力学习才行。项目中有个记log的功能(可以理解的很简单,点击link就记一条log),是嵌在各个功能方法里边写的,这么写即难看,又不利于维护,而且对性能还会造成影响,所以现在考虑重构,重新来过。目前有3种方案:1)用log4j2)用sp ...
Eric.Yan 评论(0) 有1089人浏览 2012-07-09 18:13

可以返回执行结果的线程

java中继承自Thread或者实现Runnable接口的类都是可用于执行多线程任务的类 要想得到任务执行的结果,可以向类的构造方法中传入类类型参数,例如   class AddThread implements Runnable{ private int a;//操作数a private int b;//操作数b public Object result;//结果 ...
sdu_wizard 评论(0) 有1488人浏览 2012-07-02 20:31

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics