9.8学习总结

1、异常的API结构是怎样的?Error和Exception有什么区别?

Throwable是所有异常和错误的父类。异常Exception可捕获,可处理。错误Error可捕获,不能处理。

 

2、异常的执行顺序怎样?如果在try块中有return,finally会执行吗?

先执行try块,如果没有异常,顺序执行。如果有异常,转向catch块执行,同时终止try块中的其余代码。无论是否有异常,都会执行finally。如果在try块中有returnfinally会在return之前执行。

 

3、finally是否在任何时候都会执行?

不是,如果有System.exit(0),则finally不会执行。

 

4、throw 和throws的区别是什么?

throw是语句,表示显示抛出异常对象。throw   new  Exception();

throws是方法修饰符,表示该方法中可能抛出某个异常,调用方法是需要处理该方法抛出的异常。Public void test()throws Exception{}

 

5、异常分为几种?如何区分?列出常见的异常。

整型除0,会报ArithmetiException算术异常,但是仅限于整型,doublefloat类型不会报异常,会得出无穷大的结果。

异常分两种:编译期异常(检查异常)和运行期异常(非检查异常)。所有的运行期异常都是RuntimeException子类。

Java.lang.ArithmeticException  算数异常,比如整型除零操作  int = 9/0;

Java.lang.ClassCastException   类型转换异常。一般发生在类型强转时,但对象不匹配某种类型。Objcet = new JFrame(); String y = (String)x;

Java.lang.ClassNotFoundException  类未找到异常。一般发生在通过反射加载时,类的不正确。   Class c = Class.forName(“sdfs”);

Java.lang.ArrayIndexOutOfBoundsException  数组下标越界异常。一般发生在使用数组元素时,引用了不存在下标。  int[] x =new int[3];   int[3] =9;

Java.lang.NullPointerException  空指针异常。一般发生在对null使用属性和方法时

String  x = null; System.out.printlt(x.length());

Java.lang.NumberFormatException  数字转换异常。一般发生在将字符串转化为数字

String x = “abc”; int a =Integer.parseInt(x);

  Java.io.FileNotFoundException  文件未找到异常。一般发生在文件操作流失,创建流时,文件路径错误。Reader r = new FileReader(“c:/1.txt”)c盘下没有1.txt文件

  Java.io.NotSerializableException  未序列化异常。一般发生在操作对象读取流时,需要传输的对象未实现serializable接口

 

6、如何得到当前工作目录?

String path =System.getproperty(“user.dir”);

 

7、String x ="abc" 和 String x =new String("abc")有什么区别?

String  x = “abc” x指向的是数据段中的字符串常量对象。

