Java 对象的创建过程链滴 Java 对象的创建过程 作者:vcjmhg 原文链接:https://ld246.com/article/1619614850780 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 概述 在之前的一篇文章《关于java继承的哪些事》简单讲了Java创建对象的过程,但具体细节当时并没有 细讲。因而本篇文章以HotSpot虚拟机为例, 来讲一下Java虚拟机是如何创建一个对象的? 简单来说Java对象的创建过程总共分为5步: Java创建对象的过程 类加载检查 首先当虚拟机遇到一个new指令时,首先会去检查这个参数能否在常量池中定位到这个类的符号引用 并且检查这个符号引用所代表的的类是否已经被加载、连接、解析和初始化过,如果没有需要先执行 的加载操作(详细过程可参考"类的加载流程" )。 分配内存 当类加载检查通过后 配内存,为对象分配空间的任务等同于把一块 定大小的内存从 Java 堆中划分出来。分配内存的方式主要有两种:指针碰撞和空闲列表。 具体选择哪种方式取决于Java堆是否规整。而Java堆是否规整取决于垃圾收集器所采用的垃圾回收算 是否具有空间压缩整理的能力。 具体来说,指针碰撞分配内存空间的过程如下: 在Java堆规整的情况下,所有被使用过的内存放到一边,所有未被使用过的内存放置到另一边,中间0 码力 | 4 页 | 389.87 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 03大纲 Spring 文件上传 Spring 文件下载 Spring 用户登录 监听器 基于 Java EE 的企业应用系统设计 Spring MVC 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 June 14, 2017 大纲 Spring 文件上传 Spring 文件下载 Spring 用户登录 监听器 References 1. Spring MVC: 监听器 文件上传 O Spring MVC 中处理文件上传有两种方法 1. 使用 Apache Commons FileUpload 元件; 2. 利用 Servlet 3.0 及其更高版本的内置支持。 大纲 Spring 文件上传 Spring 文件下载 Spring 用户登录 监听器 文件上传表单0 码力 | 40 页 | 651.07 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 02大纲 转换器和格式化(Converter and Formatter) 验证器 表达式语言(EL) JSTL 基于 Java EE 的企业应用系统设计 Spring MVC 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 June 5, 2017 大纲 转换器和格式化(Converter and Formatter) 验证器 表达式语言(EL) JSTL References 非没有任何限制,在如何正确绑定数据方面是杂乱无章的。 ▶ 例如,Spring 总是试图用默认的语言区域将日期输入绑定到 java.util.Date。 ▶ 假如想让 Spring 使用不同的日期样式,就需要使用 Converter 或者 Formatter。 O Converter and Formatter 两者均可用于将一种对象类型转换成另一种对象类型。Converter 是通用组件,可以在应用程序的任意层中使用,Formatter Spring 的 Converter 将一种类型转换成另一种类型的一个对象。 例如,用户输入的日期可能有许多种形式,如 May 31, 2017、 5/31/2017 和 2017-05-31。默认情况下,Spring 会期待用户输入的 日期样式与当前语言区域的日期样式相同。例如,对于美国的用 户而言,就是月/日/年格式。 如果希望 Spring 在将输入的日期字符串绑定到 Date 时使用不同 的日期样式,则需要编写一个0 码力 | 56 页 | 866.07 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 基于 Java EE 的企业应用系统设计 Spring MVC 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 22, 2017 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 References 9781771970310) 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 ��来� Java Web 应用的开发演化 MVC 模式示例 Spring Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 JSP 在 HTML 代码里写 Java 代码完成业务逻辑。 <% String name = request.getParameter("name"); String password = request.getParameter("password");0 码力 | 67 页 | 792.43 KB | 1 年前3
一次线上java 应用响应时间过长问题的排查链滴 一次线上 java 应用响应时间过长问题的排查 作者:xinzhongtianxia 原文链接:https://ld246.com/article/1569574881351 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)最近接手一个老 java 应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的, 录一下。
整个过程中,设计到 cpu,内存,垃圾回收,引用,spring, 单例 等等知识,整个下来,心情愉悦。< p>接到报警
< 以上,这不科学。看监控
看监控平台,有问题的机器,cpu 占用很高,这。。。更不科学了。理论上,这应用 cpu 能到 1 就不错了,现在居然 80%,吓得我赶紧跑到机器上,top 了一把,确实是 java 应用占用 cpu 很高。 /p>
找出占用 cpu 的线程
0 码力 | 3 页 | 247.74 KB | 1 年前3
Nacos架构&原理
28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos ⾼可⽤设计 100 Nacos 高可用设计 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地中篇 209 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地下篇 224 虎牙直播在微服务改造的实践总结 239 虎牙在全球 DNS 秒级生效上的实践 249 叽里呱啦 Nacos 1.1.2 升级 1.4.1 最佳实践 267 服务发现最佳实践 281 Eureka 平滑迁移 Nacos 方案 281 Nacos Nacos 打通 CMDB 实现就近访问 288 跨注册中心服务同步实践 298 配置管理最佳实践 310 Nacos 限流最佳实践 310 Nacos 无缝支持 confd 配置管理 320 结语 326 结语 326 作者 < 6 作者 李艳林(彦林) 李晓双 孙立(涌月) 柳遵飞(翼严) 廖春涛(春少) 杨翊(席翁) 程露 钱陈(潕量) 张龙 范扬(扬少) 张斌斌0 码力 | 326 页 | 12.83 MB | 9 月前3
Apache Shiro 1.2.x Reference Manual 中文翻译10. Web 10.1. Configuration 配置 10.2. 基于路径的 url 安全 10.3. Default Filters 默认过滤器 10.4. Session Management 10.5. JSP Tag Library IV. Auxiliary Support 辅助支持 11. Caching 缓存 12. Concurrency & Multithreading 初学者web应用教程 22. Application Security With Apache Shiro 用Shiro保护你的应用安全 23. CacheManager 缓存管理 24. Apache Shiro Cryptography Features 加密功能 Apache Shiro 1.2.x Reference Manual 中文翻译 3 apache-shiro-1.2.x-reference 中文翻译(包含了官方文档以及其他文章)。截止现在 (2015-8-1)Shiro的最新版本为 1.2.4,利用业余时间对此进行翻译,并在原文的基础上,插 入配图,图文并茂方便用户理解。如有勘误欢迎指正。 Get Started 如何开始阅读 选择下面入口之一: https://github.com/waylau/apache-shiro-1.2.x-reference 的 SUMMARY.md(源码) http://waylau0 码力 | 196 页 | 2.34 MB | 1 年前3
Apache Shiro参考手册中文版Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 该尽可能掩盖复杂的地方,露出一个干净而直观的 API,来简化开发人员在使他们的应用程序安全上的努力。 以下是你可以用 Apache Shiro 所做的事情: 验证用户来核实他们的身份 验证用户来核实他们的身份 对用户执行访问控制,如: 判断用户是否被分配了一个确定的安全角色 判断用户是否被允许做某事 在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。 在身份验证,访问控制期间或在会话的生命周期,对事件作出反应。 聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。 启用单点登录(SSO)功能。 启用单点登录(SSO)功能。 为没有关联到登录的用户启用"Remember Me"服务 … 以及更多——全部集成到紧密结合的易于使用的 API 中。 Shiro 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。0 码力 | 92 页 | 1.16 MB | 1 年前3
跟我学Shiro - 张开涛Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相 当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时 可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。对于它俩到底哪个 好,这个不必纠结,能更简单的解决项目问题就好了。 本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用。 Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓 存等。这不就是我们想要的嘛,而且 Shiro 的 API 也是非常简单;其基本功能点如下图所 示: Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authori 验证某个已认证的用户是否拥有某个权限;即判断用 户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用 户对某个资源是否具有某个权限; Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信 息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;0 码力 | 219 页 | 4.16 MB | 10 月前3
《Java 应用与开发》课程讲义 - 王晓东. . 4 1.1.1 Java 发展简史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.2 Java 技术的特点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Java 平台核心机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 i 3 Java 数组和字符串 21 3.1 数组的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 一维数组 . . . . . . . . 22 3.2.2 一维数组的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3 二维数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 二维数组的声明和内存分配 . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6













