- 浏览: 202975 次
最新评论
文章列表
新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具
备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。
老年代 GC(Major GC / Full GC):指发生在老年代的 GC,出现了 Major GC,经常
会伴随至少一次的 Minor GC(但非绝对的,在 ParallelScavenge 收集器的收集策略里
就有直接进行 Major GC 的策略选择过程) 。MajorGC 的速度一般会比 Minor GC 慢 10
倍以上。
其中Monor GC如下图所示
虚拟机给每个对象定义了一个对 ...
- 2014-07-12 15:08
- 浏览 307
- 评论(0)
第一步:下载resin,放到D:\resin-3.1.12。
第二步:eclipse新建工程:resin
第三步:配置工程的启动类。
第四步:配置启动resin所需要的配置文件和参数。
第五步:添加resin的jar包。
第六步:修改resin
- 2014-07-12 14:50
- 浏览 525
- 评论(0)
Resin4配置文件发生了较大变化,分为:
app-default.xml web应用配置
cluster-default.xml 集群配置
resin.xml
resin.properties 会被修改的变量
一.删除/注释resin社区版本不支持的功能1.health:修改resin.xml, 删除
- 2014-07-12 14:34
- 浏览 1437
- 评论(0)
“分天下为三十六郡,郡置守,尉,监” —— 《史记·秦始皇本纪》
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这会带来复杂度,给开发带来不便。
为了解释原因,假设有这样一个项目,很常见的Java Web应用。在这个应用中,我们分了几层:
Dao层负责数据库交互,封装了Hibernate交互的类。
Service层处理业务逻辑,放一些Service接口和实 ...
- 2014-07-12 11:19
- 浏览 1618
- 评论(0)
Maven 多模块项目在eclipse下面热部署,即你可以体验下无论你修改整个项目里面的任何模块的代码,都不需要用maven打包就可以看到效果,
1、首先准备好创建一个maven多项目的代码,准备好一个eclipse,一个tomcat,什么java环境,tomcat环境我就不多说了,如果这个你都没有配好就别往下看了,
2、创建项目,mvn archetype:generate -DgroupId=com.laoshuisheng -DartifactId=test -Dversion=1.0
创建成功后到pom.xml文件里面修改pom.xml
[xhtml] ...
- 2014-07-12 10:47
- 浏览 545
- 评论(0)
常量池也可以理解为编译常量。而编译常量只加载类就可以使用了,但是不执行类的初始化。
在使用成员变量的时候,要区分一下当前的类是已经加载状态还是已经初始化状态。如下面的例子:
import java.util.Random;
class FinalClassA
{
public static final int x =6/3;
static
{
System.out.println("FinalClassA static block");
}
}
class FinalClassB
{
public static final int x =new Rand ...
- 2014-07-11 19:32
- 浏览 456
- 评论(0)
常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。
public class TestConsntPool {
public static void main(String [] args){
String s0="kvill";
String s1="kvill";
String s2="kv" + "ill";
System.out.println( s0==s1 ); ...
- 2014-07-11 19:14
- 浏览 478
- 评论(0)
1 总体结构
模板(FTL 编程)是由如下部分混合而成的:
Text 文本:文本会照着原样来输出。
Interpolation 插值:这部分的输出会被计算的值来替换。插值由${和}所分隔(或者#{和},这种风格已经不建议再使用了)。
FTL tags ...
- 2014-07-11 17:03
- 浏览 476
- 评论(0)
1 什么是数值?
你所知道的来自于每天所使用的数字,比如 16,0.5 等这些用语就是数值的示例,也就是数字。在计算机语言中,这些用语有着更广泛的含义,比如数值并不一定是数字值.
2 类型
标量:
字符串:如果想在模板中直接给出字符串的值,而不是使用数据模型中的变量,那么将文本写在引号内即可,比如”green mouse”或者’green mouse’。
数字:整数和非整数是不区分的,只有单一的数字类型。
布尔值:布尔值代表了逻辑上的对或错(是或否)。
日期: 精确到天的日期(通常指的是“日期”),比如 April 4, 2003每天的时间(不包括日期部分),比如 10: ...
- 2014-07-11 14:57
- 浏览 390
- 评论(0)
数据模型
scalars标量:从根 root 开始指定它的路径,每级之间用点来分隔。
如:whatnot.fruits
sequences 序列:使用数组的方括号方式来访问一个序列的子变量。
如:animals[0].name,whatnot.fruits[1]
总结:
数据模型可以被看做是树状结构的。 ...
- 2014-07-11 14:08
- 浏览 354
- 评论(0)
将一个方法的调用同方法主体连接到一起称为“绑定”。如果在程序运行前执行绑定,有编译器决定方法调用的程序,称为“早期绑定”或“静态绑定”。如果绑定过程在程序运行期间进行,以对象的类型为基础,则称为“后期绑定”或“动态绑定”。
如果一种语言实现了后期绑定,同时必须提供一些机制,可以在运行期间判断对象的实际类型,并分别调用适当的方法,即编译器此时仍然不知道对象的类型,但方法调用机制能够自己去调查,找到正确的方法体。Java方法的执行主要采用动态绑定技术,在程序运行时,虚拟机将调用对象实际类型所限定的方法。
Java方法调用过程主要经历了以下的过程:
(1)编译器查看对象变量的声明类型和方法名,通 ...
- 2014-07-10 20:39
- 浏览 238
- 评论(0)
在特定的情况下,我们可以把子类转换成父类的“实例”,这就是向上转型;相反,我们也可以把父类转换成子类的“实例”,这就是向下转型。向上转型是安全的,向下转型则不然。
假设我们有三个类:bird,parrot,swallow,后两个类继承了bird类。
向上转型
class Bird {
public void fly()
{
System.out.println("Bird.fly()");
}
public void eat()
{
System.out.println("Bird.eat()");
}
}
c ...
- 2014-07-10 20:21
- 浏览 490
- 评论(0)
将一个方法的调用同方法主体连接到一起称为“绑定”。如果在程序运行前执行绑定,有编译器决定方法调用的程序,称为“早期绑定”或“静态绑定”。如果绑定过程在程序运行期间进行,以对象的类型为基础,则称为“后期绑定”或“动态绑定”。
程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由编译器
- 2014-07-10 19:44
- 浏览 396
- 评论(0)
方法重写的约束条件:
第一:子类方法必须和父类方法在名称,参数签名(参数个数,类型和顺序)和返回类型一致。
第二:子类方法不能缩小父类方法的权限,例如父类中为public方法不能在子类为private方法。
第三:子类方法不能比父类方法抛出更多的异常。
第四:父类的private方法不能被子类重写。
- 2014-07-10 18:46
- 浏览 256
- 评论(0)
强引用,这是Java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋值给一个引用变量,这个引用变量就是强引用。
强引用有以下特征:
强引用可以直接访问目标对象。
强引用所指向的对象在任何时候都不会被 ...
- 2014-07-10 18:43
- 浏览 427
- 评论(0)