String  x=new String(“abc”;x指向的是堆中的字符串对象。但是在堆中创建字符串对象之前,会先去数据段中找是否有“abc”字符串常量对象。如果有,直接复制到堆中。如果没有,则创建一个字符串常量对象,再复制到堆中。所以String  x =new String(“abc”);可能会产生两个对象

 

8、熟练掌握字符串常见的方法。split()  trim()  indexOf() substring()  replace()  matches()

  split() 按指定的正则表达式,将字符串拆分成字符串数组。

  trim()去掉两头的空格

  indexOf()找到指定字符串所在的下标,如果没有找到,则返回-1

  substring(1,5)截取子串,包括下标为1的字符,但不包括下标为5的字符

  replace() 替换字符串

  mathes() 检查字符串是否匹配指定的正则表达式

 

9、String和StringBuffer的区别?

String 具有长度不可改变的特点。当对字符串做添加、删除、替换时,不会改变原来字符串的内容,而是创建一个新的字符串对象。一旦需要对字符串频繁操作时,效率很低。

StringBuffer 时缓冲区的对象。当对StringBuffer做添加、删除、替换时,不会产生新的对象。所以一般利用StringBuffer做字符串操作,然后通过toString()还原字符串。效率较高

 

10、如何将字符串转化为基本数据类型?

利用包装类 parseXX(). Int x = Integer.parseInt(“34”);

 

11、如何将日期对象进行"2011-12-10"格式化输出?如何将"2011-12-10"字符串转化为日期类型?

SimpleDateFormat  sf =new SimpleDateFormat(“yyyy-MM-dd”);

String  x =sf.format(new Date());

Date date  = sf.parse(“2011-12-10”);

 

12、javaBean规范有哪些内容?

1、  必须提供共有的无参构造方法,方便通过反射的方式得到对象。

2、  私有属性+get/set()对属性进行访问和设置。

3、  可序列化。实现java.io.Serializable接口

 

13、什么是反射?

在编译时并不清楚应该加载哪个类,类的加载在运行期间进行的。这种特性叫反射。同

过反射可以对类进行加载、探知、自审。

 

14、如何得到Class对象?如何利用Class对象产生该类的对象?

得到Class对象有三种方式:

1、类名.class   2、对象.class   3Class.forName(“类全路径”);

 

通过Class对象.newInstance()创建指定类的对象

 

15、线程和进程的区别?

进程和线程都是多任务处理的方式

进程是一个自包含的应用程序。进程有自己独立的内存空间,进程一开启,就会消耗内存。

线程时进程内部的一个顺序控制流。多个线程共享一个进程的内存空间,线程的开启不会另外占用内存空间。

 

16、创建线程有几种方式?如何启动线程?调用start()和调用run()的区别?

创建线程有两种方式:1、继承Thread类,重写run() 2、实现Runnable接口,实现run()。推荐使用第二种。因为类只能单根继承,一旦继承了Thread类以后,就不能再继承别的类。但接口可以多实现,使用接口更为灵活。

 

启动线程:start()

调用start()会在主线程之外,产生一个新的子线程,多个任务同时执行。

调用run()是普通方法调用,不会产生新线程。

 

17、线程有几种状态?

线程有八种状态:新建、就绪、运行、死亡、休眠、等待、挂起、阻塞

 

18、什么是线程优先级?分为几级?

当两个或多个线程同时处于就绪状态时,优先级高的线程,会优先得到CPU的执行。优先级共分10级,数字越大优先级越高,默认为5级。

 

19、什么是线程同步?同步会造成什么结果?

当两个或多个线程同时访问一个对象时,为了保证对象的数据安全,同一时间只允许一个线程访问。这种方式就叫做线程同步,也叫线程安全。

同步造成结果:1、数据安全  2、效率低下

 

20、wait和sleep的区别?

1、  waitObject中定义,sleepThread中定义

2、  wait必须放在同步方式或同步块中,表示对指定的对象进行等待。Sleep可以放在任何位子,表示当前线程休眠

3、  wait会释放对象锁,而sleep不会。

4、  wait必须要唤醒才能继续执行,sleep在休眠结束后,自动恢复运行。

 

21、集合的作用是什么?集合框架的API结构是怎样的?

集合的作用:用于封装、操作、传输数据。集合框架的APICollection是父接口,有listset两个子接口。另外还有一个map接口

 

22、List、Set、Map集合各自有什么特点?

List特点:线性、元素可以重复。

Set特点:元素不可重复。

Map特点:键值对,一个元素可以放两个对象。对象不能重复。

 

23、集合元素如何添加?如何删除?如何遍历?

添加:ListSet都是add()Mapput();

删除:remove()

遍历:1for(int i = 0;i<list.size;i++){

       Object  obj =list.get(i)

}

2Iterator  it = list.iterator;

       While(it.hasNext()){

       Object   obj  = it.next();

}

3、  for(Object obj : list){

 

}

 

24、List接口实现类ArrayList、Vector、LinkedList的区别?

ArrayList底层部分由数组实现,遍历速度快,中间插入删除元素速度慢。线程不安全。

Vector:底层部分由数组实现,但线程安全。

LinkedList:是一组布连续的内存空间,采用双向链实现。中间插入元素速度快,但遍历速度慢。

 

25、集合如何进行排序?

  Collections.sort(list,  new Comparator){

              Public int compare(){}

}

 

26、HashMap和Hashtable有什么区别?

1、  HashMap线程不安全,而Hashtable线程安全。

2、  HashMao允许空键空值,而Hashtable不允许。

 

27、awt和swing有什么区别?

Awt采用操作系统自身的风格来显示GUI组件,跨平台时,风格会不一致。

Swing拥有独立的显示风格,跨平台时,风格一致。

 

28、GUI常见布局管理器有哪些?

1、  绝对布局  null  按照组建的大小和位置定位组件

2、  边框式布局   BorderLayout 按东、西、南、北、中的方式定位组件

3、  流式布局  flowLayout  按从上到下,从左到右的方式定位组件,超出容器自动换行。

4、  网格布局   GridLayout 将容器等分为大小相等的几个部分,每部分放一个组件。

 

29、如何进行事件的添加?

1、  确定事件源

2、  确定监听器(监听器需要实现监听接口)

3、  注册。建立事件源和监听器的联系

 

30、流按照输入输出方向分有几种?相对于什么而言?

流按照输入输出的方法分为两种:输入流和输出流,相对于内存而言。当需要将数据从数据源读取到内存叫输入流,也叫读取流。当需要将内存中的数据写入到数据源,叫输出流,也叫写入流。

 

31、流按照传输内容分有几种?各自的父类是什么?

流按照传输内容分为:字节流、字符流、对象流。无论是哪一种流,本质都是字节流。但为了方便程序员对字符串和对象操作,在字节流基础上做了一层封装,形成了字符流和对象流。

字节流的父类:InputStream OutputStream

字符流的父类:Reader Writer

 

32、操作流时,如果文件不存在会出现什么情况?如果流不关闭会出现什么情况?

操作流时,如果文件不存在,读取流会抛出文件未找到异常(java.io.FileBotException)。但写入流会创建新文件。

流使用完毕如果不关闭,那么不会释放流所占用内存资源,同时写入流有可能写不进文件。

 

33、如何判断一个文件是否存在?如何创建一个目录?如何知道一个目录中有多少文件?

判断文件是否存在:File 对象.exists();

创建目录:File对象.mkdir();

得到目录中文件:File对象.listFiles();

 

34、什么是对象序列化?如何实现对象序列化?

当需要对对象进行传输时由于对象数据庞大,所以在传输前,将对象打撒成字节许留,以利于传输,这个过程叫对象序列化。到达目的地后,又需要将字节序列还原成对象,叫反序列化。

如何实现序列化:要求被传输的对象实现java.io.Serializable

 

35、TCP/IP协议分为几层?

TCP/IP协议分为:应用层、传输层、网络互连层、网络接口层。

 

36、什么是端口?常见端口有哪些?

端口是应用程序进行数据交互的通道。一个应用程序占用一个端口。

常见端口:

Tel 协议23

Smtp 协议:25

ftp协议:21

http协议:80

 

37、TCP和UDP的区别是什么?掌握TCP编程流程。

TCP是一种比较安全的协议,提供三次握手,如果数据在传输中有损耗,会要求发送方重新发送,以保证数据的安全性和完整性。

UDP是一种比较不安全的协议,数据在传输有损耗,也不会要求发送方重新发送,速度较快。

 

38、JDBC是什么?JDBC的API为什么大都是接口?

39、JDBC开发流程是怎样的?

40、什么是XML?XML声明是怎样的?XML注释是怎样的?

XML叫做可扩展标记语言,利用标记和子标记来描述对象和对象属性。

XML声明<?xml  version=”1.0” encoding=”utf-8” ?>

XML注释<!--   -->

 

41、一个格式良好的XML有哪些规定?

1、  必须要有声明

2、  有且只有一个根元素

3、  标记区分大小写

4、  属性要加引号

5、  标记要成对出现

6、  空标记必须要关闭<bean/>

7、  元素要正确嵌套

 

42、格式良好的XML和有效的XML有什么区别?

如果一个XML文件符合XML的语法规范,那么就是格式良好地XML

有效地XML文件除了要满足XML语法规范外,还要满足DTDSchema定义的元素规则。

 

43、DOM和SAX有什么区别?

DOMSAX都是XML解析技术。

DOM特点:1、时一种树状结构 

2DOM可以对XML进行存储和读取,需要将整个文档读取到内存操作

3、可以随机的访问XML元素

4、大型文档可能造成内存紧张

SAX特点:1、基于事件模型解析,不用将整个文档读取到内存,内存消耗小。

                 2、不能对XML元素进行随机访问。

              3SAX只能读取不能存储

                 4、只能遍历一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值