摘要: (原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知识来讲解,可能该章节概念的东西比较多。一个开发Java的开发者,一旦了解了JVM内存模型就能够更加深入地了解该语言的语言特性,可能这个章节更多的是概念,没有太多代码实例,所以希望读者谅解,有什么笔误来Email告知:silentbalanceyh@126.com,本文尽量涵盖所有Java语言可以碰到的和内存相关的内容,同样也会提到一些和内存相关的计算机语言的一些知识,为草案。因为平时开发的时候没有特殊情况不会进行内存管理,所以有可能有笔误的地方比较 阅读全文
posted @ 2011-02-18 15:11 ajian005 阅读(292) 评论(0) 推荐(1)
摘要: jdk1.4、jdk5.0、JDK6.0、 JDK7.0 新特性 http://blog.sina.com.cn/s/blog_4bb5650c0100gxo4.html1.4版本特性 JDK1.4新特性之I/O APIs篇 http://vvnet.javaeye.com/blog/463740 Java NIO原理和使用 http://gzcj.javaeye.com/blog/3072175.0版本特性1. 泛型 2 自动装箱/拆箱 3 for-each 4 static import 5 变长参数 6 java多线程 jdk5.0多线程学习笔记(一) http://gzcj.javae 阅读全文
posted @ 2011-02-18 13:19 ajian005 阅读(286) 评论(0) 推荐(0)
摘要: 架构师书单一、Software Architecture篇 这个领域没有什么"畅销书",可能读者中本来就是开发设计人员与项目经理占了多数,真正定位为架构师而且做的也是架构师工作的不多吧,你懂的尽是偏僻的人生。《Software Architecture in Practice,2nd Edition--软件构架实践(第2版)》 第一版是第九届JOLT作品,一本被引用很多的架构书。《Documenting Software Architectures --软件构架编档》第13届JOLT大奖作品,捕获架构的过程,徐昊推荐。《Applied Software Architectu 阅读全文
posted @ 2011-02-17 17:29 ajian005 阅读(265) 评论(0) 推荐(0)
摘要: 本文从程序的运行时结构和源代码的组织结构两个方面探讨了系统构架设计应考虑的各种因素,列举了系统构架设计文档应考虑的一些问题。 一、与构架有关的几个基本概念: 1、模块(module):一组完成指定功能的语句,包括:输入、输出、逻辑处理功能、内部信息、运行环境(与功能对应但不是一对一关系)。 2、组件(component):系统中相当重要的、几乎是独立的可替换部分,它在明确定义的构架环境中实现确切的功能。 3、模式(pattern):指经过验证,至少适用于一种实用环境(更多时候是好几种环境)的解决方案模板(用于结构和行为。在 UML中:模式由参数化的协作来表示,但 UML不直接对模式的其他... 阅读全文
posted @ 2011-02-17 17:25 ajian005 阅读(476) 评论(0) 推荐(0)
摘要: 本文从程序的运行时结构和源代码的组织结构两个方面探讨了系统构架设计应考虑的各种因素,列举了系统构架设计文档应考虑的一些问题。 一、与构架有关的几个基本概念: 1、模块(module):一组完成指定功能的语句,包括:输入、输出、逻辑处理功能、内部信息、运行环境(与功能对应但不是一对一关系)。 2、组件(component):系统中相当重要的、几乎是独立的可替换部分,它在明确定义的构架环境中实现确切的功能。 3、模式(pattern):指经过验证,至少适用于一种实用环境(更多时候是好几种环境)的解决方案模板(用于结构和行为。在 UML中:模式由参数化的协作来表示,但 UML不直接对模式的其他... 阅读全文
posted @ 2011-02-17 17:22 ajian005 阅读(187) 评论(0) 推荐(0)
摘要: 参考:memcached完全剖析–1. memcached的基础 http://tech.idv2.com/2008/07/10/memcached-001/memcached本身是集中式的缓存系统,要搞多节点分布,只能通过客户端实现。memcached的分布算法一般有两种选择:1、hash模余算法:根据hash(key)的结果,模连接数的余数决定存储到哪个节点(键的整数哈希值,根据服务器个数取余来选定服务器节点),也就是hash(key)% sessions.size(),这个余数计算的方法简单,数据的分散性也相当优秀。 但也有其缺点。那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加 阅读全文
posted @ 2011-02-17 17:07 ajian005 阅读(174) 评论(0) 推荐(0)
摘要: 目前在网站的架构构成中普遍使用到缓存来提供WEB应用的性能,由于网站规模的不同,分别存在如下几种类型的缓存架构。(1)单机缓存(2)简单分布式缓存(3)使用复制方式的缓存集群(4)使用散列方式的缓存集群(5)高性能高、可靠的缓存集群下面对于上述几种缓存策略的实际应用的适用情况以及优缺点进行详细分析,当然并没有一个缓存的教条存在,有的只是参考案例,对于具体的应用来讲要具体分析。(1)单机缓存单机缓存也就是WEB应用和缓存是同一个应用,也就是最简单的缓存策略,大家在程序中使用的static的HashMap、List这些都可以算作缓存的范畴。比较有代表性的单机缓存有OSCache、Ehcache。O 阅读全文
posted @ 2011-02-17 16:57 ajian005 阅读(242) 评论(0) 推荐(0)
摘要: Cache是提高CPU性能的一种技术手段,通过Cache存储器把程序频繁用到的指令和数据存储起来,等再次访问该指令或数据时CPU可以直接从Cache中读取而不用访问主存从而能提高程序运行的效率。Cache背后的理论基础是程序运行的“局部性”原理, “程序局部性原理”包括 时间局部性 和 空间局部性。时间局部性的主要表现为刚被访问过的指令或数据很可能在最近的将来再次被访问,编程语言的循环结构是时间局部性产生的主要原因。空间局部性描述的是:若一个存储单元被访问则其相邻的存储单元也被访问,软件程序的顺序执行及语言中的数组结构是空间局部性产生的主要原因。在硬件设计方面cache的实现大体上分为两种:虚 阅读全文
posted @ 2011-02-17 16:50 ajian005 阅读(341) 评论(0) 推荐(0)
摘要: Scalability, Availability & Stability Patterns在这个PPT中,你会发现大量词语在本站讨论过:分布式缓存;数据网格计算;NoSQL;RDBMS;Http缓存如CDN 反向代理;CAP理论,并发模式(消息传递模式 软事务内存 数据流并发 状态共享并发);分区;复制。EDA事件驱动架构;负载平衡;并行计算(MapReduce模式 Fork/Join模式)。由于难得一见的全面,需要反复多看几次,理清头绪。我下面就逐步诠释一下:(1)Scalability可伸缩性,可伸缩性扣住“状态”这个关键词,2006年我就写了一篇状态对象:数据库的替代者,应该说 阅读全文
posted @ 2011-02-17 16:33 ajian005 阅读(361) 评论(0) 推荐(0)
摘要: 文章分类:Java编程 SpringBean作用域介绍:singleton:Spring Ioc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例Property: 每次请求都创建一个新实例request: 在一次Http请求中,容器会返回该Bean的同一个实例,而对于不同的用户请求,会返回不同的实例。需要注意的是,该作用域仅在基于Web的SpringApplicationContext情形下有效,以下的session和globalSession也是如此session:同上,唯一的区别是请求的作用域变为了sessionglobal session:全局的H... 阅读全文
posted @ 2011-02-17 16:30 ajian005 阅读(176) 评论(0) 推荐(0)