《大型网站系统与Java中间件实践》之构建Java中间件读书笔记

初识中间件

中间件为软件应用提供了操作系统所提供之外的服务,可以吧中间件描述为“软件胶水”。中间件不仅是操作系统的一部分,不是数据库管理系统,也不是软件应用的一部分,而是能够让软件开发者方便地处理通信、输入和输出,能够专注在它们自己应用的部分。

《大型网站系统与Java中间件实践》主要介绍的是下面三个领域的中间件:
  • 远程过程调用和对象访问中间件:主要解决分布式环境下应用的互相访问问题;
  • 消息中间件:解决应用之间的消息传递、解耦、异步的问题;
  • 数据访问中间件:主要解决应用访问数据库的共性问题的组件;


构建Java中间件的基础知识

跨平台的Java运行环境——JVM

    这里的JVM是指具体要使用的Java虚拟机,而不是具体的规范或者某个运行的虚拟机实例。
    JVM诞生时的口号就是“write once, run anywhere”,而达到这个目标的关键点就是Java虚拟机。不同平台有不同的虚拟机,但是不同的Java虚拟机所识别的是同一格式的中间代码,也就是我们常说的JAVA byte Code字节码的一种




垃圾回收与内存堆布局

在Java虚拟机中,采用垃圾回收的方式使得我们可以主动释放内存,但是需要注意的是,设置不同的垃圾回收方式以及参数都会影响垃圾回收的效果,而
这对网站产生的影响就在于系统的稳定性及单机的支撑能力方面。

在不同的Java虚拟机产品中,内存中堆得布局是不完全一样的,采用的垃圾回收策略也不同,下面是常见的三种堆布局:


Oracle Hotspot JVM中内存的对布局是大家平时接触到最多的,Young/Tenured/Perm三块区域,对应新生代/年老代/持久代。一般来说,新的对象会把
分配在新生代的Eden区,也有可能会被直接分配在年老代(Tenured)。在进行新生代垃圾回收的时候,Eden区中存活的对象会被复制到空的Survior区,而
次新生代垃圾回收的时候,Eden区存活的对象和这个Survivor区中存活的对象会被复制到另外那个Survivor区,并且清空当前的Survivor区,经过多次新生代
垃圾回收,还存活的对象会被移动到年老代。而年老代的空间也会根据一定的条件进行垃圾回收。

下班后继续更新

//2017年10月29日更新: 这篇博文还没有结束,我觉得我还需要更多的输入,才能更好地完成这篇博文;十天内会把它更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值