自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java中接口和抽象类的区别你真的清楚吗?

一、引言      Java中抽象类和接口的区别你的真的全部知道吗?今天看见一片CSDN首页博文,感觉他总结的不是很好,于是自己亲自总结一下,结果发现很多意想不到的情况。那么先列一列总结出来的区别吧,这些你都知道吗?:         (1)抽象类单继承、接口多实现         (2)接口的所有成员变量都必须是public ,抽象类抽象方法必须是public,其他随意

2015-09-15 10:06:28 482 1

原创 java.util.concurrent包中线程安全的集合简介

一、线程安全的集合       Java中有很多支持多线程并发的集合,比如Hashtable、Vector但是这些“古老”的并发集合效率并不高,一般只支持一个线程对其进行读写(加锁是针对整张表)。从Java 5开始 Java在java.util.concurrent包中提供了更多,效率更高的线程安全集合。下面用一张图片来显示这些集合的继承实现关系。      注:java也可以使用coll

2015-09-11 14:10:41 1885

原创 Java 多线程中的任务分解机制-ForkJoinPool详解

一、任务分解问题和ForkJoinPool简介       在多线程并发编程中,有时候会遇到将大任务分解成小任务再并发执行的场景。Java 8新增的ForkJoinPool很好的支持了这个问题。       ForkJoinPool是一种支持任务分解的线程池,当提交给他的任务“过大”,他就会按照预先定义的规则将大任务分解成小任务,多线程并发执行。      一般要配合可分解任务接口Fo

2015-09-10 21:51:37 7300

原创 Java 中7种线程池详解+示例代码

一、线程池简介      周所周知,Java创建一个新线程的成本是比较高的。因此在面临大量的多线程任务时,采用线程池几乎成了惯用的做法,线程池其实也是设计模式中享元模式思想的一种应用。     一般线程池刚启动时会新建大量的(跟传入参数有关)空闲线程,程序将一个Runnable或者Callable对象传给线程池时,线程池会调用空闲线程执行他们的run()方法或者call()方法。执行完成后

2015-09-10 15:19:44 13546

原创 Java使用阻塞队列BlockingQueue实现线程同步

一、BlockingQueue简介       BlockingQueue是java.util.concurrent包提供的一个接口,经常被用于多线程编程中容纳任务队列。它提供了两个支持阻塞的方法:       put(E e):尝试把元素e放入队列中,如果队列已满,则阻塞当前线程,直到队列有空位。       take():尝试从队列中取元素,如果没有元素,则阻塞当前线程,直到取到元

2015-09-09 16:16:06 1445

原创 Java线程同步中的wait()和notify()使用简单示例

一、简介      有时候并发编程中,并不只是保证数据的一致性和操作的原子性,还需要使各个任务按正确的顺序执行。在Java中提供了多种方法来实现同步。这里使用wait()和notify()来实现一个简单的双线程交替工作的同步场景。      wait()是Object的方法,使得当前线程释放该Object的锁,同时可以设置一个等待时间。notify()也是Object的方法,通知某个等待该

2015-09-09 10:41:23 493

原创 Java中volatile的并发安全性分析

一、volatile的解释       当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。二、问题的发现     从volatile的定义上来看它看似应该能保证多个线程对volatile变量使用的同步,那么先来看一段代码。package com;public class Main { publi

2015-09-06 17:45:54 482

原创 Java 线程的suspend()和stop()不安全的原因

一、suspend()不安全的原因       在Java中线程的suspend()方法用于悬挂起一个线程,但是它之前持有的锁却没有释放。那么其他等待该锁的线程就会一直等待,直到该线程被resume(),那么在这种情况下,有可能造成循环等待,进而死锁。因此Java已经不推荐使用该方法。二、stop()方法不安全的原因      在Java中线程的stop()方法用于停止一个线程

2015-09-03 19:37:43 954

原创 java FutureTask的简单用法示例

一、Java Future简介        Java Future是Java实现线程的第三种方式,前两种是继承Thread和实现Runnable接口。那么Java future有什么优点呢?        (1)用它可以实现有返回值的线程  (2)它提供了一些良好的控制线程的方法:cancel,get等二、简单用法示例 (简单起见没有try catch)package

2015-09-03 18:59:07 586

python基础教程(第二版)(书签版)

这是一本学习Python的相当好的书籍,而且本人自己制作了书签,更利于阅读

2015-08-28

Ubantu命令大全

这是经过本人整理的Ubantu命令大全,网页版,有目录和点击跳转,很好用。

2015-08-18

Android安卓中文API参考文档

很好的安卓中文参考API,已经做成CHM格式,值得移动开发的人员珍藏!

2013-09-23

JDK6.0 中文文档

javaAPI参考,很不错的东西。可以下了珍藏,不容错过!

2013-05-03

空空如也

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

TA关注的人

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