还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
1.什么是对象序列化为什么要使用所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上好处方便远程调用
2.值传递与引用传递的区别所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改
3.接口与抽象类的区别1接口里面不可以实现方法体,抽象类可以实现方法体2接口可以多继承接口,抽象类不可以3接口需要被子类实现,抽象类是要被子类继承单一继承4接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5:接口中不能存在静态方法,但属性可以是final,抽象类中方法中可以有静态方法,属性也可以
4.谈谈继承为什么要使用继承所谓继承就是找出几个类中共同的部分,提取出来作为父类而子类只需要继承父类,就可以共享父类的方法使用继承能够减少重复的代码
5.方法重载的好处所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同重载的好处就是能够让我们很快的掌握该方法的功能我们只要记住该方法就能很快的理解该方法的参数以及参数的作用
6.项目中印象最深的部分我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用谈谈你对面向对象的理解与认识我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用我的看法就是1当加入新的功能的时候不会修改原有的代码面向接口编程2:当我们写的一个类可以重复的运用在其他项目中代码的复用性3当写一个新类的时候要考虑到他的可扩展性灵活性
7.谈谈集合框架集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类首先说一下collection接口,collection接口下面的接口分为set接口、list接口,在往下面就是他们一些实现类说到实现类在分为两部分,第一部分是set的实现类有TreeSet、HashSet,第二部分是list的实现类有Arraylist、LinkedList、Vector
8.再说Map接口,map接口下面有treeMap、HashMap、HashTable三个实现类最后说collections帮助类,collections提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作
9.什么是异常描述下异常处理所谓异常就在执行程序的时发生的错误,他能终止正在执行的程序异常的处理1使用try-catch捕获异常2使用throw-throws抛出异常
10.多线程的优先级为什么要分优先级因为有有一些线程可能比较重要,所以才划分优先级异常框架的类结构Throwable所有错误的超类,他下面有两个子类error和Exceptionerror代表系统级的错误能捕获,但是不能处理Exception代表异常主要出自于程序,可以捕获也能处理Exception有分为两类编译期异常、运行期异常区别他是运行期异常还是编译期异常就看他是不是RuntimeException的子类,如果是的话,就是运行期异常否则是编译期异常谈谈HashMap与Hashtable的区别HashMap:hashmap中可以有空值,线程不安全的类hashmap的父类是abstractMap抽象类效率高HashTable:hashtable中不允许有空值,线程安全的类.hashtable的父类是Dictionary类效率低说一下iteratoriterator是一个接口,用于实现对容器里面的元素遍历操作任何的遍历都可以使用iterator什么是泛型它有什么样的好处泛型就是自己指定一种类型,以后存放的东西就只能有这一种类型泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率说一下你在项目中遇到的异常并说出什么时候发生的怎么解决的空指针异常最常见根据异常提示找到相应的类进行处理发生的原因很多,比如没有初始化变量,没有进行赋值等都是空指针所包含的你的程序遇到错时怎么解决的根据错误提示找到错误的API进行相应的处理谈谈和的区别是位运算符,表示按位与运算,是逻辑运算符,表示逻辑与(and)System.out和System.in是什么意思System.out是输出System.in是输入java为什么能够跨平台对于不同的系统平台有不同的虚拟机,虚拟机提供了硬件平台规范用java开发的程序被编译成由java虚拟机指令组成的字节代码,虚拟机会将这些指令翻译成操作系统特定的指令.(因为jvm屏蔽了底层操作系统的硬件)private变量能不能被其他类访问如果能怎么访问能通过反射.getDeclaredField_r;演示java项目如何打包成jar文件1选择导出jar直到输出java的环境变量如何配置为什么要配置1:在我的电脑属性高级环境变量系统变量新建变量名java-Home设置值java的JDK目录2:在选择新建设置变量名PATH变量值%java_home%/bin目录为了方便在dos窗口操作static和非static修饰的变量哪个生命周期长static的生命周期长因为他一直在内存里面什么是线程同步线程同步就是说在同一时间访问的资源的时候,资源只能被一个线程所使用.什么是封装封装的好处是什么封装封装就是把一个已经实现好的功能的代码,放在一个方法中(实现了隐藏)好处代码的重用性、好全性、只需要调用该方法不管具体的实现在线程中wait与sleep的区别1wait是Object定义的方法,而sleep是线程Thread定义的方法2:sleep是让当前线程睡泯,所以可以放在任何位置,而wait是让当前线程放弃资源的使用权,必须放在同步块或同步方法里面3sleep他不会释放对象锁,而wait会释放对象同步锁.4:sleep是等待一段时间后会自动醒来,而wait必须让其他的线程唤醒Class和class的区别class是java的关键字Class是类的名字awt和swing的区别awt是重量级的组件swing是轻量级的组件.比如:在swing组件中当我们调用repaint方法时,会很快调用paint,而对于重量级组件会首先调用upate方法,然后upate方法再调用paint方法,在重量级组件中实现双缓冲,我们就要重写upate方法,在重写的时候记得实现帅新屏幕.为什么实现一个接口必须要实现接口里面所有的方法?因为这是sun公司的规定如果不实现它里面所有的方法那就不叫接口线程和进程的区别是什么进程是一个小的应用程序,需要分配内存空间线程是进程中的一个顺序控制流,也可以这样理解线程是进程的实体.Java基础技能中强调程序代码的读写能力如果一个类很长你会怎样读写1类分解,每个类只做他该做的事情2:方法分解抽象方法能不能是private和static修饰符能用接口有什么好处1使用接口有很好的扩展性2接口可以多继承接口3隐藏实现什么是反射所谓反射就是在编译的时候不知道加载什么,只有等到运行的时候才知道该执行什么创建对象的方式有哪些1new2反射3:clone4:反序列化transient是什么意思transient代表无法到达某一对象所抛出的异常但也不代表没有该对象在设计类的时候你是怎么使用静态变量和成员变量的如果需要一直存在于内存当中,就选择静态变量否则就选择成员变量定义抽象方法的意义何在1为了减少重复代码2抽象方法有很好的扩展性谈集合遍历的方式forEach、for、iteratorjava安全性体现在什么地方1:Java提供一个用于网络/分布式的计算环境因此,Java强调安全性,如确保无病毒、小应用程序运行安全控制等等2:Java的验证技术是以公钥(public-key)加密算法为基础,而且从环境变量、类加载器、文件系统、网络资源和名字空间等方面实施安全策略谈谈线程所拥有的几种状态就绪线程分配了CPU以外的全部资源,等待获得CPU调度执行线程获得CPU,正在执行阻塞线程由于发生I/O或者其他的操作导致无法继续执行,就放弃处理机,转入线程就绪队列挂起由于终端请求,操作系统的要求等原因,导致挂起面向对象的特征有哪些封装、继承、多态解释一下在项目里你怎么去实现多线程的1:一般是实现Runnable接口,newThread.start;重写run;启动线程时可以调用run方法吗可以.因为run方法里面执行的代码就是线程所要执行的方法.Java程序的执行过程是怎样的java源程序编译.class字节码类加载器字节码校验器解释执行Java的引用数据类型有哪些对象、集合、数组、接口变量按作用域分类分为几种分为两种局部变量和全局变量.集合里的接口有哪些请你创建一个List类的实例Collection接口、set接口、list接口、map接口、iterator接口Listlist=newArrayList;int与Integer的区别int是原始数据类型,integer是int的包装类,他提供转换类型的很多方法checked异常与unchecked异常的区别是什么区分他们的区别主要是看他们是不是runtime的子类,如果是runtime的子类那么就是运行期异常,否则是编译期异常final与finally、finalize的区别final用于声明属性、方法和类,分别表示属性不可更改,方法不可重写,类不可以继承finally是异常处理语句结构的一部分,他表示总是执行finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等重写与重载的区别参数一样返回类型不一样是重载吗重载方法名相同,参数类型不同,参数个数不同,参数顺序不同重写方法名相同,参数的类型相同,返回的类型相同不是因为重载是根据参数来断定的写一个数组的创建int[]i=newint
[5];int[]i={12345};什么时候用输入流什么时候用输出流读取数据的时候使用输入流写入数据的时候使用输出流.双缓冲如何实现的为什么要用双缓冲先在内存中分配一个和我门动画窗口一样大的空间(在内存中的空间我门是看不到的),然后利用getGraphics_r方法去获得给空间并将它全部一次性的显示到我门的屏幕上.这样在我门的动画窗口上面是显示出来就非常的流畅了.避免了上面的闪烁效果.举出常用的list类哪种情况用哪种好arraylist、LinkedList、Vector.arraylist是连续的空间,遍历速度快,插入和删除就比较慢linkedList是一个双向链表存放数据如果删除和添加元素比较多的话,要效率高的就可以使用LinkedListvector和arraylist的功能一样,唯一的区别就是vector是线程安全的,而arraylist是线程不安全的Map、list与set的区别里面常用的类有哪些map是以键值对的方式存数据list里面的数据可以重复,有顺序set里面的数据不可以重复,没有顺序list的常用类有arraylistset的常用类有treesetmap的常用类用hashmap什么时候用继承Thread什么时候实现Runnable接口当一个类中没有继承的时候可以使用thread如果一个类中已经使用了继承,就只有实现runnable接口对对象进行比较怎么做为什么不用“==”其实如果是非String的话,==与equals并没有区别因为String他是重写了object的方法,所以这才有了equals比较内容,==比较地址静态变量与成员变量的区别静态变量在对象加载之前初始化,而成员变量是在编译期间初始化静态变量可以直接通过类名点的方式进行访问,而成员变量则不行访问修饰符有哪几种它们之间的区别是什么有四种前提在一个项目中public可以在所有包中的所有类随意进行访问private只能在被当前类访问protected:在同一包中,或子类可以进行访问默认同包下能被访问对象的序列化怎么实现的实现Serializable接口讲一下多态的概念多态就是相同的行为不同的体现方式比如爱好,每个人都要自己的爱好,但是爱好都不同子类继承父类父类的构造方法能被继承吗能子类中怎么调用父类的方法通过super.方法this、super的用法与区别this的访问当前类的属性和方法super是访问父类的属性和方法什么是构造方法构造方法的作用目的、意义构造方法是在调用的时候被new出来的,每个类都有构造方法作用为对象分配内存、初始化类变量、初始化属性、返回引用Error和Exception的区别是什么Error:是系统级的错误,可以捕获,但不同处理exception是程序错误,可以捕获也可以进行处理输入输出流分几种分别在什么时候使用输入流InputStream、Read输出流:OutputStream、writer读取字节,使用InputStream以字符读取用Read输出字节使用OutputStream以字符输出用writer异常捕获的流程如果有异常发生是怎样的流程try{容易发生异常的代码}catch错误的类型{打印错误信息}finally{不管有没有异常都要执行}String是基本数据类型吗基本数据类型有哪些不是基本数据类型byte、short、int、long、float、double、char、booleanCollection与Collections的区别Collection是一个接口.collections是一个帮助类主要对查找、排序HashMap等是实现的Collection的接口吗不是hashMap实现的是map接口他是以键值对的形式保存游戏中的paint方法从何处来的让窗本重绘最好采用哪种方法NO!!!没做过为什么从集合中取出来的元素都是Object类型的.因为他们都是object的子类如果try块中有多种异常在catch块中如何处理直接在类型catch中写一个Exception异常如果要抛出异常怎么做使用throw明确要抛出异常的代码,在方法中使用throws抛出异常类型实现接口使用什么关键字在实现一个接口时必须要做什么使用interface关键字实现一个接口必须实现这个接口里面的所有方法.GUI响应一个事件的代码如何写确定事件源;确定监听器,监听器需要实现监听器接口,重写其中的方法;完成事件源和监听器的注册JVM是什么它的作用是什么它和java运行环境有什么区别Java虚拟机是一个抽象的计算机,和实际的计算机一样,它具有一个指令集并使用不同的存储区域它负责执行指令,还要管理数据、内存和寄存器Java解释器负责将字节代码翻译成特定机器的机器代码没有java虚拟机就更不要说运行环境了集合和数组的区别1集合中可以存放不同元素的类型,而数组中只能放同一种类型的数据2集合的长度可以随着元素的多少自动增长,而数据的长度一旦定义就不能更改3:集合中只能放置对象,数组中可以是对象也可以基本数据类型4集合提供了很好的算法,而数组里面的算法有限final这个修饰符的用法final主要修饰属性、方法、类分别代表属性的值不可更改、方法不可以重写、类不可以继承如何定义一个常量定义常量的意义何在使用final定义常量.主要是针对一些不需要修改的数据谈谈算术表达式的优先级No!是否可以继承String类不可以因为String是final什么样的类不能被实例化Math这个类能不能实例化抽象类不能被实例化math不能被实例化基本数据类型和引用数据类型的区别是什么基本数据类型他们代表的是元素的实际值也就是说基本数据类型是存在栈中的引用数据类型是元素所代表内存中所指向的一个地址在栈中只是保存对象的地址而对象的具体内容是保存在堆中的引用数据类型作为参数传递时传递的是什么传递的是所指向内存中的一个地址局部变量使用时候需要注意什么问题局部变量是定义在方法中一个子类能同时继承于多个父类吗不能,可能出现菱形错误比如一个儿子,他只能有一个爸爸,但是反过来说一个爸爸就可能有多个儿子子类继承父类时在子类构造方法的第一行语句应该怎么写throw和throws的区别throw是明确要抛出的语句代码,throws是声明此方法将抛出某类型的异常byte的取值范围byte最大的取值范围是+127byte最小取值范围是-128java中采用什么字符编码集char类型能不能放入一个中文字Unicode编码能main方法中有个参数String[]args这个参数的值是由谁传递给它的由方法传递java语言的特点是什么简单、面向对象、分布式、跨平台、健壮、解释性、安全、多线程、垃圾回收项目开发的流程是怎么样的需求分析设计编码测试维护创建一个线程有几种方法有两种方法1extendsThread2implementsRunnable在Dos界面下如何编译并执行Java程序javac文件名.javajava文件名说几个String常用的方法比如拆分字符串splittrim取出空格length长度接口里可以定义变量吗可以定义变量,但必须是public而且必须初始化.接口里方法修符是什么接口方法的修饰符是public.String和StringBuffer的区别String他的长度不可增长StringBuffer的长度可以增长.断言有什么作用调试程序GUI的布局管理器常见的有哪几种jframe:borderjpanel:flow请列举switch括号中能接受的所有数据类型int\double\float\long\构造方法和方法有什么区别构造方法能不能被重载能不能被重写构造方法主要是为了调用这个类的时候用于new出这个类方法的作用是实现了某个功能的代码放到这个方法之中构造方法能被重载,不能被重写.如果一个类实现一个接口可不可以不实现接口里定义的所有方法不可以如过不实现那就不称为接口.类InputStream中方法read的返回值是什么读出的是什么返回的是InputStream,读取出来的是字节码如何将实现包装类和基本数据类型转化通过包装类提供的一些静态方法和方法进行转换.什么时候类名和文件名必须一致在使用dos命令编译的时候java帮助文档是如何生成的在导出项目的时候选择javadoc.游戏主界面有一个while循环能否直接whiletrue不能,如果是那样就是永远的循环什么是线程安全线程安全就是指在同一时间只能有一个能访问资源比如上厕所一个公共厕所和一个私有是测试,那个安全性高线程同步化会带什么样的结果安全性好GC是什么为什么要有GC垃圾回收机制,因为有牛人帮我们做了这件事,就不需要程序员自己回收垃圾减少了很多事情数组有没有length这个方法String有没有length这个方法数组没有length,只有length属性,String有length.如何启动线程它直接调用run方法有什么区别Thread.start方法启动线程,调用run方法必须启动该线程当一个线程进入一个对象的一个同步方法后能否进入其它非同步方法不能try{}里有一个return语句那么紧跟在这个try后的finally{}里的代码会不会被执行什么时候被执行会执行,当return返回后就执行finally里面的代码finally的作用是什么一般在什么时候使用finally是无论try块中是否发生异常都能确保进行清理工作一般都是在资源回收的情况下使用IO流操作的步骤是怎么样的1:建立流操作流关闭流进行IO流操作时如果操作的文件不存在会发生什么情况如果文件找不到,会抛出一个文件未找到异常什么是主线程一个线程必须执行的线程finally是不是什么时候都会执行不一定比如关闭虚拟机什么时候用继承什么时候用接口在不是清楚业务的时候建议使用继承如果是比较清楚业务的话就使用接口因为在接口中如果业务不确定,你想在这个接口中增加一个方法,那么他的子类都必须实现,不管他有没有用所以一般在业务很清楚的情况下,根据业务的需求进行选择Try块中是否所有的语句都一定会执行为什么不是因为try中只能有一个异常发生类的修饰符能不能是private、static、protected不能如果是私有的这个类写来还有什么意义谈谈集合的作用主要是存取数据元素如何让JFrame的初始位置居中在不同的分辨率中设置它的setBounds的坐标.如何将一个字符串转成一个基本数据类型使用包装类进行转换静态变量和成员变量应该怎么访问静态变量可以使用类名点的方式访问成员变量可以用对象点的方式访问怎么样判断一个异常类是checked异常还是unchecked异常看他是否是runtime的子类,如果是runtime的子类则是运行期异常否则是编译期异常如何获得java当前的工作目录使用系统类System.getProperty_ruser.dir.如何获得一定范围的随机整数使用Math类获取Math.floor;怎么样知道磁盘一个目录中有哪些文件d:/dir什么是包定义包有什么好处包就是为了区分层次性比如我这个包下面是业务层,另外一个包是持久层在IO中字节流和字符流的父类是什么InputStream和ReaderArrayList和Vector的区别ArrayList:存的元素是连续的内存空间,遍历速度比较快在尾部插入速度也快,但是在中间插入慢,他是一个线程不安全的类verctor的功能和arraylist几乎一样唯一的区别就是一个vector是线程安全的类列出至少5个最常见到的runtimeexception并描述在什么情况下出现答ArithmeticExceptionpublicArithmeticExceptionStrings构造具有指定详细消息的ArithmeticExceptionpublicclassAnnotationTypeMismatchExceptionextendsRuntimeException若某个注释的类型在对该注释进行编译(或序列化)后发生了更改,而程序试图访问该注释的元素时,抛出此异常publicclassCannotRedoExceptionextendsRuntimeException当UndoableEdit被通知redo但无法执行时抛出publicclassCannotUndoExceptionextendsRuntimeException当UndoableEdit被通知undo但无法执行时抛出publicclassEventExceptionextendsRuntimeException事件操作可以像在其方法描述中指定的那样抛出EventExceptionArithmeticExceptionArrayStoreExceptionBufferOverflowExceptionBufferUnderflowExceptionCannotRedoExceptionCannotUndoExceptionClassCastExceptionCMMExceptionConcurrentModificationExceptionDOMExceptionEmptyStackExceptionIllegalArgumentExceptionIllegalMonitorStateExceptionIllegalPathStateExceptionIllegalStateExceptionImagingOpExceptionIndexOutOfBoundsExceptionMissingResourceExceptionNegativeArraySizeExceptionNoSuchElementExceptionNullPointerExceptionProfileDataExceptionProviderExceptionRasterFormatExceptionSecurityExceptionSystemExceptionUndeclaredThrowableExceptionUnmodifiableSetExceptionUnsupportedOperationException当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递是引用传递如何去获得字符串的长度String中有一个length可以获取字符串的长度继承类和实现接口分别怎么做使用关键字extendsimplementstry-catch-finally三个基本块的作用catch里的代码是干什么的catch是声明异常抛出的类型JDK与JRE分别是什么jdk:开发环境jre运行环境什么是变量变量就是一个可以改变的量.什么是标识符它的命名规则是什么标示符可以从一个字母、下划线或美元符号,也可以跟数字标示符区分大小写,并且没有规定最大长度标示符不能有java的关键字在JAVA中直接写浮点常数默认是什么类型默认是double类型if…else…和写两个if有什么区别ifelse是在两个语句中选择其中一个ifif是两个如果都满足条件都会执行变量的命名规则是怎么样的变量名首字母小写后面的单词大写.变量名不能使用java关键字main方法是怎么写的publicstaticvoidmainString[]args{}。