- 浏览: 15530 次
- 性别:
- 来自: 南宁
最新评论
文章列表
试着翻译一些英文Blog,这是小试鸡刀第一篇,是Google Testing Blog发布的关于Hackable Projects的。感觉翻译得有点怪,其中有些错误与不解,希望有同学指正。
Hackable Projects(点击访问原文)
可拓展的项目
Introduction
简介
Software development is difficult. Projects often evolve over several years, under changing requirements and shifting market conditions, impac ...
Tomcat增加jmx监控,且可以设置密码
- 博客分类:
- Java
服务器环境
虚拟机:Java HotSpot(TM) 64-Bit Server VM版本 24.51-b03
操作系统:Linux 2.6.32-431.el6.x86_64
1、首先修改tomcat的catalina.sh文件,增加以下参数:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
#19999是jmx监控端口号
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=19999&q ...
花了不少时间看了Tomcat7的源码,相结合《HowTomcatWorks》这本书学到的内容,感觉认识了不少知识。写些文章总结一下,以免过后忘记了。
Tomcat的两个重要组件:容器(Container)和连接器(Connector),是我这次学 ...
《HowTomcatWorks》这本书看得差不多了,Tomcat的工作原理也了解了。到了实战Tomcat源码的时候了。《HowTomcatWorks》的内容是关于Tomcat4和Tomcat5的,已经是10年前的货了……现在Tomcat8都出来了,但是我还是决定看看Tomcat7的源码。
首先要下载源码,并在Eclipse中创建项目,开始时根据其他网友们的攻略进行源码运行环境的搭建,在用Ant Build源码的时候,出现了各种错误啊,研究了build.xml半天也解决不了,实在郁闷。后来无意看到有网友发的阿帕奇的文档,链接是http://tomcat.apache.org/t ...
对于上一篇所说的公开平台,有个功能是发布公开信息。原本这功能的操作是,在一个TextArea(在线编辑器如xheditor)里编写内容,编写文本、上传图片等,然后保存把TextArea中的内容存入数据库。当需要浏览该信息时,在网页上显示。这样挺好的,很多网站都是这么做的,包括ITEYE写blog时,也是在这在线编辑器中编辑的。但是客户说了,每次要上传图片都要一张一张地上传,太麻烦了啊,能够把word文档中的内容直接复制到TextArea就好了。对于此,word文档中复制文本过来是没问题的,但是复制图片过来,问题就大了,在线编辑器不能把复制粘贴过来的图片自动上传到服务器啊,就算是H ...
接触C#--做一个党务政务公开平台(日记)
- 博客分类:
- C#
本来没接触过ASP,不会C#的,但公司要帮个县城的监察局做个党务政务公开平台(以下简称公开平台)。客户的想法是,就如同银行里的查询机等,公开平台运行在触摸屏电脑上,政府通过公开平台,发布各种政府公开的信 ...
《晚期(运行期)优化》笔记
- 博客分类:
- 《深入理解Java虚拟机》笔记
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
在部分商用虚拟机中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“热点代码”(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时 ...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
Java语言的“编译期”是一段“不确定”的过程,因为它可能是指一个前端编译器(如HotSpot的javac)把*.java文件转变成*.class文件的过程;也可能是只虚拟机的后端运行期编译器(Just In Time编译器)把字节码转变成机器码的过程;甚至还可能是指使用静态提前编译器(AOT,Ahead O ...
正常eclipse下,单击程序中的某个变量,整个程序(方法)中的同名变量会高亮显示。
但是最近我的MyEclipse中这个功能被关闭了,挺不方便的。
想要打开这个功能,最直接的是按Alt+Shift+O,这个其实是变量变色功能的开关快捷键。
另外一个有可能的地方是找到控制editor内容颜色的选项:window--> Preferences--> General--> Editors--> Text Editors--> Annotations 或者窗口—>首选项..—>常规—>编辑器—>文本编辑器—>注释
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认 ...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始到执行完成的过程,就对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。
在编译程序代码的时候,栈帧中 ...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
类加载的过程
加载
“加载”(Loading)阶段是“类加载”(Class Loading)过程的第一个阶段,在此阶段,虚拟机需要完成以下三件事情:
1、 通过一个类的全限定名来获取定义此类的二进制字节流。
2、 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading),验证(Verification),准备(Preparatio ...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上 ...
周志明先生所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》(购买地址:亚马逊链接),对我学习Java、理解Java之道有非常大的帮助。至今已读过两遍,为了能够融会贯通,加深记忆(人老了记忆力差),便在Blog上记录一些认为该记的东西。
JVM有自动内存管理机制,简单地说,Java程序员只需要new一个对象,jvm会自动给这个对象分配内存并对内存进行管理,包括当该对象已经“死亡”时对其进行回收。