java+架构系列培训课程 04 java核心编程

java+架构系列培训课程 04 java核心编程

ID:33606851

大小:3.92 MB

页数:61页

时间:2019-02-27

java+架构系列培训课程 04 java核心编程_第1页
java+架构系列培训课程 04 java核心编程_第2页
java+架构系列培训课程 04 java核心编程_第3页
java+架构系列培训课程 04 java核心编程_第4页
java+架构系列培训课程 04 java核心编程_第5页
资源描述:

《java+架构系列培训课程 04 java核心编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java核心编程薛安振!大纲1.异常2.集合3.输入输出4.多线程5.JNI6.RMI7.图形界面8.注解异常什么是异常1.异常是一个发生在程序执行期间的事件,打运行下面的程序,看看会怎样!断程序的正常执行。!2.异常对象:错误发生时,程序创建一个对象并传递给运行环境,这个对象包含了错误信息、类型、发生错误时的程序状态。!3.创建错误对象并传递给运行环境的过程称为抛出一个异常。!4.异常控制是Java健壮性的重要体现。!异常基本处理结构try{!!…!}catch(){!!…!}catch(){!!…!}finally{!!…!}!自定义异常声明异

2、常练习!一旦某个方法声明了异常,那么在调用它时就必须用try-catch进行安全保护,或者显式抛出。!异常的层次和场景•Error类对象(如动态连接错误等),由Java虚拟机生成并抛弃(通常,Java程序不对这类例外进行处理);•Exception类对象是Java程序处理或抛弃的对象。它有各种不同的子类分别对应于不同类型的例外。!•其中类RuntimeException代表运行时由Java虚拟机生成的例外,如算术运算例外ArithmeticException(由除0错等导致)、数组越界例外ArrayIndexOutOfBoundsExceptio

3、n等;!•其它则为非运行时例外,如输入输出例外IOException等。Java编译器要求Java程序必须捕获或声明所有的非运行时例外,但对运行时例外可以不做处理。!使用好异常•反例之一:丢弃异常!!!15行-18行。!•反例之二:不指定具体的异常!!15行。!•反例之三:占用资源不释放!!3行-14行。!•反例之四:不说明异常的详细信息!3行-18行。!•反例之五:过于庞大的try块!!3行-14行。!•反例之六:输出数据不完整!!7行-11行。!使用好异常集合集合接口1.Collection—一组对象!2.Set—不包含相同对象单元的集合!3

4、.List—有顺序的,可包含重复对象的集合!4.Queue—支持队列操作的集合,since1.5!5.Map—键值对集合!6.SortedSet—升序排列的set!7.SortedMap—键升序排列的Map!常用实现例!还有更多,请参考API!丰富一点再丰富一点例子进阶:!增加对象;!调用别的API方法。!选择你要的实现工具类java.util.Arrays工具类java.util.Collections练习:!写个小程序,使用collections里的5个方法。!输入输出基本示例读写文件演示!文件操作演示!字符流–16位Unicode演示!管道

5、流管道用来把一个程序、线程和代码块的输出连接到另一个程序、线程和代码块的输入。!管道输入流作为一个通信管道的接收端,管道输出流则作为发送端。管道流必须是输入输出并用,即在使用管道前,两者必须进行连接!NIO新IO通道!文件锁!序列化serializable序列化的作用!演示!用transient关键字保护不想序列化的内容!总结多线程定义和启动线程实现runnable接口!继承thread类!让线程睡打断线程Thread.interrupt()!等待其它线程完成后台线程使用Thread建立的线程默认情况下是前台线程,在进程中,只要有一个前台线程未退

6、出,进程就不会终止。主线程就是一个前台线程。而后台线程不管线程是否结束,只要所有的前台线程都退出(包括正常退出和异常退出)后,进程就会自动终止。一般后台线程用于处理时间较短的任务,如在一个Web服务器中可以利用后台线程来处理客户端发过来的请求信息。而前台线程一般用于处理需要长时间等待的任务,如在Web服务器中的监听客户端请求的程序,或是定时对某些系统资源进行扫描的程序。!线程状态竞争:多个线程访问一个资源协作通信死锁线程池线程池的作用:!线程池作用就是限制系统中执行线程的数量。!!根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果

7、;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。!有返回值的线程其他新特性1.锁!2.信号量!3.阻塞队列!4.阻塞栈!时间关系,这些内容就不讲了,大家自学!5.条件变量!6.原子量!7.障碍器!JNI什么是JNIJavaNativeInterface!JNI调用过程JNI开发步骤1.编写java中的调用类!2.用ja

8、vah生成c/c++原生函数的头文件!3.c/c++中调用需要的其他函数功能,实现原生函数(原则上可以调用任何资源)!4.将项目依赖的所

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。