java Future用法和意义一句话击破

在并发编程时,一般使用runnable,然后扔给线程池完事,这种情况下不需要线程的结果。  所以run的返回值是void类型。  如果是一个多线程协作程序,比如菲波拉切数列,1,1,2,3,5,8...使用多线程来计算。  但后者需要前者的结果,就需要用callable接口了。  ca...

2016-07-30 21:39:33

阅读数:541

评论数:0

BlockingQueue

The Java BlockingQueue interface in the java.util.concurrent package represents a queue which is thread safe to put into, and take instances from. In...

2016-07-28 13:11:25

阅读数:240

评论数:0

Read / Write Locks in Java

A read / write lock is more sophisticated lock than the Lock implementations shown in the text Locks in Java. Imagine you have an application that ...

2016-07-20 11:48:32

阅读数:279

评论数:0

Semaphores in Java

Semaphores are a really simple concept, invented by the famous Dutch computer scientist Edsger Dijkstra. Basically a semaphore is a counter (integer)...

2016-07-18 16:40:36

阅读数:274

评论数:0

ConcurrentHashMap 的实现原理

概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fas...

2016-07-18 16:39:04

阅读数:264

评论数:0

非阻塞同步算法与CAS(Compare and Swap)无锁算法

锁(lock)的代价 锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程...

2016-07-18 16:30:08

阅读数:402

评论数:0

The Event-Dispatching Thread

Swing event-handling and painting code executes in a single thread, called the event-dispatching thread. This ensures that each event handler finis...

2016-07-18 14:37:42

阅读数:282

评论数:0

SWING WORKER EXAMPLE

Java provides a neat way to carry out long lasting jobs without have to worry about the complexity of threads or lack of responsiveness in an applica...

2016-07-18 14:27:23

阅读数:255

评论数:0

Using wait(), notify() and notifyAll() in Java: common problems and mistakes

Here are some limitations and common things that go wrong with the wait() / notify() paradigm in Java: You need to check the condition before ente...

2016-07-12 21:45:50

阅读数:196

评论数:0

Thread Signaling

The purpose of thread signaling is to enable threads to send signals to each other. Additionally, thread signaling enables threads to wait for signal...

2016-07-12 21:34:18

阅读数:367

评论数:0

Java序列化机制和原理

Java序列化算法透析   Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java...

2016-07-11 21:47:19

阅读数:255

评论数:0

Java与字符编码问题详谈

一、字符集和字符编码方式  计算机只懂得0/1两种信号,而人类所使用的符号却无法尽数。要让计算机能够表示大千世界的符号,就一定要为每个符号指定一个唯一的整数。而这一套符号与整数的对应集合,就是我们经常谈论的字符集 。而且,每一个字符所对应的整数用多少个计算机字节表示,也就涉及到了字符编码方式...

2016-07-05 23:09:00

阅读数:1337

评论数:0

解析Unicode编码和Java char

Java的字符类型采用的是UTF-16编码方式对Unicode编码表进行表示。其中一个char类型固定2Bytes(16bits)。首先先介绍一下Unicode编码表和UTF-16编码算法:        Unicode编码表的专业术语:        代码点 (code point): 指在...

2016-07-05 23:07:26

阅读数:301

评论数:0

Tomcat源码分析之ClassLoader部分的设计详细分析

读Tomcat的源码也算是有一段时间了吧,感觉读的也是断断续续的,这次写一篇比较综合性的吧,来看看Tomcat的整体ClassLoader体系的设计。。。。 在具体的涉及到源码之前,先来一张图来整体的描述一下整体的结构吧: 这张图在以前的文章应该也出现过。。。首先整个Tom...

2016-07-03 21:44:47

阅读数:340

评论数:0

Tomcat的服务启动做了些什么?

Tomcat服务启动官方的流程文档在源码的webapps/docs/architecture/startup目录下。 当我们执行startup脚本时,其实就是检查了下环境变量和把值传递给同目录下的catalina脚本,具体两个脚本分别做了什么看下面两篇博客就好,我还是不太懂脚本。 startu...

2016-07-03 09:46:02

阅读数:1881

评论数:0

Tomcat内核之Tomcat的类加载器

跟其他主流的Java Web服务器一样,Tomcat也拥有不同的自定义类加载器,达到对各种资源库的控制。一般来说,Java Web服务器需要解决以下四个问题: ①   同一个Web服务器里,各个Web项目之间各自使用的Java类库要互相隔离。 ②   同一个Web服务器里,各个Web项...

2016-07-03 09:39:30

阅读数:326

评论数:0

Tomcat7源码分析——启动过程和类加载器

0. Tomcat简介 Tomcat,全名Apache Tomcat,是Apache Jakarta下的一个子项目。Tomcat是对Servlet API定义的容器的一个完整实现,同时它也不仅仅是一个容器,也完全可以当做一个纯Java实现的HTTP服务器来使用。按照维基百科最早的记载,是在1...

2016-07-03 09:36:56

阅读数:1134

评论数:0

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