自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java同步方法与同步语句的对比

众所周知,使用synchronized关键词实现同步的方式有两种:同步方法和同步语句。同步方法相对简单,但不够灵活;同步语句不仅能够避免在同步代码中调用其他对象的方法,从而减少死锁的可能性,而且能实现更细粒度的同步。下面用程序来说明同步语句的两个优势。1.避免在同步代码中调用其它对象的方法。考虑下面的程序:public class DeadLock implements Runnabl

2015-03-22 21:31:46 406

原创 Java多线程与单线程性能对比

执行相同的任务量时,多线程是否比单线程要快?如果是,要快上多少?下面是一个测试程序:MultiThreadsPerformanceTest.javapublic class MultiThreadsPerformanceTest { public static void main(String[] args) throws Exception { int nThre

2015-03-22 20:43:23 2336

原创 for-each 结构的陷阱

for-each结构也叫增强型for语句,相比普通for语句而言,它更加的简洁。代价是它没有普通for语句那么灵活,比如,在你需要同时遍历多个集合或数组时,for-each结构就不适用了。当然了,在你觉得无法使用for-each实现的时候,自然会使用普通for语句。但有时候,在你觉得使用for-each没问题的时候,莫名其妙的错误发生了,且看下面的例子:public class ForEach

2015-03-20 20:35:56 513

翻译 Java 同步

同步线程通信主要通过对域和域指向的对象引用的共享访问进行。这种方式的通信效率很高,但是可能引发两类错误:thread interference(线程干扰)和memory consistency errors (内存一致性错误)。synchronization(同步)可以防止这些错误。然后,同步又会引起thread contention(线程争用)。当两个或以上线程同时访问同一资源,导致Ja

2015-03-18 12:25:11 232

翻译 Java线程对象

每个线程都关联了一个Thread实例。使用线程对象创建并发应用,有两种基本策略:直接控制线程的创建和管理,每当应用程序需要启动一个异步任务时,简单地实例化Thread。将线程管理从应用程序的其余部分抽象出来,把应用程序的任务传给executor。本文仅介绍Thread对象的使用。Executor在Java高级并发对象中讨论。定义并启动线程创建Thread实例的应用必须提供在线程

2015-03-17 15:03:14 397

翻译 Java I/O流

一个I/O流表示一个输入源或一个输出目标。流可以表示多种不同的源和目标,包括磁盘文件,设备,其他程序以及内存数组。流支持多种不同的数据,包括简单的字节,基本数据类型,本地化字符以及对象。某些流仅仅传递数据,另外的流则以某些有用的方式来加工和转换数据。无论流内部如何运作,展现在使用流的程序面前的是同一个简单的模型:流是一连串的数据。程序使用输入流从输入源中每次一项地读取数据,使用输出流向输出

2015-03-16 08:58:09 448

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除