Java Web 深入分析(11) JVM(1)】的更多相关文章

tomcat是什么:汤姆猫?Javaweb服务器? Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得…
前言 Java启动后作为一个进程运行在操作系统中,该进程要分配的内存有以下几个: 1.Java堆: 存储java内存区域,堆大小是在jvm启动时就像操作系统申请完成,其中 -Xmx和-Xms 分别表示了最大大小和初始大小.堆大小分配完成后就已经固定并属于java的gc管理. 2.线程: jvm运行的实际程序的实体是线程,jvm在创建线程会为其分配一个堆栈大小.如果线程数大于了CPU的核数就会导致高内存和低效率. 3.类和类加载器:在堆的永久代保存了类和类加载器,同样他们本身需要占用内存. 4.N…
jvm体系 jvm简介 java virtual machine jvm体系详解 jvm工作机制 虚拟机怎么执行代码 jvm为何基于栈 执行引擎 执行引擎过程 java调用栈 总结…
前言 java的内存分配和垃圾回收往往是影响系统性能和并发能力的主要因素,虚拟机提供许多的参数就是为了根据不同环境和请教下进行调优,没有最好的调优也没有固定的调优.需要我们深入的去了解jvm的各个垃圾回收机制和内存分配等知识.在java运行内存区域里面,java虚拟机栈.程序计数器.本地方法栈这3个伴随着线程生或者灭,是具备确定性的,所以我们主要研究java堆上面的这块内存怎么分配和回收. 判断对象存活的方法 1 引用计数法:这个经典的对象存活判定算法的思路主要是给一个对象添加一个引用计数器,每…
Servlet Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容. Servlet容器 servlet容器启动过程: 在tomcat容器管理等级中,Context直接管理着Servlet在容器中的包装类Wrapper,所以Servelt容器如何运行就影响这servlet,下面就是servlet容器启动过程 Servlet容器启动时,触发servletCon…
1Jetty的基本架构 Jetty有一个基本的数据模型,这个模式就是handle,所有拷贝拓展的组件都被当做一个handler被添加到server中,然后由jetty统一管理. 1.1Jetty基本架构简介 如图Jetty核心是由Server和Connector两个组件构成的,整个jetty是基于handle容器工作的,它类似tomcat的Connector容器; 如图,jetty还有其他一些可有可无的组件构成,可以在其上面拓展,这也是jetty受欢迎的原因吧.如JMX(Java Managem…
Classloader 有3个作用 将class加载到JVM中去 审查每个类由谁去加载,是一种父优先的等级加载 把Class字节码统一编译成JVM统一要求的对象格式 ClassLoader的等级加载机制 bootstrapClassloader :JVM自带的加载自己的工具,既没有更高一级的有没有子一级的加载器 ExtClassLoader : 主要是加载 System.getProperty("java.ext.dirs")目录下的内容,既不是纯正JVM内部也不是真正的外部类加载器.…
I/O问题可以说是现在海量数据时代下 ,I/O大部分web系统的瓶颈.我们要了解的java I/O(后面简称为(IO)) IO类库的基本结构 磁盘IO的工作机制 网络IO的工作机制 NIO的工作方式 同步异步.阻塞非阻塞的区别 IO优化技巧 IO类库的基本结构 字节流InputStream 提供public abstract int read() throws IOException; public int read(byte b[]) throws IOException public int…
Spring helloworld [http://wiki.jikexueyuan.com/project/spring/hello-world-example.html] HelloWorld.java package helloworld; public class HelloWorld { private String message; public void getMessage() { System.out.println("message="+this.message);…
前言: session 和cookie都是为了保持服务器和客户端之间交互状态.如果一天的PV有几亿,而一个cookie占200个字节但是也会占用很多带宽?所以大访问量就引用session,但是几百台服务器集群之间 有无法实现共享session. 理解Cookie 简单来说就是用户通过HTTP去访问服务器,然后服务器会返回一些key/value的数据给用户端,同时给这些数据加上一些限制条件,当用户再次访问服务器时,只要条件满足时就会被重新返回给服务器.W3C设计cookie最初是为了应对HTTP这…