java
dblackde
这个作者很懒,什么都没留下…
展开
-
Java闲言碎语之----构造器参数传递
简介:我们知道java内存中对象的分配 一般的粗略的分配是, 堆、栈上。在Java的创建每一个对象的时候,所以的实例变量都要在堆上分配。同时,也有一个栈帧的(Stack Frane)的创建,用于存储局部变量、操作栈、方法等信息。局部变量存放一些在编译期可知的各种基本的数据的类型(如:boolean byte char string long double) 对象引用等。在构造器中传递引用和原创 2014-04-03 11:15:59 · 1043 阅读 · 0 评论 -
【Java并发编程实践】— ThreadLocal分析
前言首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。(注意这里说的只是“一般情况”,如果通过ThreadLocal.set() 到线程中的对象是多线程共享的同一个对象,各个线程中访问的将是同一个共享对象)。转载 2014-03-12 14:37:06 · 797 阅读 · 0 评论 -
Java多线程 之BlockingQueue深入分析
一、概述:BlockingQueue作为线程容器,可以为线程同步提供有力的保障。二、BlockingQueue定义的常用方法1.BlockingQueue定义的常用方法如下: 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e, time, unit)移转载 2014-02-21 14:45:04 · 902 阅读 · 0 评论 -
Java代码注释XXX、TODO、FIXME的意义
特殊注释:1、 TODO表示需要实现,但目前还未实现的功能2 、XXX勉强可以工作,但是性能差等原因3 、FIXME代码是错误的,不能工作,需要修复TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修转载 2013-12-24 14:04:55 · 1207 阅读 · 0 评论 -
Java异常处理的陋习展播
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?OutputStreamWriter out = ...java.sql.Connection conn = ...try{ // ⑸ Statement stat = conn.createStatement(); ResultSet rs转载 2013-11-25 13:32:55 · 911 阅读 · 0 评论 -
生产者 消费者 (wait notify)
1、简介:生产者-消费者(producer-consumer)问题是一个著名的线程同步问题。它描述的是:有一群生产者线程在生产产品,并将这些产品提供给消费者线程去消费。为使生产者与消费者之间能够并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者将它所生产的产品放入一个缓冲区中;消费者可以从一个缓冲区中取走产品产生消费。尽管所有的生产者线程和消费者线程都是以异步方式运行的,但他们之间必原创 2013-09-14 16:56:55 · 1105 阅读 · 0 评论 -
Java 障碍器
简介:CyclicBarrier就象它名字的意思一样,可看成是个障碍, 所有的线程必须到齐后才能一起通过这个障碍。当所有的任务都达到障碍点的时候,最后的任务才会被执行。 DOC:一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier原创 2013-09-15 18:00:54 · 905 阅读 · 0 评论 -
Java 锁
1、Lock 接口常用方法方法摘要 voidlock() 获取锁(阻塞的方法,如果,不能获取锁一直进入阻塞的状态,直到获得锁。) booleantryLock() 仅在调用时锁为空闲状态才获取该锁。(非阻塞的方法,如果,不能获取锁,就返回false。) boolean原创 2013-09-14 23:25:25 · 821 阅读 · 0 评论 -
Java 信号量
简介:信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Rele原创 2013-09-15 18:24:19 · 932 阅读 · 0 评论 -
关于 Java Collections API 您不知道的 5 件事
关于Java Collections API您不知道的 5件事,第 1部分Java Collections API远不止是数组的替代品,虽然一开始这样用也不错。Ted Neward提供了关于用 Collections做更多事情的 5个技巧,包括关于定制和扩展 Java Collections API的基础。 关于Java Collec原创 2013-08-30 17:52:47 · 1039 阅读 · 0 评论 -
构建高性能的 HTTP 服务器 (二)--NIO 模式的HTTP服务器
前言: 在上一节我们介绍了,阻塞模式的HTTP服务器,所有的新的请求,都要在新的线程中处理。在JDK1.4中引入了非阻塞的通信的机制。服务器只需要一个线程就可以与多个客户的通信的任务。其通信的包主要位于java.nio中。1、采用阻塞模式,用线程池中的工作线程处理每一个连接。/** * 阻塞模式,用线程池里面的工作线程处理 每个连接 * @author Wang * *原创 2013-06-28 23:57:26 · 1379 阅读 · 0 评论 -
构建高性能的 HTTP 服务器 (一)--初涉Java HTTP 服务器
简介: Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。一:浏览器的请求头 下面是Firefox浏览器,GET请求的数据原创 2013-06-26 23:33:46 · 2197 阅读 · 0 评论 -
java 引用类型的介绍
1、强引用我们平常声明一个对象如 Object object = new Object() 中的object 就是强引用,当JVM的内存不足的时候,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。2、软引用(SoftReference)如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这原创 2013-05-07 15:52:46 · 746 阅读 · 0 评论 -
线程中定时计划
1、scheduleAtFixedRate与scheduleWithFixedDelay的区别 API文档的描述:ScheduledFuture scheduleAtFixedRate(Runnable command, long initialDelay,原创 2013-04-29 15:55:55 · 948 阅读 · 0 评论 -
WebSocket 的原理和Client的实现
简介: 过去,创建需要在客户端和服务之间双向通信(例如,即时消息和游戏应用)的web应用,需要一个滥用的HTTP来轮询服务器进行更新但以不同的HTTP调用发生上行通知[RFC6202]。这将导致各种各样的问题:1、服务器被迫为每个客户端使用一些不同的底层TCP连接: 一个用于发送信息到客户端和一个新的用于每个传入消息。2、线路层协议有较高的开销,因为每个客户端-服务器消息都有一原创 2014-05-29 17:59:03 · 6209 阅读 · 0 评论