`
0428loveyu
  • 浏览: 30888 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论
文章列表
一、类加载器 首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入 javac YourClassName.java 此时,你的java代码就被编译 ...
Connector是Tomcat最核心的组件之一,负责处理一个WebServer最核心的连接管理、Net IO、线程(可选)、协议解析和处理的工作。一、连接器介绍在开始Connector探索之路之前,先看看Connector几个关键字 NIO:Tomcat可以利用Java比较新的NIO技术,提升高并发下的Socket性能 AJP:Apache JServ Protocol,AJP的提出当然还是为了解决java亘古不变的问题——性能,AJP协议是基于包的长连接协议,以减少前端Proxy与
很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动。这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能。本文首先从应用层次分析了tomcat所有的connector种类及用法,接着从架构上分析了connector模块在整个tomcat中所处的位置,最后对connector做了详细的源代码分析。并且我们以Http11NioProtocol为例详细说明了tomcat是如何通过实现ProtocolHandler接口而构建connector的。 一、C ...
在研究Java运行原理之前,我们先把视野放宽一点:一般的高级语言是如何工作的?我们在编辑器或者IDE里根据每种语言的语法规则敲入源代码,这些代码我们很容易理解。很显然,这些代码肯定是以二进制存储在我们的硬盘当中,当我们再次打开的时候,编辑器读取这些二进制,还原成我们能读懂的英文。当我们真正运行程序的时候,CPU是读不懂这些英文的,所以我们需要先转化成可执行的二进制文件,这个过程通常由编译器完成。有些编译器直接将源代码编译成机器码,载入内存后CPU可以直接运行。而机器码的格式是跟具体的CPU架构相关的,Intel的CPU机器码对于ARM CPU来说是无法理解的。因此,同样的源代码需要根据不同的 ...
1.1JVM运行 ClassLoader->RUNNTIME DATA AREA->EXECUTION ENGINE->NATIVE INTERFACE->NATIVE LIBRARIES Class Loader:负责加载类到内存 RUNNTIME DATA AREA:负责 EXECUTION ENGINE: 解释器Interpreter,负责解释命令,提交到操作系统 NATIVE INTERFACE:在NATIVE METHOD STATCK中登记NATIVE方法,在Executive Engine执行时加载native libraies. ...
JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么放、放在哪儿,另外JVM堆中存的是对象。JVM栈中存的是基本数据类型和JVM堆中对象的引用。 JVM基础概念:JVM堆与JVM
一、什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指: 1、抽象的Java虚拟机规范 2、一个具体的Java虚拟机实现 3、一个运行的Java虚拟机实例 二、Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务 ...
作为一种阅读的方式了解下jvm的工作原理 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例 4.调用JNIEnv实例装载并处理class类。
异常处理的能力是一门语言好坏的重要特征。python也提供了强大的异常处理功能,如下面介绍。 1. try...except : try: #raise NameError pass except NameError: # code to be executed when NameError occurred pass except ValueError: # code to be exec ...
当我们列出一系列样式规则之后,还要告诉浏览器将这些规则运用到哪些元素(document element),这是通过选择器(selector)来实现的。顾名思义,选择器就是用来选择样式规则在哪些元素起作用。举一个最简单的例子: h1, h ...
CSS(Cascade Style Sheet),层叠样式表凭着着“丰富的样式、简单易用、重复使用、缩小文件”等优势成为了现代网页必不可少的一样技术。需要注意的是,目前我们将CSS定义为样式表中的一种,未来可能有其他样式表被开发出来。直白地说,CSS就是一系列样式的集合,它用于定义文档元素的外观表现形式(如背景、颜色、字体、边框),从而实现了文档结构(structure)和外观(presentation)的分离,使得网页的维护更加容易、更具可读性,同时可以大大提高开发效率。 那么,如何将样式表用到文档中去呢,我个人总结了如下三种方式: external style sheet do ...
Web Real-Time Communication (WebRTC) is a new HTML5 standard framework that enables the sharing of video, audio, and data directly between web browsers. These capabilities open the door to a new wave of advanced web applications. If all goes according to plan, over 50% of all web browsers will s ...
To extend or modify the behaviour of ‘an instance’ at runtime decoratordesign patternis used. Inheritance is used to extend the abilities of ‘a class’. Unlike inheritance, you can choose any single object of a class andmodify its behaviourleaving the other instances unmodified. In impl ...
Global.asax 文件中配置自定义的错误?问:您要创建ASP.NET应用程序用于运行公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?答:在这个应用程序的 Global.asax 文件中创建一个Application_Error过程去处理ASP.NET代码错误;在DataGrid控件的Footer显示员工合计数?问:您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Foote ...
Web Service 数据传输有什么限制?为什么?DataTable可以作为Web Service参数传递吗? 所传输的数据必须是可序列化的。因为需要转换为XML格式以可以穿越防火墙,做到真正的数据共享。因为DataSet处理DataTable的序列化以便进行封送处理,所以无法传递单个DataTable;在 ADO.NET 的三个基本数据对象 — DataReader、DataTable 和 DataSet 中,只有 DataSet 可以与 Web 服务之间传递。这是因为,为了与 Web 服务进行通信,对象必须是可序列化的(序列化是一个过程,它用于将对象的公共属性转换为 XML,并且因为 ...
Global site tag (gtag.js) - Google Analytics