《The Definitive Guide ——JRockit虚拟机》 笔记

1. 从JVM层次来说final修饰方法带来的好处

JVM对方法的调用分两种,直接调用(方法只有一个实现)以及间接调用(多态情况下,方法可能有多个实现,需要在dispatch表中查找以确实是使用哪个地址)。

 

对于JIT来说,如果JVM能确定方法只有一个实现,则可以采用直接调用方式将其编译到native代码,这能提供程序的效率,但是,除非方法是被final修饰的,否则其可能在任何时候被覆盖。

 

2. JIT编译器及JVM一般会做出的假设[......]

Read more

Posted in JVM, 读书笔记 | Tagged | Leave a comment

Tomcat源码走读——session管理

1. session是如何来的?

首先,看发生请求的时候,Request是如何获取session,Request的获取session函数getSession()如:

public HttpSession getSession() {
        Session session = doGetSession(true);
        if (session == null) {
            return null ;
        }

        ret[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

Tomcat源码走读——backgroundProcessor(后台处理机制)

在 Tomcat源码走读3:启动过程续中有提到,在Container启动的时候,会通过threadStart()函数为子Container启动一个daemon线程,这个线程便是ContainerBackgroundProcessor,这为相关的Container、Value提供了一个机制,可以在后台定时运行一些任务,如Session Manager就借助这个检查session是否过期等。

 

这个线程的功能如:

protected class ContainerBackg[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

Tomcat扩展——监控

最近心血来潮,想是否可以通过增加一个tomcat的扩展,来持续收集tomcat服务器本身的性能信息,如线程池的各项数据,请求数等等,这样可以配合业务方面的监控,可以更方便的分析调整tomcat配置,以提供更好的服务。

 

这样也不需要每次通过连接jmx去观察数据,而且idc环境要开启jmx,还得涉及各种安全问题…….

 

Tomcat manager中StatusManagerServlet就是通过JMX提供了Tomcat服务的当前状态信息。我[......]

Read more

Posted in J2EE, 读书笔记 | Tagged | Leave a comment

dubbo源码阅读:rpc请求处理流程(1)

获取reference对象

假设我们采用Spring配置,那么我们使用的是ReferenceBean,从ReferenceBean继承自FactoryBean我们知道对于这么一个reference配置:

 

当引用这个bean时,是通过ReferenceBean的getObject()方法。它的实现很简单,直接调ReferenceConfig的get()方法,其实现如下:

public synchronized T get() {
        if (destro[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

一些有时间可以看一看的博客

记录一下自己看过感觉还不错的博客,技术站点,备忘!

 

国内:

1. 放翁(淘宝系)

http://blog.csdn.net/cenwenchu79/

 

2. RednaxelaFX

http://rednaxelafx.iteye.com/

 

国外:

1. Java Code Geeks

http://www.javacodegeeks.com/

 

2. 问答网站

http://stackoverflow.com/

[......]

Read more

Posted in 读书笔记 | Leave a comment

重构手法:简化条件表达式

仅仅是“重构——改善既有代码的设计”一书的备忘。

 

1. Decompose Conditional(分解条件表达式)

 

2. Consolidate Conditional Expression(合并条件表达式)

 

3. Consolidate Duplicate Conditional Fragments(合并重复的条件片段)

——将各个条件中重复片段提取出来

 

4. Remove Cont[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

重构手法:重新组织数据

仅仅是“重构——改善既有代码的设计”一书的备忘。

 

1. Self Encapsulate Field(自封装字段)

 

2. Replace Data  Value with Object(以对象取代数据值)

 

3. Change Value to Reference(将值对象改为引用对象)

 

4. Change Reference to Value(将引用对象改为值对象)

 [......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

重构手法:在对象之间搬移特性

仅仅是“重构——改善既有代码的设计”一书的备忘。

 

1. Move Method(搬移函数)

 

2. Move Field(搬移字段)

 

3. Extract Class(提炼类)

——某个类做了应该两个类做的事。

 

4. Inline Class(将类内联化)

——类没有做太多事

 

5. Hide Delegate(隐藏“委托关系”)

——服务对象应该对客户[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment

重构手法:重新组织函数

仅仅是“重构——改善既有代码的设计”一书的备忘。

 

1. Extract Method(提炼函数)

 

2. Inline Method(内联函数)

 

3. Inline Temp(内联临时变量)

 

4. Replace Temp with Query(以查询取代临时变量)

 

5. Introduce Explaining Variable(引入解释性变量)

——引入解释性[......]

Read more

Posted in 读书笔记 | Tagged | Leave a comment
« Older