- 博客(12)
- 资源 (40)
- 收藏
- 关注
转载 【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在类加载阶段或第一次使用时转化为直接引用,这种转化称为静态解析。这在前面的“Java内存区域
2016-06-24 11:03:34 346
转载 【深入Java虚拟机】之四:类加载机制
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Jav
2016-06-24 11:01:08 341
转载 【深入Java虚拟机】之三:类初始化
类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始化,则需要先触发其初始化。生成这四条指令最常见的Java代码场景是:使用new关键字实例化对象时、读取或设置一个类的静态字段(
2016-06-24 10:59:07 213
转载 【深入Java虚拟机】之二:Class类文件结构
平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译成Class文件,虚拟机并不关心Class的来源是什么语言,只要它符合一定的结构,就可以在Java中运行。Java语言中的各种变
2016-06-24 10:51:36 251
转载 深入Java虚拟机(1):Java内存区域与内存溢出
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Program Counter Register) 一块较小的内存空间,它
2016-06-24 10:47:10 342
转载 电商系统的高并发设计和挑战
相对于传统商业模式来说,电子商务带来的变革使人们足不出户便能享受到购物的乐趣,十几二十年前,很难想象几亿中国人能够在双十一一天产生几百亿的消费。同时,大流量带来了高并发的问题,其中针对技术人员尤为突出的是高并发系统的设计,它与普通系统设计的区别在于既要保障系统的可用性、可扩展性,又要兼顾数据一致性,还要处理多线程同步的问题。任何细微问题,都有可能在高并发环境下被无限的放大,直至系统宕机。操
2016-06-15 09:27:23 624
转载 现代银行集中式业务系统及数据整合
随着互联网和移动互联网的普及,互联网金融也日益进入人们的日常生活。当前互联网金融方兴未艾,各种新颖高效的金融产品层出不穷。随之而来的是日益激烈的竞争。在这次金融革新的大潮中,传统银行暂时处于相对保守的态势。但是这并代表传统银行不能重新占据主动。银行拥有极其详细的金融信息。只要对数据进行深度挖掘,银行完全可以在金融革新的大潮中重新占据主动地位。传统银行的优势是银行业务系统的集中式交易系统。这
2016-06-15 09:24:38 1948
原创 浅析 Redis 复制
摘要早期的 RDBMS 被设计为运行在单个CPU之上,读写操作都由经单个数据库实例完成,复制技术使得数据库的读写操作可以分散在运行于不同CPU之上的独立服务器上.Redis作为一个开源的、优秀的key-value缓存及持久化存储解决方案,也提供了复制功能,本文主要介绍Redis的复制原理及特性。Redis复制概论数据库复制指的是发生在不同
2016-06-02 14:31:33 3410
转载 Java 虚拟机结构分析
本博文主要介绍了JVM(Java Virtual Machine)的组成部分以及它们内部的工作机制和原理。需要注意的是,虽然平时我们用的大多是Sun(现已被Oracle收购)JDK提供的JVM,但是JVM本身是一个规范,所以可以有多种实现,除了Hotspot外,还有诸如Oracle的JRockit、IBM的J9也都是非常有名的JVM。1. 结构下图展示了JV
2016-06-02 14:24:59 270
转载 Java内存区域与内存溢出(JVM)
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Program Counter Register)
2016-06-02 14:20:06 462
转载 Servlet - 会话跟踪
会话跟踪HTTP本身是“无状态”协议,它不保存连接交互信息,一次响应完成之后即连接断开,下一次请求需要重新建立连接,服务器不记录上次连接的内容.因此如果判断两次连接是否是同一用户, 就需要使用会话跟踪技术来解决.常见的会话跟踪技术有如下几种:URL重写: 在URL结尾附加会话ID标识,服务器通过会话ID识别不同用户.隐藏表单域: 将会话ID埋入HTML表单隐藏域提交到服务端
2016-06-01 14:20:22 784
zookeeper基于paxos算法的资料。
2019-05-20
srpingboot jsp
2017-09-14
springboot自定义拦截器filter
2017-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人