Java知识总结-CoreJava

上传人:磨石 文档编号:107913498 上传时间:2022-06-15 格式:DOC 页数:4 大小:20.50KB
收藏 版权申诉 举报 下载
Java知识总结-CoreJava_第1页
第1页 / 共4页
Java知识总结-CoreJava_第2页
第2页 / 共4页
Java知识总结-CoreJava_第3页
第3页 / 共4页
资源描述:

《Java知识总结-CoreJava》由会员分享,可在线阅读,更多相关《Java知识总结-CoreJava(4页珍藏版)》请在装配图网上搜索。

1、 Java知识总结-CoreJava在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java专业知识,广州疯狂java培训为你讲解;1 简述下java基本数据类型及所占位数,java基本数据类型:4类8种整数类型:byte(1byte),short(2byte),int(4byte),long(8byte)浮点类型:float(4byte),double(8byte)字符类型:char(2byte)逻辑类型:boolean(false/true 1byte)2 说出5个启动时异常RunTimeException-NullP

2、ointerException-ArrayIndexOutOfBoundsException-ClassCastException-NumberFormatException3 HashMap 和HashTable的区别:1HashMap 允许空键值对,HashTable不允许2HashMap不是线程安全的,HashTable是3HashMap直接实现Map接口,HashTable继承Dictionary类4.ArrayList,Vector,LinkedList存储性能和区别它们都实现了List接口ArrayList和Vector都是基于数组实现的LinkedList基于双向循环链表(查找效

3、率低,添加删除容易)ArrayList不是线程安全的而Vector是线程安全的,所有速度上ArrayList高于Vector5.Collection和Collections的区别Collection是集合类的上级接口,继承与他的接口主要有Set和ListCollections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜 索、排序、线程安全等操作。6 List、Map、Set三个接口,存取元素时,各有什么特点?List以特定次序来持有元素,可有重复元素。Set 无法持有重复元素,内部排序Map保存key-value值,value可多值。7 final,finally,fina

4、lize的区别Final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承Finally 是异常处理语句结构的一部分,表示总是执行Finalize 是Object类的一个方法,在垃圾收集时的其他资源回收,例如关闭文件等。8 Overload和Override的区别。Overload的方法是否可以改变返回值的类型?方法的重写Override和重载Overload是Java多态的不同表现。重写Overriding是父类与子类之间多态的一种表现,方法名,参数列表返回值类型都得与父类的方法一直。重载Overloading是一种类中多态的一种表现。重载的方法是可以改变返回值类型的。9用

5、一句话总结一下冒泡排序依次比较相邻的两个数,将小数放在前面,大数放在后面。10 实现线程安全的两种方式1)synchronized方法:通过在方法声明加入synchronized关键字来声明synchronized方法2)Synchronized块:通过synchronized关键字来声明synchronized快11 说一下=和equal()方法在字符串变量操作中的不同?=比较的是两个字符串对象的地址,equal() 是比较两个字符串的具体值12 sleep和wait方法有什么区别Sleep是线程(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,但是监控状态依然保持,

6、到时会自动恢复。调用sleep不会释放对象锁。Wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象进入运行状态。13 &和&的区别&位运算符:非短路运算符,它会把所有条件执行完毕之后,才会返回结果&逻辑运算(and):短路运算符,遇到不符合条件,立即终止程序的执行14 error和exception的区别Error:表示恢复是不可能的一种严重的问题,比如:内存溢出,不指望程序处理Exception 程序运行时的异常,如果程序设计合理不会出现的情况15

7、请说出你锁知道的线程同步的方法Wait():使一个线程处于等待状态,并且释放所有持有的对象的lock;Sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常;Notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。notityAll():唤醒所有处于等待状态的线程,注意不是给所有唤醒线程一个对象的锁,而是让它们竞争。16.网络编程中涉及并发服务器,使用多进程和多线程,请问有什么区别?1)进程:子进程是父进程的复制品子进程

8、获得父进程数据空间堆和栈的复制品2)线程:相对于进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他进程共享数据,但拥有自己的栈空间,拥有独立的执行序列两者都可以提高程序的并度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。17 什么是反射?在运行过程中:1对于任意一个类,可以知道这个类的属性和方法。2对于任意一个对象,可以调用这个对象的任意方法。对于这种动态获取的信息,以及动态调用对象方法的功能成为反射。Java反射机制提供的功能1运行时判断任意对象的所属类

9、2运行时构造任意类的对象3运行时判断和调用对象的成员变量和方法4生成动态代理18 线程的基本概念、线程的本状态及状态之间的关系新建(Born)新建的线程处于新建状态就绪(Ready)在创建线程后,它将处于就绪状态,等待start()方法被调用运行(Running)线程在开始执行时进入运行状态睡眠(Sleeping)线程的执行可通过sleep()方法来暂时中止。在睡眠后,线程将进入就绪状态等待(Waiting):如果调用了wait()方法,线程将处于等待状态。用于在两个或多个线程并发运行时。挂起(Suspended)在临时停止或中断线程的执行时,线程就处于挂起状态 。阻塞(Blocked)在线程

10、等待一个事件时(例如输入/输出操作),就称处于阻塞状态死亡(Dead)在run()方法已经执行或其stop()方法被调用之后,线程就处于死亡状态19 描述下JVM加载class文件的原理机制JVM中类的装载是由ClassLoader和它的子类来实现的java ClassLoader是一个重要的java运行时系统组件。它负责在运行时查找和装入类文件的类。20什么是触发器和存储过程触发器是存储在数据库中的块,这个块一旦被构造后,就可以多次执行,当触发它的事件发生时调用该触发器。触发事件是指对表中数据的操作,如插入、删除和修改。存储过程是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称

11、存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行 SQL快很多21什么是回调函数某个程序S(Student.main)调用服务程序A(Arrays)中的某个方法(sort),服务程序A的sort方法在某个时候反过来调用S的某个方法(compareTo),这种情况下,compare叫做S的回调方法。例如:public class Student implements CompareblePrivate int id;Privat

12、e String name;Private int age;Private int score;/构造器/getter/setter方法/回调方法Public int compareTo(Object obj)ReturnThis.id-(Student)obj).id;Student s1 = new Student(1,a,18,89);Student s2 = new Student(2,a,18,89);Student s3 = new Student(3,a,18,89);Student arrs = s1,s2,s3;Arrays.sort(arrs);22 遍历文件夹下所有.ja

13、va的文件?Public void listFiles(String path) = new );Files files = dir.listFiles(new ()Public boolean accept(File f)Return f.getName().endWith(.java););For()System.out.print();疯狂Java培训(疯狂软件学院咨询QQ:707,552,864 )专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂java培训中心地址:广州天河区车陂沣宏大厦3011。4 / 4

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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