《分布式JAVA应用》读书笔记

本文详细阐述了Java分布式应用中的消息传递和远程调用方式,以及JVM的源码编译、类加载和类执行机制。通过分析Java自身的技术和开源框架如Mina、SpringRMI和CXF,读者可以深入了解Java在分布式系统通信和JVM内部工作原理方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 分布式Java应用

1.1 基于消息方式实现系统间的通信

   1.1.1 基于java自身技术实现消息方式的系统间通信

            基于java自身包实现消息方式的系统间通信的方式有:

            TCP/IP+BIO

            TCP/IP+NIO

            UDP/IP+BIO

            UDP/IP+NIO

   1.1.2 基于开源框架实现消息方式的系统间通信

            apache的顶级项目Mina

            Mina 基于Java NIO构建,同时支持TCP/IP和UDP/IP两种协议。

            Mina对外屏蔽了Java NIO使用的复杂性,并在性能上做了不少优化。

1.2 基于远程调用方式实现系统间的通信

   1.2.1 基于java自身技术实现远程调用方式的系统间通信

            在java中实现远程调用方式的技术主要有RMI和WebService两种

   1.2.2 基于开源框架实现远程调用方式的系统间通信

            Spring RMI

            CXF

第三章 深入理解JVM

3.1.1java源码编译机制

       1.分析和输入到符号表(Parse and Enter)

       2.注解处理(Annotation Processing)

       3.语义分析和生成class文件(Analyse and Generate)

       class 文件中并不仅仅存放了字节码,还存放了很多辅助JVM来执行class的附加信息,一个class文件包含以下信息:

       结构信息

       元数据

       方法信息

3.1,2 类加载机制

     JVM将类加载过程划分为三个步骤:装载、链接和初始化

     1.装载(load)

        装载过程负责找到二进制字节码并加载至JVM中。

     2.链接(Link) 

        链接过程负责对二进制字节码的格式进行校验、初始化装载类中的静态变量及解析类中调用的接口、类。

     3.初始化(Initialize)

        初始化过程即执行类中的静态初始化代码、构造器代码及静态属性的初始化,在以下4种情况下初始化过程会被触发执行:

    1)调用了new;

    2)反射调用了类中的方法;

    3)子类调用了初始化;

    4)JVM启动过程中指定是初始化

3.1.3 类执行机制

    1.字节码解释执行

       1)指令解释执行

       2)栈顶缓存

       3)部分栈帧共享

     2.编译执行

        在编译上Sun JDK提供了两种模式:

        client compiler( -client ) 和 server compiler ( -server )

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值