简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
从类被加载到虚拟机内存中开始,到卸御出内存为止,它的整个生命周期分为7个阶段,加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸御(Unloading)。其中验证、准备、解析三个部分统称为连接。7个阶段发生的顺序如下:1. 加载通过一个类的全限定名来获取定义此类的
内存划分java虚拟机按照运行时内存使用区域划分如图:区域是否线程共享是否会内存溢出程序计数器否不会java虚拟机栈否会本地方法栈否会堆是会方法区是会一、程序计数器(Program Counter Register) 程序计数器就是记录当前线程执行程序的位置,改变计数器的值来确定执行的下
整整一月没有更新博客了,因为十月份和双十一新入手的6本技术相关的书,这个月看完了3本,后面的3本还得慢慢肯。下面我就介绍下进阶高级工程师必须也是我自己都看的一些书和知识点。1.深入理解Java虚拟机个人感觉想踏入高级工程师行列,第一本应了解的书。理解Java虚拟机后好多知识点迎刃而解,对理解其它的知识点也事半功倍。主要修炼程序员内功。该书看了差不多5遍了(第一版+第二版)
概述公司内部的一个产品 (java 开发的) 运行在 window 虚拟机上,运行一段时间后CPU飙升,然后想查看是哪个线程占用。折腾了一下午,终于定位到该线程。下面我们通过两种方式定位到占用cpu比较高的线程。* 1. 使用Process Explorer,第三方工具定位,使用比较简单,容易上手。* 2. 使用window自带的perfmon 性能监控工具进行监控,功能强大,
Java 对象如果想要了解java对象在内存中的大小,必须先要了解java对象的结构。HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)java 对象头Mark WordHotSpot虚拟机的对象头(Object Header)包括两部分信息,第一部分用于存储对象自身的
需要了解的知识JVM 类加载机制深入浅出tomcat中的ClassLoader启动类加载器(BootStrap ClassLoader):引导类装入器是用本地代码实现的类装入器,它负责将 jdk中jre/lib下面的核心类库或-Xbootclasspath选项指定的jar包加载到内存中。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作
Filter 概述Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截。简单说,就是可以实现web容器对某资源的访问前截获进行相关的处理,还可以在某资源向web容器返回响应前进行截获进行处理。Filter工作
概要Servlet 默认是单例模式,在web 容器中只创建一个实例,所以多个线程同时访问servlet的时候,Servlet是线程不安全的。那么 web 容器能为每个请求创建一个Servlet的实例吗?当然是可以的,只要Servlet实现SingleThreadModel接口,就可以了。SingleThreadModel该接口为每次请求创建一个servlet实例。此接口没有方法,跟Seriali
HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放在这里。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中