第01章 CORE Java_基本格式
1.题:java历史?
答:Java 之父Golsling
1995 年5 月23 日 Java 诞生
1998 年12 月 1.2 版本Java2 J2SE J2EE J2ME
2004 年12 月 1.5 版本(5.0) Java JavaSE JavaEE JavaME
2.题:JavaSE,JavaEE,JavaME?
答:JavaSE ---Java 标准平台
JavaEE ---企业级平台
JavaME ---微小平台,用在资源受限的平台上
3.题:Java语言特点?
答:(1)跨平台---一次编译,到处运行
(2) 简单---简化C++ , 取消了指针,对指针进行了上层的封装,它保证能够通过这
个指针(引用), 来访问有效的内存单元。
不允许多继承,使继承关系成树装图,每个类都只能由一个
父类。java 语言的开发效率高,但执行效率低。( 相当于c++ 的55%)
(3)纯面向对象的语言---都要放在类中
(4)垃圾回收机制---自动垃圾收集,永远不会出现内存泄露的问题
4.题:JVM(虚拟机)?
答:java 语言是先编译后解释,java 源码是通过编译生成一种特殊的.class 的中间字节码文件,
然后再由JVM 进行解释运行。
(编译)(解释)
.java ----> .class ---> 可执行文件
5.题:java 源代码中的main 方法的定义和写法?
答:main 方法是程序的入口。
public class Hello{ // 一个源文件中只能有一个公开类,而且源文件的文件名与公
开类的类名完全一致
public static void main(String[] args){ // 程序入口 public static 可以调换顺序
System.out.println("Hello world"); // 打印语句
}
}
编译命令 javac xxxx.java 源文件的名字,源文件中的一个类会对应编译生成一个.class
文件
运行命令 java xxxx 类的名字---启动虚拟机
6.题:环境变量?
答:JAVA_HOME =/opt/jdk1.5.06 JDK 安装路径---JDK= JRE {JVM( 硬件)+ 编译器(软
件)} + 编译器工具+类库
PATH =$Path:$Java_Home/bin:.
ClassPath = . 类路径
7.题:包?
答:分类放置,减少命名空间
包名.类名表示一个类的全限定名
java xxx.xxx.ClassA ---运行时要在包结构的上一层目录来运
相关文档:
UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineErr ......
很经典的东西,被转的到处都是, 先写原文:
第一,谈谈final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖 ......
1.Proxy
模式
代理模式支持将某些操作从实际的对象中分离出来,通过它的代理类提供处理。这样便于修改和管理这些特定的操作。
下面示例一个代理模式的实现。
<<interface>>Subject.java
package
com.zj.proxy;
public
interface
Subject {
void
operation1();
......
设计模式
一个程序员对设计模式的理解:
“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂&rdq ......