C++或Java中的异常处理机制的简单原理和应用.docx

上传人:文*** 文档编号:68228168 上传时间:2022-12-27 格式:DOCX 页数:171 大小:94.68KB
返回 下载 相关 举报
C++或Java中的异常处理机制的简单原理和应用.docx_第1页
第1页 / 共171页
C++或Java中的异常处理机制的简单原理和应用.docx_第2页
第2页 / 共171页
点击查看更多>>
资源描述

《C++或Java中的异常处理机制的简单原理和应用.docx》由会员分享,可在线阅读,更多相关《C++或Java中的异常处理机制的简单原理和应用.docx(171页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、LC+或Java中的异常处理机制的简单原理和应用。当J AVA程序违反了 J AVA的语义规则时,JAVA虚拟机就会将发生的错误表示为个异常。违反语义规则包括2种情况。种是JAVA类库内置的语义检査。例如数组下标越界,会引发In dexOutOfBoundsException;访问 null 的对象时会引发 NuUPointerException 另一种情况就是 JAVA允许程序员扩展这种语义检査,程序员可以创建自己的异常,并自由选择在何时用thro w关键字引发异常。所有的异常都是java.lang.Thowable的子类。2 . Java的接口和C+的虚类的相同和不同处。由于Java不支持

2、多继承,而有可能某个类或对象要使用分别在儿个类或对象里面的方法或属性, 现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何 实现代码。当个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面 的属性在默认状态下面都是public static,所有方法默认情况下是public.个类可以实现多个接 口。3 .垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使C+程序员最头疼的内存管理的问题 迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机 制,Java中的对象不再有“

3、作用域”的概念,只有对象的引用有“作用域”。垃圾回收可以有效 的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为个单独的低级别的线 程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收, 程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制 垃圾回收和标记垃圾回收,增量垃圾回收。4 .请说出你所知道的线程同步的方法。wait():使个线程处于等待状态,并且释放所持有的对象的lock。sleep。:使个正在运行的线程处于睡眠状态,是个静态方法,调用此方法要捕捉Interrupte dException 异吊。notify。:

4、唤醒个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。Allnotity。:唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。5 .请讲讲析构函数和虚函数的用法和作用。6 . Error与Exception有什么区别?Error表示系统级的错误和程序不必处理的异常,Exception表示需要捕捉或者需要程序进行处理的异常。7 .在java中一个类被声明为final类型,表示了什么意思?表示该类不能被继承,是顶级类。8 .描述一下你最常用的编程风格。9 . heap和stack有什

5、么区别。栈是种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处 理。堆是栈的个组成元素10 .如果系统要使用超大整数(超过long长度范围),请你设计个数据结构来存储这种超大 型数字以及设计一种算法来实现超大整数加法运算)。public class Biglnt() int ArrOne = new ArrOne 1000;String intString=H;public int Arr(String s) intString = s;for(int i=0;i 0); / throws an Assertionerror if a (一千零一拾一元整)输出。3、继

6、承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:package test;public class FatherClass public FatherClass()System.out.print In (FatherClass Create);子类:package test;import test.FatherClass;public ChildCiass()System.out. print In (ChildClass Create);public static void main(String args)FatherClass fc = new FatherCla

7、ss();ChildClass cc = new ChildClass();输出结果:C:java test.ChildClassFatherClass CreateFatherClass CreateChildClass Create4、内部类的实现方式?答:示例代码如下:package test;public class OuterClassprivate class InterClassSystem.out.println(InterClass Create);public OuterClass()InterClass ic = new InterClass();System.out.p

8、rint In (M0u terClass Create);public static void main(String args)OuterClass oc = new OuterClass();输出结果:C:java test/OuterClassInterClass CreateOuterClass Create再个例题:public class OuterClass private double d 1 = 1.0;/insert code hereYou need to insert an inner class declaration at line 3. Which two in

9、ner class declarations are valid?(Choose two.)A. class InnerOne public static double methoda() return d 1;8. public class InnerOne static double methoda() return d 1;C. private class InnerOnedouble methoda() return d 1;D. static class InnerOneprotected double methoda() return d 1;E. abstract class I

10、nnerOnepublic abstract double methoda();说明如下:一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故A、B错二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d 1出错。故D错三.非静态内部类的非静态成员可以访问外部类的非静态变量。故C正确四.答案为C、E5、Java的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入 本地显示?答:Server端程序:package test;import .*;import java.io.*;public class Ser

11、verprivate ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server()tryss=new ServerSocket( 10000);while(true) socket = ss.accept();String RemotelP = socket.get InetAddress().getHostAddress();String RemotePort = :H+socket.getLocalPort();System.out.printl

12、n(A client come in !IP:+RemoteIP+RemotePort);in = new BufferedReader(newInputStream Reader( socket.get I nputStream();String line = in.readLine();System.out.println(Cleint send is : + line);out = new PrintWriter(socket.getOutputStream(),true);out.println(MYour Message Received!);out.close();in.close

13、();socket.close();(catch (lOException e)ou t.println( wrong);new Server();Client端程序:package test;import java.io.*;import .*;public class ClientSocket socket;BufferedReader in;PrintWriter out;public Client()trySystem.out.println(MTry to Connect to 127.0.0.1:100000);socket = new Socket(n 127.0.0.1,100

14、00);System.out.println(The Server Connected!);System.ou(.println(Please enter some Character:);BufferedReader line = new BufferedReader(newInputStream Reader(System.in);out = new PrintWriter(socket.getOutputStream(),true);ou t.prin tin (line.read Line();in = new BufferedReader(new InputStreamReader(socket.getInputStream();System.out.println(in.readLine();out.close();in.close();socket.close();catch(IOException e)ou.print In (Wrong);public static void main(String args)new Client();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