Java 面试资料整理之J2SE
来源:互联网 发布:哈萨克软件qorjin 编辑:程序博客网 时间:2024/05/05 08:12
资料不断补充和更新中……
J2SE部分
1.谈一下你知道的JDK提供的Java基本包
1) java.lang 包——包含 线程类(Thread) 异常类(Exception) 系统类(System) 整数类(Integer) 字符串类(String )等,这个包是 JVM 自动引入的包.
2) java.awt 包—— 抽象窗口工具包(Abstract Window Toolkit)用于构建 GUI 界面的类和绘图类
3) java.io 包——输入/输出包,包含各种输入/输出流类。如:FileInputStream / FileOutputStream 等。
4) java.util 包——提供一些实用类,如日期类(Data)和集合类(Collection)
5) java.net 包——支持TCP/IP网络协议,包含 Socket 和 URL 相关的类,用于网络编程
JDK的所有的包中的类构成了JAVA 类库,或者叫做 J2SE API.
2.Java 里面的保留字和关键字的特点
Java 里面的保留字包括:const 和 goto
关键字的特点就是:所有的关键字都是小写。friendly,sizeof 不是 Java 的关键字,区分于C++
3.谈一下JVM以及涉及到的堆区,方法区和 Java栈区
Java Virtual Machine --JVM 是由JDK (Java Development Kit--Java 开发语言包,它提供了基本的开发和运行环境)
提供的一个软件程序,它的任务是执行Java 程序。JVM 封装了底层操作系统的差异,不管是在哪种平台上,都按照下列步骤来运行程序:
1) 把 .class 文件中的二进制数据加载到内存中
2) 对类的二进制数据进行验证
3) 解析并执行命令
JVM 提供了程序运行时环境,其中最重要的一个资源就是运行时数据区,这是操作系统为JVM进程分配的内存区域。JVM管理这块区域,又把这个区域进一步划分为多个子区域:
1) 堆区:存放对象,分配的对象,实例化
2) 方法区:存放类的类型信息,静态变量和方法
3) Java栈区:局部变量
4.谈一下在使用 classpath 环境变量的优先级别
1) 在java javac 命令中的 -classpath 优先级别最高
2) 其次是在当前 DOS 窗口中设置的环境变量 classpath
3) 然后是系统环境变量 classpath
5.引用类型和基本类型的区别
1) 基本类型代表简单的数据类型,如整数和字符;
引用类型所引用的实例能表示任意一种复杂的数据结构,如Person 类,有基本类型,还包含Person引用类型的变量
public class Person{
long id; // 身份证号码
String name;
int age;
char sex;
Person mother; //母亲
}
2) JVM 处理引用类型变量和基本类型变量的方式不一样
对于基本类型的变量,JVM 会为其分配数据类型实际所占用的内存空间
引用变量,仅仅是一个指向堆区中某个实例的指针,即内存地址,它所占的空间取决于JVM的实现,对Java程序是透明的
6.Java 中的异常处理机制 的简单原理和应用,还有错误(Exception and Error)
所有的Exception 和 Error 都是 java.lang.Throwable类 的子类。
首先,Error 是系统级错误,不必再处理的异常,用于指示合理的应用程序不应该捕获的严重的错误。比如 Error 下面的子类 TreadDeath ,在调用Thread 类中带有零参数的 Stop () 方法的时候,受害线程将抛出一个 TreadDeath 实例。
其次,Exception,指明了合理的应用程序应该捕获的条件,需要处理的异常。
1)当Java 程序违反了 Java 语义规则时,JVM就会将发生的错误表示为一个异常。比如:空对象引用的 NullPointerException 或者 数组下标越界引发的 IndexOutOfBoundsException。还有比如:IOException,RuntimeException(JVM 在正常运行期间抛出的异常的超类)
2)Java 允许程序员扩展这种语义检查,可自己创建自己的异常,并自由选择在何时用 throw 关键字引发异常。
如,我的一个DAOException类中
public class DAOException extends Exception {
/**
* @Simon Lv
*/
private static final long serialVersionUID = -1996525365417702366L;
public DAOException(){
super();
}
public DAOException(String message){
super(message);
}
}
DataNotFoundException 异常类中
public class DataNotFoundException extends Exception {
/**
* @Simon Lv
*/
private static final long serialVersionUID = -35712932323040622L;
public DataNotFoundException(){
super();
}
public DataNotFoundException(String message){
super(message);
}
}
那么在引用时候 请注意 throws 和 throw 关键字的区别
public UserId findUser(UserId userId)throws DAOException,DataNotFoundException{
/**
* @Simon Lv
*/
if(userId==null){
throw new DAOException("User is null");
}
if(this.connection==null){
throw new DAOException("Connection created failed Or the Connection is closed!");
}
String hql ="from com.accp.entity.UserId where userName=? and userPassword=?";
Query query = this.connection.createQuery(hql);
query.setParameter(0, userId.getId());
List users =null;
try{
users = query.list();
} catch (HibernateException ex) {
ex.printStackTrace();
throw new DAOException("Hql Execute Failes");
}
if(users==null||users.size()<=0){
throw new DataNotFoundException("Error User or Password!");
}
userId = (UserId)users.get(0);
return userId;
}
- Java 面试资料整理之J2SE
- j2se相关资料整理
- Java面试问题&资料整理
- Android学习之 面试资料整理[1]
- 找工作C++面试资料之问答题整理
- Android学习之 面试资料整理[2]
- 面试资料整理
- 面试资料整理
- 面试资料待整理
- 华为面试资料整理
- 前端面试资料整理
- Java基础之面试整理
- Android面试之J2SE基础
- Android面试之J2SE基础
- 找工作C++面试资料之问答题整理(1)
- 找工作C++面试资料之问答题整理(1)
- Java面试资料简单整理(不完全版)
- J2SE之java语法
- windows窗口关闭时的三个消息
- c++笔试
- Eclipse/MyEclipse IDE
- 当她不爱你的时候
- NeatBeans开发环境 各种资源地址汇总
- Java 面试资料整理之J2SE
- 外企中的程序面试-JAVA
- JBuilder中Run Project 主类和在工程中选择一个类右键用 Run using defaults 的区别
- 安全使用网银的简单办法
- Oracle9i查询器.用jdbc实现().用了swing..(面板一)
- 微软华人讲师谈软件生涯:功夫在身外
- JBuider 工程下各种文件说明
- Oracle function-based index对于数据更新处理延时问题。
- 采用Servlet 技术的背景(通用网关,进程和线程介绍)