- 博客(126)
- 资源 (7)
- 收藏
- 关注
转载 java初始化顺序
初始化的实际过程为:在其它任何事物发生之前,将分配给对象的存储空间初始化成二进制的零。父类static 块或变量子类static块或变量父类的显式初始化父类构造函数子类的显式初始化子类的构造函数此过程中若有父类构造体中调用方法可被子类重载,则JVM会从最低子类对象处寻找此方法,找到则执行,虽然此时对象还未完全生成(可能会造成潜在的错误)。
2009-11-30 19:14:00 577
转载 对象的强、软、弱和虚引用
摘自《Java面向对象编程》一书,作者:孙卫琴 来源:www.javathinker.org 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它
2009-11-30 13:07:00 564
转载 jive备忘--浅析jive缓存
jive的缓存非常简单,很适合初学者提升功力,这里将jive缓存几个关键的地方拿出来与大家分享一下。 首先,让我们对jive缓存的类库有个框架性认识,如图: 上图所列的,就是jive实现缓存所用的几个关键类。主要包括Cache,Cacheable,CacheObject,Lin
2009-11-30 13:06:00 801
转载 Java中的volatile关键字
我们知道,在Java中设置变量值的操作,除了long和 double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器
2009-11-30 13:06:00 563
转载 java垃圾回收算法一窥
记得部门老大曾经说过,java的垃圾回收机制对于java体系结构的学习非常重要。这里将阅读的一些文献整理总结出来,记述java的几种垃圾回收算法。 垃圾回收算法有两个基本的问题:1.必须检测到垃圾对象。2.必须重新声明被垃圾对象占用的堆空间并且让堆空间可用。 可达性(reachability)
2009-11-30 13:05:00 558
转载 Jive 中的设计模式 (Design Pattern)
关键字: Jive, Design Pattern. 摘要: Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常 精炼, 适用于中小
2009-11-30 11:46:00 752
转载 java中关于优先级队列的实现
这几天一直在搞关于优先级队列的实现,因为要考虑到线程的安全,所以PriorityQueue就不适用了。一个非常简单的实现方法,那就是把优先级比较好的插入一个队列,优先级低的插入另一个队列,取数的时候先在优先级高的队列上取数。这有个缺点就是如果优先级别越多的话,队列就越多。 因为要线程安全,队列采用ConcurrentLink
2009-11-30 11:36:00 2798 1
转载 jdk concurrent collection---ConcurrentLinkedQueue原理分析
先来回顾之前提到过的ConcurrentHashMap,它是一个以Concurrent开头的并发集合类,其原理是通过增加锁和细化锁的粒度来提高并发度。 另一个值得一提的Concurrent是ConcurrentLinkedQueue。这个类采用了另一种提高并发度的方式:非阻塞算法(Non-blocki
2009-11-30 11:36:00 1809
转载 Socket常量含义
1. TCP_NODELAYCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public boolean getTcpNoDelay() throws SocketExceptionpubl
2009-11-30 11:04:00 1461
转载 Java中volatile关键字的效果
使用volatile和不使用volatile的区别在于JVM内存主存和线程工作内存的同步之上。volatile保证变量在线程工作内存和主存之间一致。以下是示例程序,成员变量boolValue用volatile修饰会导致程序很快退出:Java代码 package linyumin.te
2009-11-29 14:42:00 509
转载 JAVA高级:多核线程-volatile原理与技巧
为什么使用volatile比同步代价更低?同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能. 而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.volatile原理是什么?volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见java内存模型)因此, 当多
2009-11-29 13:18:00 522
转载 我的电子书架IV
hu 时时勤拂扫, 莫使有尘埃. --update at 2005.6.22因为服务器关系暂时不能下载了,要的朋友可以加我QQ:228013,不过:1.书多是英文版2.请善用emule和bbs.itebook.com,能找到的书就不要找我了3.加好友时请写明要的书名
2009-11-27 20:16:00 657
转载 Java下的框架编程(5)--cglib的应用
反射、Proxy和元数据是Java最强的三个特征,再加上CGLib (Code Generation Library)和ASM,使得Java虽然没有Ruby,Python般后生可畏,一样能做出强悍的框架。 Proxy可以看作是微型的AOP,明白提供了在继承和委托之外的第三个代码封装途径,只要有足够的想象力,可以做得非常好玩,S
2009-11-27 20:14:00 544
转载 Java下的框架编程(4)--Annotation vs XML vs Interface 最新一Round
1.因为两者的用途不同,所以Annotation与XML应该并存 Anootation vs XML 到了现在,在Spring和EJB3各占一边的持续演示下,各自的用途已清晰。 虽然两者之间完全可以相互替代,没有绝对不能做的事情,但却存在好不好的问题,两者的用途不同,应该并用: "size=10,db_user=it
2009-11-27 20:13:00 714
转载 Java下的框架编程(反射,泛型,元数据,CGLib,代码动态生成,AOP,动态语言嵌入)(1)--序
序 以Ruby为助力的Ruby on Rails 横空出世,又刷新了一次人们对Framework的认识:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名词砸得人悴不及
2009-11-27 20:12:00 739
转载 架构师09年书单
年又过年,去年在写在译的书又长出了一茬,又是时候订一份今年的读书计划。架构师类 架构类的书从来都很少,今年又长出两本来。《Beautiful Architecture》 --《Beautiful Code》的姐妹作,里面有三成的架构是自己感兴趣的,已经有国内出版社拿下了,见架构师的唐诗
2009-11-27 20:10:00 501
转载 始终会用上的Common BeanUtils
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。1.属性的动态getter、setter 在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要根据名字动
2009-11-27 20:08:00 466
转载 JavaEE事务扫盲笔记之一扫扫到尾
音箱里放的是《暮良文王》、《相相生》,再看下面的笔记体,虽然实用,但还是数完盘来再数碟,言语无味的很。以后不是这里的地荒得太厉害,就尽量让这些笔记在wiki里安静的呆着吧。1.资料《Java Transaction Design Strategies》 InfoQ minibook,最好的电子文档
2009-11-27 20:04:00 655
转载 设计美好的服务器(6)--SEDA架构笔记
OverviewSEDA Adaptive Overload Control for Busy Internet Servers An Architecture for Highly Concurrent,Well-Conditioned Internet Services SEDA(Staged Eve
2009-11-27 20:03:00 835
转载 设计美好的服务器(5)--Shoal集群框架
OverviewShoal Shoal Overview Clustering with the Shoal Framework(java.net) Shoal JXTA Overview Presentation 作者Blog Shoal是Glassfish的群集子项目
2009-11-27 20:02:00 802
转载 设计美好的服务器(4)--Mule ESB笔记
OverviewMule Mule ESB笔记(花钱的年华) Mule Training(MuleConf2007) Exploring ESB Patterns with Mule(java.net) Mule: A Case Study(TSS) Evolutionary inte
2009-11-27 20:00:00 1311
转载 设计一个美好的服务器--MINA、CXF、Mule、JBoss/Geronimo
假如冬夜,一个旅人,要开发一个美好的Java后台服务器。所谓美好,就是要高性能,千万级的用户;高可靠性,failover虽死犹生;高扩展性,跟周围那帮Tuxedo,IBM MQ,WebService的邻居要好好打交道。这是个毫无个性,几乎每次都一样的需求。Java的开源世界为那些心里不安的设计师们,准备了MINA、CXF、Mule和JBoss/Geronimo。1、MINA
2009-11-27 19:59:00 981
转载 轻的,谁都会写的Service方案--REST与JSON
1.REST1.1 缘起 N年前,一说到跨平台的服务方案,大牛们就想到"Socket Server",小兵们就一直退,退到会议室的墙角。 几年前,一说到跨平台的服务方案,连客户都会想到"Web Service"。 现在,是个人都可以,在几分钟里,使用REST风格把一个服务的客户端和服务端写出来。1.2 初见 REST首先是一个词,
2009-11-27 19:59:00 961
转载 设计美好的服务器II--站在JBoss MicroKernel上
一个Java World的业务处理服务器,总会遇上JNDI/JMX/JMS/JTA/Web Service/RMI/Corba/EJB/Clustering 这些JavaEE规范。大家可以依着Java开源社区的繁盛,以JDK+开源实现来拼凑遇到的规范,Geromino就是这样成就了大业。也可以像传说中一些欧洲电信公司那样,将服务引擎建在JBoss之上,需要的构件直接上JBoss套装,自己则
2009-11-27 19:58:00 619
转载 SEDA性能优化的分析和模拟
在学习Mule的过程中,发现MULE对于服务调用的性能做了不少优化工作,其中最显著的就是实现SEDA模型。Staged Event Driven Architecture (SEDA)是加州大学伯克利分校研究的一套优秀的高性能互联网服务器架构模型。其设计目标是:支持大规模并发处理、简化系统开发、支持处理监测、支持系统资源管理。它的核心思想是把一个请求处理过程分成几个Sta
2009-11-27 19:38:00 730
转载 cindy 问答
Cindy是一个基于java nio的I/O框架,支持TCP/UDP单播/UDP多播/Pipe,为应用程序提供了一个统一的接口去实现异步和同步的网络操作。 javaio包提供了一个简单的模型去处理网络流,它所有的读写方法均为阻塞操作,因此在一般的应用里,用户总是开启一个独立线程或一个线程池去处理这些操作。javaio模型非常简单易用,但在扩展性和效率上存在着一些问题
2009-11-27 19:19:00 1301
转载 从java jar文件包中读资源的常用方法
在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播放,而一旦打包到jar文件中,这些东东就再也出不来了,除非把这个jar放到原来未打包以前的目录下,但通常jar是单独发布的。[关键字] java jar文件包 资源 可能有不少初学者会有这样的困惑:在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播
2009-11-27 15:34:00 782
转载 JAVA读取资源文件的N种方法
如何读取资源文件:(一)Properties props = new Properties(); props.load(new FileInputStream("db.properties"));(二)blog.properties文件如下dbdriver=oracle.jdbc.driver.OracleDriverdburl=jdbc:oracle:t
2009-11-27 15:23:00 1990
转载 CoR 模式(另一种)
CoR(Chain of Responsibility) 职责链设计模式我在 两种 CoR(一)中讨论了传统的CoR实现:但我感觉 让 每个处理器都持有后继处理器的引用,会增加处理器之间的耦合度. 下面是我的一些想法 和 具体实现:(1)处理器 不持有 后继处理器的引用,引入一个新的角色 处理器容器(HandlerContainer)
2009-11-27 10:55:00 716
转载 CoR 模式 (一种)
CoR(Chain of Responsibility) 即职责链设计模式:使多个对象都有机会处理请求(Request),从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。职责链设计模式 大概有三个角色:(1)请求(Request):封装请求信息(2)处理器(
2009-11-27 10:53:00 1289
转载 cindy源码分析filterchain
常用的网络通讯框架主要有:Mina ,Grizzly,Cindy,Netty等,看了下cindy的代码,和mina有很多相似的地方,实现的比mina精简很多,据说性能还要好于mina.参照代码实现了一下filterchain的HelloWorld版,简单说明一下cindy里对filterchain模式的应用.首先定义filter接口,filter接口封装了session中的s
2009-11-27 10:44:00 2375
转载 Java 理论与实践: 正确使用 Volatile 变量
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。
2009-11-27 10:13:00 429
转载 Java 7的新特性
我刚从在Antwerp召开的Devoxx大会上回来,会上介绍了Java7的新特性,对应的JDK将于2010年9月发布。下面是7个已经完成的新特性:对collections的语言级支持自动资源管理改进泛型在创建实例时的类型引用带下划线的数字在switch中使用String二进制文字简化的可变参数方法调用Java7还有很多其他的新特性,我将会对此进
2009-11-27 10:11:00 466
转载 Cache Insight
程序员主编霍泰稳,找到庄表伟,要找个人写介绍Cache的文章。庄表伟推荐了我。前几天讨论Cache,正好可以写个总结。于是,我就写了一篇。由于错漏在所难免,先发出来,和大家一起讨论,求得指正。-----------------Cache Insight前言首先,介绍一下我(作者)自己使用Cache的背景,以便读者更清楚地了解我下面要讲述
2009-11-26 20:47:00 406
转载 servlet thread, SEDA
也是和程序员朋友聊天。说到了SEDA。关于请求分类合并,批量处理。谈到一个问题,就是thread个数问题。目前的servlet container的thread策略是一个request,一个thread。如果换成如下的方式,就可能减少thread个数。request进来,不启动一个thread。而是产生一个listn
2009-11-26 20:47:00 578
转载 Java Web开发构想
1.背景、形势能够进行Web开发的编程语言和技术很多(1) 动态解释语言PHP; Perl; Python (Zope, Plone); Ruby (Ruby on Rails);(2) 编译语言Java; .netJava Web开发远非一枝独秀:除了受到来自.net 这个重量级对手的最大挑战之外,更受到Zope, Ruby on R
2009-11-26 20:46:00 447
转载 MVC的迷思
这个贴子是从“代码擂台”转过来的。我想专门讨论一下这个问题。MVC的概念已经深入人心,是经常被大家经常提到的法宝利器。 我感到有必要澄清MVC的概念和来龙去脉,以便大家有一个共识,有一个共同讨论的基础,以便能够把讨论更深入地进行下去,解决真正的问题,而不是在一些技术概念上绕圈子。 一般来说,我不喜欢在名词概念上做文章,发表看法和评论。因
2009-11-26 20:44:00 430
转载 线程同步
看到大家的反馈,感到深受鼓励.看来这种举例说明本质原理的浅显易懂的文章, 还是比较受欢迎的.关于线程, 我以前也写过一些文章.只是写得不那么清楚易懂.一是因为自己的理解也有限, 二是很难找到灵感,很难写出一个非常贴切的例子.应一些坛友的意见. 我这里继续发一些线程相关的内容. 内容的条理性和连贯性可能有些欠缺.----------
2009-11-26 20:43:00 457
转载 字符串编码(charset, encoding/decoding)问题原理
编码问题很重要,关于编码问题的文章也很多。我本来没有兴趣重复这个主题。一个朋友问我有没有比较好的编码介绍文章。我记得以前看过几篇很不错的,但是当时搜索到的时候,就比较费劲,一时想不起来。于是,我就说,我攒一篇好了。---------------------------------------编码无处不在。Database, file, editor, IDE, comp
2009-11-26 20:38:00 689
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人