摘要: 垃圾回收是个复杂的过程:请以此阅读下列文章:垃圾回收1:http://blog.csdn.net/sun305355024sun/article/details/41394729垃圾回收2:http://www.blogjava.net/ldwblog/archive/2013/07/24/4019... 阅读全文
posted @ 2014-02-09 17:19 muffe 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 内存分配结构,请参考:http://iamzhongyong.iteye.com/blog/1333100 阅读全文
posted @ 2014-02-09 17:11 muffe 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一、JVM通过执行引擎来完成字节码的执行,在执行过程中JVM采用的是自己的一套指令系统,每个线程在创建后,都会产生一个程序计数器(pc)和栈(Stack)。pc:存放了下一条将要执行的指令;Stack:存放Stack Frame(栈帧),最上面的表示为当前正在执行的方法。每个方法的执行都会产生Stack Frame,Stack Frame中存放了传递给方法的参数、方法内的局部变量以及操作数栈;局部变量表:存放参数、局部变量;操作数栈:存放指令运算的中间结果;指令负责从操作数栈中弹出参与运算的操作数,指令执行完毕后再将计算结果压回到操作数栈;当方法执行完毕后则从Stack中弹出,继续其他方法的执 阅读全文
posted @ 2014-02-09 16:19 muffe 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 一、类加载器基本概念 顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的newInstance()方法就可以创建出该类的一个对象。实际的情况可能更加复杂,比如 Java 字节代码可能是通过工具动态生成的,也可能是通过网络下载的。但第二. 阅读全文
posted @ 2014-02-09 01:22 muffe 阅读(663) 评论(0) 推荐(0) 编辑
摘要: JVM的内部体系结构分为四部分, (1)类装载器(ClassLoader)子系统 作用: 用来装载.class文件 (2)执行引擎 作用:执行字节码,或者执行本地方法 (3)垃圾回收子系统作用:垃圾回收 (3)运行时数据区 方法区,堆,java栈,PC寄存器,本地方法栈 阅读全文
posted @ 2014-02-09 00:41 muffe 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 一、首先分析两个概念 JVM实例和JVM执行引擎实例 (1)JVM实例对应了一个独立运行的java程序——进程级别 一个运行时的Java虚拟机(JVM)负责运行一个Java程序。 当启动一个Java程序时,一个虚拟机实例诞生;当程序关闭退出,这个虚拟机实例也就随之消亡。 如果在同一台计算机上同时运行 阅读全文
posted @ 2014-02-09 00:31 muffe 阅读(3838) 评论(0) 推荐(0) 编辑
摘要: JVM是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自己的代码和数据空间.JVM体系主要是两个JVM的内部体系结构分为三个子系统和两大组件,分别是:类装载器(ClassLoader)子系统、执行引擎子系统和GC子系统,组件是内存运行数据区域和本地接口。JVM工作原理和特点主要是指操作系统装入JVM,是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境.1.创建JVM装载环境和配置2.装载JVM.dll3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例4.调用JNIEnv实例装载并处理class类。一.JVM装入环境,J 阅读全文
posted @ 2014-02-09 00:26 muffe 阅读(9277) 评论(1) 推荐(0) 编辑
摘要: 1、在一个.java文件中可以有多个同级类(和public一样的位置,注意不是内部类).其修饰符只可以public/abstract/final/和无修饰符,不能是其他的protected/private等修饰符。所以protected类虽然可以在包内访问,但是也必须定义在另外类里面,protect 阅读全文
posted @ 2014-02-07 15:11 muffe 阅读(2831) 评论(0) 推荐(1) 编辑
摘要: 首先session是同一PC同一浏览器共享的.比如如下代码:public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession hs = request.getSession(); //存入session String user = request.getParameter("user"); hs.setAttribute("use... 阅读全文
posted @ 2014-01-16 11:34 muffe 阅读(2285) 评论(0) 推荐(0) 编辑
摘要: 一、https分为单向认证和双向认证:单向认证就是说,只有客户端使用ssl时对服务器端的证书进行认证,也就是说,客户端在请求建立之前,服务器端会向客户端发送一个证书,一般情况下,这种证书都是由自己或企业自行发布的,所以在客户端使用https时,会跳出“是否信任并继续”,点击信任则表示客户端信任服务器端证书,才可以继续交互。双向认证,就是服务器端和客户端都对双方的证书进行认证,这时除了单向认证外,还需要在服务器端的受信任证书列表中加入客户端的证书,这样服务器端才能信任客户端的请求。二、配置:1.单向认证配置:(1)首先使用keytool生成服务端密钥仓库,命令:keytool -genkey - 阅读全文
posted @ 2014-01-10 13:46 muffe 阅读(2764) 评论(0) 推荐(0) 编辑