<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hoonee]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u012175682</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012175682]]></copyright><item><title><![CDATA[Demo]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84676471</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84676471</guid><author>u012175682</author><pubDate>Sun, 19 Oct 2014 21:10:35 +0800</pubDate><description><![CDATA[
package com.huawei.crs.dataswitch.ui;



import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.Ac...]]></description><category></category></item><item><title><![CDATA[dsl 编译包]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84607892</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84607892</guid><author>u012175682</author><pubDate>Wed, 18 Jun 2014 19:07:37 +0800</pubDate><description><![CDATA[dsl 编译包]]></description><category></category></item><item><title><![CDATA[日志工具log4j common-log]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84607315</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84607315</guid><author>u012175682</author><pubDate>Mon, 16 Jun 2014 23:08:14 +0800</pubDate><description><![CDATA[日志工具log4j common-log]]></description><category></category></item><item><title><![CDATA[Xtext Documentation解读]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84605995</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84605995</guid><author>u012175682</author><pubDate>Thu, 12 Jun 2014 21:39:25 +0800</pubDate><description><![CDATA[Xtext Documentation解读]]></description><category></category></item><item><title><![CDATA[ibatis框架[ibatis-2.3.4.726] ]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84605735</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84605735</guid><author>u012175682</author><pubDate>Wed, 11 Jun 2014 23:35:56 +0800</pubDate><description><![CDATA[ibatis框架[ibatis-2.3.4.726] ]]></description><category></category></item><item><title><![CDATA[Java 并发编程实战]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84603067</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84603067</guid><author>u012175682</author><pubDate>Fri, 30 May 2014 08:11:25 +0800</pubDate><description><![CDATA[Java 并发编程实战
]]></description><category></category></item><item><title><![CDATA[疯狂Java讲义第二版代码]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84603044</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84603044</guid><author>u012175682</author><pubDate>Fri, 30 May 2014 00:38:43 +0800</pubDate><description><![CDATA[疯狂Java讲义第二版代码]]></description><category></category></item><item><title><![CDATA[07.Oracle官方并发教程之不可变对象]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26852257</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26852257</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 17:51:16 +0800</pubDate><description><![CDATA[一个对象如果在创建后不能被修改，那么就称为不可变对象。在并发编程中，一种被普遍认可的原则就是：尽可能的使用不可变对象来创建简单、可靠的代码。 
在并发编程中，不可变对象特别有用。由于创建后不能被修改，所以不会出现由于线程干扰产生的错误或是内存一致性错误。 


但是程序员们通常并不热衷于使用不可变对象，因为他们担心每次创建新对象的开销。实际上这种开销常常被过分高估，而且使用不可变对象所带来]]></description><category></category></item><item><title><![CDATA[06.Oracle官方并发教程之Guarded Blocks]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26851235</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26851235</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 17:43:46 +0800</pubDate><description><![CDATA[多线程之间经常需要协同工作，最常见的方式是使用Guarded Blocks，它循环检查一个条件（通常初始值为true），直到条件发生变化才跳出循环继续执行。在使用Guarded Blocks时有以下几个步骤需要注意：
假设guardedJoy()方法必须要等待另一线程为共享变量joy设值才能继续执行。那么理论上可以用一个简单的条件循环来实现，但在等待过程中guardedJoy方法不


停]]></description><category></category></item><item><title><![CDATA[05.Oracle官方并发教程之活跃度]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26843407</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26843407</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 16:36:10 +0800</pubDate><description><![CDATA[一个并发应用程序能及时执行的能力称为活跃性。本节将介绍最常见的活跃性问题：死锁（deadlock），以及另外两个活跃性问题：饥饿（starvation）和活锁（


livelock）。


死锁


死锁描述了这样一种情景，两个或多个线程永久阻塞，互相等待对方释放资源。下面是一个例子。


Alphone和Gaston是朋友，都很讲究礼节。礼节有一个严格的规矩，当你向一个]]></description><category></category></item><item><title><![CDATA[04.Oracle官方并发教程之同步]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26839793</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26839793</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 16:05:10 +0800</pubDate><description><![CDATA[线程间的通信主要是通过共享域和引用相同的对象。这种通信方式非常高效，不过可能会引发两种错误：线程干扰和内存一致性错误。防止这些错误发生的方法是


同步。




不过，同步会引起线程竞争，当两个或多个线程试图同时访问相同的资源，随之就导致Java运行时环境执行其中一个或多个线程比原先慢很多，甚至执行被挂起，


这就出现了线程竞争。线程饥饿和活锁都属于线程竞争的范畴。关于线]]></description><category></category></item><item><title><![CDATA[03.Oracle官方并发教程之线程对象]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26820505</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26820505</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 12:13:52 +0800</pubDate><description><![CDATA[在Java中，每个线程都是Thread类的实例。并发应用中一般有两种不同的线程创建策略。直接控制线程的创建和管理，每当应用程序需要执行一个异步任务的时候就为其创建一个线程，将线程的管理从应用程序中抽象出来作为执行器，应用程序将任务传递给执行器，有执行器负责执行。


这一节，我们将讨论Thread对象，有关Executors将在高级并发对象一节中讨论。




定义并启动一个线程]]></description><category></category></item><item><title><![CDATA[01.Oracle官方并发教程之概述]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26818407</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26818407</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 11:30:13 +0800</pubDate><description><![CDATA[标注：本文zhuanzhi
原文地址：
翻译地址：


计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件，管理打印队列或者缓冲音频的时候他们可以继续在文字处理


程序上工作。甚至对于单个应用程序，他们任然期待它能在在同一时间做很多事情。举个例子，一个流媒体播放程序必须能同时完成以下工作：从网络上读取数字


音频，解压缩数字音频，管理]]></description><category></category></item><item><title><![CDATA[Java并发教程]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84601675</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84601675</guid><author>u012175682</author><pubDate>Sat, 24 May 2014 11:18:43 +0800</pubDate><description><![CDATA[计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件，管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作。甚至对于单个应用程序，他们任然期待它能在在同一时间做很多事情。举个例子，一个流媒体播放程序必须能同时完成以下工作：从网络上读取数字音频，解压缩数字音频，管理播放和更新程序显示。甚至文字处理器也应该能在忙于重新格式化文本和刷新显示的情况下同时响应键...]]></description><category></category></item><item><title><![CDATA[Java NIO 教程]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/26278897</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/26278897</guid><author>u012175682</author><pubDate>Mon, 19 May 2014 19:16:01 +0800</pubDate><description><![CDATA[Java NIO 教程]]></description><category></category></item><item><title><![CDATA[Thinking In Java]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84599772</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84599772</guid><author>u012175682</author><pubDate>Sat, 17 May 2014 13:34:39 +0800</pubDate><description><![CDATA[Thinking In Java 电子书英文版]]></description><category></category></item><item><title><![CDATA[问题：为什么线程名称为Thread-1的线程没有被成功创建？]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/84599397</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/84599397</guid><author>u012175682</author><pubDate>Thu, 15 May 2014 21:05:05 +0800</pubDate><description><![CDATA[为什么线程名称为Thread-1的线程没有被成功创建？

package com.hoonee.javase.thread;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
/**...]]></description><category></category></item><item><title><![CDATA[学习计划[201405 ~ 201410]]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/25911127</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/25911127</guid><author>u012175682</author><pubDate>Thu, 15 May 2014 19:27:23 +0800</pubDate><description><![CDATA[1.JavaSE
2.JavaEE
3.SSH
4.DB: M]]></description><category></category></item><item><title><![CDATA[JavaSE15_JDBC编程之JDBC驱动的四种类型]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/25551053</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/25551053</guid><author>u012175682</author><pubDate>Sun, 11 May 2014 16:23:33 +0800</pubDate><description><![CDATA[JDBC驱动的四种类型]]></description><category></category></item><item><title><![CDATA[技术网站汇总]]></title><link>https://blog.youkuaiyun.com/u012175682/article/details/25549657</link><guid>https://blog.youkuaiyun.com/u012175682/article/details/25549657</guid><author>u012175682</author><pubDate>Sun, 11 May 2014 16:00:05 +0800</pubDate><description><![CDATA[技术网站汇总


cainiao]]></description><category></category></item></channel></rss>