第一章 分布式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 )
分享到:
相关推荐
《狂神说JAVA的所有笔记》是一份全面且深入的JAVA学习资源,包含了JAVA语言的核心概念、进阶技术以及实际应用的方方面面。这份笔记是作者在深入研究JAVA编程过程中积累的宝贵经验,旨在帮助读者系统性地掌握JAVA这门...
Java提供了RMI(远程方法调用)、JMS(Java消息服务)以及近年来流行的微服务框架如Dubbo、Spring Cloud等,用于构建分布式应用。理解这些技术的基本原理和使用方式,有助于开发者构建可扩展、高可用的系统。 代码...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。"java校招学习笔记"显然是针对应届毕业生或求职者准备的,旨在帮助他们掌握Java的基础知识和校招面试中常见的技术问题。这份笔记可能包含...
**Java Redis 学习笔记概览** 在Java开发中,Redis作为一个高性能的键值存储系统,常被用于缓存、消息队列、分布式锁等多种场景。...同时,配合Markdown格式,便于阅读和整理笔记,而PDF格式则方便离线查阅和打印。
读书笔记:WK系列开发框架V1至V5 Java开源企业级开发框架(单应用微服务分布式)
- Java企业版包含一系列技术,如Servlet、JSP、EJB等,用于构建分布式企业级应用。 以上知识点只是《Java完美经典》读书笔记中的一部分,完整的笔记还包括对这些概念的深入探讨,例如设计模式、并发编程、数据库...
【大型网站系统与Java中间件实践读书笔记(二)】 大型网站系统是指处理海量数据、应对高并发访问、以及应对复杂业务逻辑的网络应用。在这些系统中,Java中间件扮演着关键角色,帮助实现系统的扩展性和高效运行。...
分布式商城项目笔记-乐优商城,是一个以Java技术为核心的电商系统开发案例,旨在提供全面、深入的学习材料,帮助开发者理解并掌握分布式系统在实际商业场景中的应用。该项目笔记包括了详细的课程内容,辅以丰富的...
在阅读笔记理论知识的同时,通过代码示例,学习者可以将所学应用到具体的编程任务中,如数组操作、循环和条件语句的使用,以及设计模式的实例应用。这些例子不仅能够让学习者更直观地理解概念,也能够帮助他们掌握...
《大型网站系统与Java中间件实践》的第一章主要介绍了分布式系统的基础知识,包括其组成、线程与进程的执行模式、网络通信基础知识以及如何将应用扩展到分布式环境,并探讨了分布式系统中的一些难点。 1.1 初识...
14. **Java EE**:对于进一步的学习,笔记可能还会提及Java企业版(Java EE),它为构建分布式、基于Web的应用提供了服务器端框架,包括Servlet、JSP、EJB等技术。 15. **实战项目**:学习笔记通常会包含一些简单的...
通过阅读这份"java笔记以及案例",学习者不仅能掌握Java的基础知识,还能通过实例加深理解,提升编程能力。实践是检验真理的唯一标准,将理论知识应用到实际项目中,是成为熟练Java开发者的重要步骤。
而"JavaApl"可能是Java应用程序或API的缩写,可能包含了一些实际的Java应用例子或库,帮助学习者实践和理解所学知识。 Java的学习需要理论与实践相结合,通过阅读文档、编写代码、运行实例,才能真正掌握这门强大的...
Java作为一种广泛应用的高级编程语言,以其面向对象、跨平台、分布式、多线程和解释性等特性深受开发者喜爱。本文将详细探讨Java的基础知识,包括开发环境的设置、基本语法、变量、运算符以及语句。 首先,Java技术...
Spring是一个开源的轻量级Java应用框架,主要目标是简化企业级应用开发。它提供了一系列模块,如Spring Core、Spring MVC、Spring Data、Spring Security等,覆盖了从基本的依赖注入到复杂的数据访问和安全需求。 #...
再进一步,Java SE(标准版)之外,还有Java EE(企业版)用于构建分布式应用程序,包括Servlet、JSP、EJB等技术。而Java FX则用于开发桌面应用,提供丰富的图形用户界面。 最后,理解Java的内存管理和垃圾回收机制...
Python和Java是两种广泛使用的编程语言,各自拥有独特的特性...Python适合快速开发、科学计算、脚本任务,而Java适合大型企业应用、分布式系统和移动应用开发。学习这两种语言都有助于提升编程技能,拓宽职业发展道路。
14. **Java EE(企业版)**:如果对Web开发感兴趣,可以学习Java EE,它包括Servlet、JSP、EJB等技术,用于构建分布式企业级应用。 15. **Spring框架**:Spring是Java开发中最常用的框架之一,提供了依赖注入、AOP...
这份"java重点和难点笔记.zip"的压缩包文件包含了对Java语言深入理解的关键知识点,特别是对于初学者和进阶者来说非常有帮助。让我们逐一探讨这些重难点。 1. **Java基础知识**:Java的基础包括语法、数据类型、...
这些技术是构建企业级Java应用程序的基础,下面将对它们进行详细介绍。 1. **Struts**: Struts 是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java EE的Web应用。它提供了结构化的控制层,使得开发者...