文章列表
包概念的引入就是为了解决不同包之间有相同类名的类的共存问题,通过关键字import可以明确指定该类属于哪个包下,在引入一个类时也可直接写上类的全路径,如:
public class FullQualification {
public static void main(String[] args) {
// ArrayList在java.util包下,在new的时候直接使用全名明确
java.util.ArrayList list = new java.util.ArrayList();
}
}
以上做法能很好的解决问题,但这样显得程序很冗长,所以通常这样使用: ...
用构造器初始化类:
构造器是一个很特殊的方法,方法名必须大写,并且没有返回类型(与返回void是不同的),没有参数的构造器称为无参构造器,例:
public class SimpleConstructor {
// 默认无参构造器
public SimpleConstructor() ...
最基本的控制程序流程语句 if-else:
if(Boolean-expression){
statement1
} else {
statement2
}
如果Boolean-expression为true,将执行statement1,否则执行statement2。
迭代:
while:
while(Boolean-expression){
statement
}
当Boolean-expression结果为true时,statement语句将会循环执行,知道Boolean-expression为false,所以通常需要在某个地方有 ...
对Java的基本类型,存储的是实际的值,而并非指向一个对象的引用,所以在赋值时,是直接将一个地方的内容复制到了另一个地方。
引用静态方法,在HelloData类中需要引用Print中的静态方法:
package net.mindview.util;
pub ...
对象存储位置:
寄存器:最快的存储区;
堆栈:位于RAM中,速度仅次于寄存器,主要存放对象的引用,系统必须知道所有项确切的生命周期,以便上下移动堆栈指针;
堆:也位于RAM中,用于存放所有Java对象,编译器不需要知道数据的的生命周期,灵活性虽高,但速度要差于以上二者;
常量存储:也就是静态存储区,通常用于存放字符串等不会被改变的常量;
非RAM存储:完全不受程序影响,比如流对象和持久化对象。
对象的特例 - 基本类型:
对于一些常用的数据类型,往往需要高效的使用,所以直接在栈中直接创建一些并非是引用的直接变量,并直接存储值。
Java还提供了两个用于高 ...
面向对象语言五个基本特性:
1.万物皆为对象;
2.程序是对象的集合;
3.每个对象都有自己的由其他对象所构成的存储;
4.每个对象都拥有其类型;
5.某一特定类型的所有对象都可以接收同样的消息。
Java最基本的三个特征:
1.封装
2.继承
3.多态
Java都采用单继承,所有类都继承于Object类。
Spring默认的类都为单例的,在多个线程同时访问该类并存在成员变量的时候,很可能会造成数据的不同步,以后使用需要注意,遇到要么不用成员变量,要么把该Bean的scope属性设置成prototype.
面向切面/方面编程(AOP = Aspect Oriented Programming)是一种编程思想。Spring中提供内置的AOP支持,基于动态AOP机制来实现。所谓的动态AOP模式,就是通过动态Proxy模式,在目标对象的方法调用前后插入处理代码。
AOP中几个重要的概念:
1.切面(Aspect),对象操纵过程中的截面;
2.连接点(JoinPoint),程序运行过程中的某个阶段点,如调用方法、异常抛出;
3.通知(Advice),某个连接点所采用的通知;
4.切点(PointCut),一系列连接点的 ...
- 2009-11-09 23:54
- 浏览 928
- 评论(0)
学习Spring,首先当然是需要了解Spring平台的核心之一IoC。
一、控制反转(IoC = Inversion of Control)和依赖注入(DI = Dependency Injection)
IoC,通俗说法就是由容器控制程序之间的关系,而非由代码直接控制;也就是控制权由程序代码转移到了外部容器,控制权的转移,即所谓的反转。
DI,即组件之间的依赖关系由容器在运行时来决定,形象的说就是由容器动态的将依赖关系注入到组件之中。依赖注入的目标并非为系统带来更多的功能,而是提升组件的复用行和可扩展性。
二、依赖 ...
- 2009-11-08 20:55
- 浏览 872
- 评论(0)