 JVM 内存模型JVM 内存模型 Heap Method Area Runtime Constant Pool Thread Thread Thread PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method0 码力 | 1 页 | 48.42 KB | 1 年前3 JVM 内存模型JVM 内存模型 Heap Method Area Runtime Constant Pool Thread Thread Thread PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method0 码力 | 1 页 | 48.42 KB | 1 年前3
 Java 应用与开发 - Java 内存模型与分配机制大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2 建立编程时高效利用内存、避免内存溢出的理念 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 ���� Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java Java栈 程序计数器 本地方法栈 执行引擎 本地接口 通过全限定名装载 操作系统 操作系统本地库 运行时数据区 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 JVM 内存模型 动画演示 JVM 内存模型 JVM内存模型 Heap Method Area Runtime Constant Pool Thread Thread Thread PC Register0 码力 | 44 页 | 818.30 KB | 1 年前3 Java 应用与开发 - Java 内存模型与分配机制大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2 建立编程时高效利用内存、避免内存溢出的理念 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 ���� Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java Java栈 程序计数器 本地方法栈 执行引擎 本地接口 通过全限定名装载 操作系统 操作系统本地库 运行时数据区 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 JVM 内存模型 动画演示 JVM 内存模型 JVM内存模型 Heap Method Area Runtime Constant Pool Thread Thread Thread PC Register0 码力 | 44 页 | 818.30 KB | 1 年前3
 Nacos架构&原理
Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos 建云原生应用的动态服务发现、配置管理和服务管理平台。 官网:https://nacos.io/ 仓库:https://github.com/alibaba/nacos Nacos 优势 易⽤:简单的数据模型,标准的 restfulAPI,易用的控制台,丰富的使用文档。 稳定:99.9% 高可用,脱胎于历经阿里巴巴 10 年生产验证的内部产品,支持具有数百万服务的大 规模场景,具备企业级 SLA 的开源产品。 20  审计系统:扩展接口方便与不同公司审计系统打通。  通知系统:核心数据变更,或者操作,方便通过 SMS 系统打通,通知到对应人数据变更。 21 > Nacos 架构 Nacos 配置模型 背景 在单体架构的时候我们可以将配置写在配置文件中,但有⼀个缺点就是每次修改配置都需要重启服 务才能生效。 当应用程序实例比较少的时候还可以维护。如果转向微服务架构有成百上千个实例,每修改⼀次配0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos 建云原生应用的动态服务发现、配置管理和服务管理平台。 官网:https://nacos.io/ 仓库:https://github.com/alibaba/nacos Nacos 优势 易⽤:简单的数据模型,标准的 restfulAPI,易用的控制台,丰富的使用文档。 稳定:99.9% 高可用,脱胎于历经阿里巴巴 10 年生产验证的内部产品,支持具有数百万服务的大 规模场景,具备企业级 SLA 的开源产品。 20  审计系统:扩展接口方便与不同公司审计系统打通。  通知系统:核心数据变更,或者操作,方便通过 SMS 系统打通,通知到对应人数据变更。 21 > Nacos 架构 Nacos 配置模型 背景 在单体架构的时候我们可以将配置写在配置文件中,但有⼀个缺点就是每次修改配置都需要重启服 务才能生效。 当应用程序实例比较少的时候还可以维护。如果转向微服务架构有成百上千个实例,每修改⼀次配0 码力 | 326 页 | 12.83 MB | 9 月前3
 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . 23 3.3.1 二维数组的声明和内存分配 . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 二维数组定义的含义 . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3 二维数组赋初值 . . . . . . . . . . . . . Java 内存模型与分配机制 58 6.1 Java 内存模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1.1 Java 虚拟机(Java Virtual Machine, JVM) . . . . . . . . . . . . . . 59 6.1.2 JVM 内存模型 . . . . . . . . . 70 7.1.1 抽象类的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.1.2 定义抽象类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.1.3 抽象类的特性与作用 . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . 23 3.3.1 二维数组的声明和内存分配 . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 二维数组定义的含义 . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3 二维数组赋初值 . . . . . . . . . . . . . Java 内存模型与分配机制 58 6.1 Java 内存模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1.1 Java 虚拟机(Java Virtual Machine, JVM) . . . . . . . . . . . . . . 59 6.1.2 JVM 内存模型 . . . . . . . . . 70 7.1.1 抽象类的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.1.2 定义抽象类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.1.3 抽象类的特性与作用 . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
 Java 应用与开发 - 线程编程edu.cn 中国海洋大学 November 6, 2018 大纲 线程基础 线程控制 线程的同步 学习目标 1. 线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制方法,理解各线程控制方法对线程状态切换的作 用。 3. 线程的同步:理解临界资源问题,进一步明白线程安全的意 大纲 线程基础 线程控制 线程的同步 大纲 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 概念回顾 O 任务调度 ▶0 码力 | 82 页 | 1010.73 KB | 1 年前3 Java 应用与开发 - 线程编程edu.cn 中国海洋大学 November 6, 2018 大纲 线程基础 线程控制 线程的同步 学习目标 1. 线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制方法,理解各线程控制方法对线程状态切换的作 用。 3. 线程的同步:理解临界资源问题,进一步明白线程安全的意 大纲 线程基础 线程控制 线程的同步 大纲 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 概念回顾 O 任务调度 ▶0 码力 | 82 页 | 1010.73 KB | 1 年前3
 Apache Shiro参考手册中文版你将看到我们如何使用更复杂的用户数据源,如关系数据库,LDAP 的 AcitveDirectory,以及更多。 Referencing the Configuration 现在我们已经定义好了一个 INI 文件,我们可以在我们的教程应用程序类中创建 SecurityManager 实例了。改变 main 方法来反映以下的更新内容: 好了,在仅仅添加了 3 行代码后,Shiro 这就是了!它再简单不过了。 但如果他们的登录尝试失败了会怎样?你能够捕获各种具体的异常来告诉你到底发生了什么,并允许你去处理并作 出相应反应: 你能够检查到许多不同类型的异常,或抛出你自己的自定义条件的异常——Shiro 可能不提供的。请参见 AuthenticationException JavaDoc 获取更多。 Handy Hint 最安全的做法是给 Shiro 提供了立即可用的 Realms 来连接一些安全数据源(即目录),如 LDAP,关系数据库(JDBC),文本配 置源,像 INI 及属性文件,以及更多。你可以插入你自己的 Realm 实现来代表自定义的数据源,如果默认地 Realm 不符合你的需求。 像其他内置组件一样,Shiro SecurityManager 控制 Realms 是如何被用来获取安全和身份数据来代表 Subject 实0 码力 | 92 页 | 1.16 MB | 1 年前3 Apache Shiro参考手册中文版你将看到我们如何使用更复杂的用户数据源,如关系数据库,LDAP 的 AcitveDirectory,以及更多。 Referencing the Configuration 现在我们已经定义好了一个 INI 文件,我们可以在我们的教程应用程序类中创建 SecurityManager 实例了。改变 main 方法来反映以下的更新内容: 好了,在仅仅添加了 3 行代码后,Shiro 这就是了!它再简单不过了。 但如果他们的登录尝试失败了会怎样?你能够捕获各种具体的异常来告诉你到底发生了什么,并允许你去处理并作 出相应反应: 你能够检查到许多不同类型的异常,或抛出你自己的自定义条件的异常——Shiro 可能不提供的。请参见 AuthenticationException JavaDoc 获取更多。 Handy Hint 最安全的做法是给 Shiro 提供了立即可用的 Realms 来连接一些安全数据源(即目录),如 LDAP,关系数据库(JDBC),文本配 置源,像 INI 及属性文件,以及更多。你可以插入你自己的 Realm 实现来代表自定义的数据源,如果默认地 Realm 不符合你的需求。 像其他内置组件一样,Shiro SecurityManager 控制 Realms 是如何被用来获取安全和身份数据来代表 Subject 实0 码力 | 92 页 | 1.16 MB | 1 年前3
 Apache Shiro 1.2.x Reference Manual 中文翻译辅助支持 11. Caching 缓存 12. Concurrency & Multithreading 并发与多线程 13. Testing 测试 14. Custom Subjects 自定义 Subject V. Integration 整合 15. Spring Framework 16. Guice 17. CAS VI. Tools 工具 Apache Shiro 1 个程序已经足够 了,在以后的章节中,将会看到如何使用更复杂的用户数据比如数据库、LDAP 和活动目录 等。 Referencing the Configuration 引用配置 现在我们已经定义了一个 INI 文件,我们可以在我们的示例程序中创建SecurityManager 实例 了,将 main 函数中的代码进行如下调整: Apache Shiro 1.2.x Reference Manual } // ... 捕获更多异常 catch (AuthenticationException ae) { //无定义?错误? } } //说出他们是谁: //打印主要识别信息 (本例是 username): log.info("User0 码力 | 196 页 | 2.34 MB | 1 年前3 Apache Shiro 1.2.x Reference Manual 中文翻译辅助支持 11. Caching 缓存 12. Concurrency & Multithreading 并发与多线程 13. Testing 测试 14. Custom Subjects 自定义 Subject V. Integration 整合 15. Spring Framework 16. Guice 17. CAS VI. Tools 工具 Apache Shiro 1 个程序已经足够 了,在以后的章节中,将会看到如何使用更复杂的用户数据比如数据库、LDAP 和活动目录 等。 Referencing the Configuration 引用配置 现在我们已经定义了一个 INI 文件,我们可以在我们的示例程序中创建SecurityManager 实例 了,将 main 函数中的代码进行如下调整: Apache Shiro 1.2.x Reference Manual } // ... 捕获更多异常 catch (AuthenticationException ae) { //无定义?错误? } } //说出他们是谁: //打印主要识别信息 (本例是 username): log.info("User0 码力 | 196 页 | 2.34 MB | 1 年前3
 基于 Java EE 的企业应用系统设计 - Spring MVC 01数据绑定和表单标签库 MVC 的特点 1. 多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 类,本示例应用的控制器; ▶ 一个 SaveProductAction 类; ▶ 两个 JSP 视图页面(ProductForm.jsp 和 ProductDetail.jsp); ▶ 一个 CSS 文件,定义了两个 JSP 页面的显示风格。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 ��来� Java Web 应用的开发演化 MVC 模式示例 HttpServletResponse response); 其实现类可以访问对应请求的 HttpServletRequest 和 HttpServletRe- sponse 对象,还必须返回一个包含视图路径或视图模型的 Mode- lAndView 对象。Controller 接口的实现类只能处理一个单一动作。 ▶ 基于注解的控制器可以同时支持多个请求处理动作处理,并 且无须实现任何接口。 大纲 Java Web0 码力 | 67 页 | 792.43 KB | 1 年前3 基于 Java EE 的企业应用系统设计 - Spring MVC 01数据绑定和表单标签库 MVC 的特点 1. 多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 类,本示例应用的控制器; ▶ 一个 SaveProductAction 类; ▶ 两个 JSP 视图页面(ProductForm.jsp 和 ProductDetail.jsp); ▶ 一个 CSS 文件,定义了两个 JSP 页面的显示风格。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 ��来� Java Web 应用的开发演化 MVC 模式示例 HttpServletResponse response); 其实现类可以访问对应请求的 HttpServletRequest 和 HttpServletRe- sponse 对象,还必须返回一个包含视图路径或视图模型的 Mode- lAndView 对象。Controller 接口的实现类只能处理一个单一动作。 ▶ 基于注解的控制器可以同时支持多个请求处理动作处理,并 且无须实现任何接口。 大纲 Java Web0 码力 | 67 页 | 792.43 KB | 1 年前3
 Java 应用与开发 - MVC 和框架初步2 本节习题 MVC 的特点 1. 多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 6 ␣␣␣␣␣␣http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 7 id="WebApp_ID" version="3.0"> 9 10 Java 应用与开发 - MVC 和框架初步2 本节习题 MVC 的特点 1. 多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 6 ␣␣␣␣␣␣http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 7 id="WebApp_ID" version="3.0"> 9 10- 11 - struts2 12- org.apache Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 在 Eclipse 中使用 Struts 2 增加登录处理 上述 login.jsp 页面使用 Struts 2 标签库定义了一个表单和三个 简单表单域。 注意 几乎所有的 MVC 框架都会使用标签库,用以帮助开发者更加简 单、更加规范的编写视图组件(例如 JSP 页面)。 大纲 Java Web 应用的开发演化 0 码力 | 51 页 | 837.26 KB | 1 年前3
 Java 应用与开发 - Java GUI 编程以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了0 码力 | 73 页 | 876.31 KB | 1 年前3 Java 应用与开发 - Java GUI 编程以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了0 码力 | 73 页 | 876.31 KB | 1 年前3
共 44 条
- 1
- 2
- 3
- 4
- 5













