- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 深入理解Java虚拟机(四)——类加载机制
前言上一节《深入理解Java虚拟机(三)——Class文件结构》知道了 Class 文件的结构,那么拟机是如何加载这些 Class 文件的?1 什么是类加载机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。2 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括:加载、...
2019-03-22 18:26:19
229
原创 深入理解Java虚拟机(三)——Class文件结构
1 概述Java很重要的特点是平台无关性,即用Java语言编写的程序可以在不同平台之间无缝迁移,在Java诞生之初,有一个著名的宣传口号:“一次编写,到处运行(Write Once,Run AnyWhere)”。Java能够实现平台无关性的原因是它在平台之上提供了一个Java运行环境,也就是JVM,各种不同平台上的虚拟机都统一使用的程序存储结构——字节码,是构成平台无关系的基石。2 Cl...
2019-03-20 19:02:20
655
原创 深入理解Java虚拟机(二)——GC
1 概述垃圾收集器(Garbage Collection)简称GC,1960年诞生与MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。上一节《深入理解Java虚拟机(一)——JVM内存结构》中了解到内存运行时区域的各个部分,其中程序计数器、本地方法栈、虚拟机栈3个区域随着线程而生存死亡,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理。所以GC主要的收集区域为Jav...
2019-03-18 18:01:45
300
1
原创 深入理解Java虚拟机(一)——JVM内存结构
说明:深入理解Java虚拟机系列是对《深入理解Java虚拟机——JVM高级特性与最佳实践》第二版一书的总结与概要1 什么是jvmJVM(Java Virtual Machine)是Java程序运行的平台,负责执行Java编译好的字节码文件。JVM具有非常严格的实现规范,大多数操作系统都可以安装JVM,为Java语言的跨平台性起到了关键的作用。2 jvm内存区域2.1 jvm运行时数据区域...
2019-03-16 13:03:57
541
2
原创 spring-session-data-redis 解决集群环境下session共享
为什么会产生Session共享问题 集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题。解决方案负载均衡中,IP绑定策略。如nginx:ip_hashtomcat的session共享优点:不需要额外开发,只需搭建tomcat集群即可缺点:tomcat 是全局session复制,集群内每个tom...
2019-01-12 19:29:36
4130
原创 Keepalived + Nginx 搭建主备高可用
Keepalived + Nginx 搭建主备模式的高可用Nginx 介绍nginx是一款高性能的轻量级的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。并且cpu、内存等资源消耗却非常低,运行非常稳定,并发高。很多公司均使用nginx。Keepalived 介绍keepalived是进群工作管理中保证集群高可用的一个服务软件,用来防止单点故障。keepal...
2019-01-12 16:23:31
261
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人