




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。2)java的堆和栈的区别:堆:是一个运行时数据区,类的对象从中分配空间。这些对象通过new,newarray,anewarray和muitianewarray等指令建立,它们不需要程序代码来显示释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是运行时动态分配内存的,Java垃圾收集器会自动收走这些不再使用的数据。但是缺点是:由于是要在运行时动态分配内存,存取速度较慢。栈的优势:存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生命期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(int,short,long,byte,float,double,boolean,char)和对象句柄。3)java算法:1、冒泡排序:从头开始,依次对相邻的两个元素进行比较,发现有顺序错误就将它们调换过来!重复地进行,直到没有元素需要交换。是稳定排序法,最好的时间复杂度是O(n);2、快速排序:思想是(Divide)选取一个基元X开始(一般选取数组的第一个元素),通过某种分区操作将数组划分成两个部分,左边部分小于等于X,右边部分大于等于X。(Conquer)左右两个子数组递归地调用Divide过程,(Combine)快排作为就地排序算法,不需要任何合并操作!3、递归:程序调用自身,并非不会无休止地调用下去,需要有一个出口,当满足条件时程序也就结束!不然的话,就会出现程序死循环。4)JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:第一个就是当应用程序线程空闲,另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆的不足。4)、junit测试的方法的类型必须是public ,其他类型运行时会报错。方法的返回类型也必须是void,并且不能有参数。5)、List args = null; args.add(param);/这样会报错 分析原因:List是一个接口,没有实现是不能使用的,需要ArryList的实现类或者其他实现类才能使用 应该改为:List args = new ArrayList();args.add(param);6)、如A是父类,B是继承于A,两者都有构造函数和A有print(),B也覆盖了A的方法,那么可以A a = new B();此时a.print();调用的是B的print()方法,如果B的print()没有覆盖父类的方法,而是自己创建的print();那么这时a.print();调用的还是B的print()方法。另外,假设A有print1()方法,B没有覆盖A的print1();这时a.print1();不会报错,它将调用的是A自己的print1()方法。最后,加入A没有了print()方法,而是print()是只有B有,这时a.print();将直接调用B的print();方法,总结: 对于类的继承,父类通过子类实例化后,构造方法都在先执行父类的构造方法,再依次执行子类的构造方法。方法的调用原则是先执行子类的方法,如果子类复写了父类的方法,将执行子类的方法,如果子类没有复写父类的方法,但是方法重名,也会只执行子类的方法。如果子类没有对应的方法,那么就执行父类的方法!(不要以为子类没有该方法编译器会报错,因为继承了父类的方法!)请注意:B b = new A();编译器会报错,这也是不合逻辑的!publicclassTest03 publicstaticvoidmain(String args) A b =newB(); b.print1();/new C(); classA publicA() System.out.println(A); publicvoidprint() System.out.println(哈哈A); publicvoidprint1() System.out.println(哈哈A1); classBextendsA publicB() System.out.println(B); publicvoidprint() System.out.println(哈哈B);classCextendsA publicC() super(); System.out.println(B); 以上关于main方法中同时执行:new B();new C();将打印出的结果: A B A C,即每一次调用都产生一个父类的实例,就是上面所述的每次创建实例 都是构造方法先从父类开始依次执行到当前的子类7、Java.util.Date : 包含年、月、日、时、分、秒信息 Java.sql.Date :包含年、月、日信息 Java.util.Calendar :包含年、月、日、时、分、秒、毫秒信息。 Java.sql.Timestamp :包含年、月、日、时、分、秒、纳秒(nano)信息。8、java的安全性体现: a/第一个就是garbage collection,(垃圾回收)会让你的程序不容易出现内存泄露。内存泄露是很危险的,在内存泄露的时候黑客可以黑你的电脑。 b/exception,你有没有发现你想用null赋值的东西会出exception?这个就是exception的好处,出现exception的时候程序员可以让程序停止
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 30856-2025LED外延芯片用砷化镓衬底
- GB/T 45905.3-2025电力现货市场运营第3部分:省间技术支持系统
- 森林防火知识培训讲话稿课件
- 鼻饲护理试题及答案
- 2025年IT企业面试笔试全真模拟题库
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)复习题及答案二
- 2025年云计算开发工程师面试宝典与模拟题集
- 2025年汽车制造商招聘生产线工人模拟题及面试指南
- 2025年房地产行业营销策划岗位招聘笔试模拟题
- 2026届上海南洋模范化学高三上期末学业质量监测试题含解析
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- 学生心理健康教育干预措施
- DB32∕T 4652-2024 基于区块链技术的多中心药物临床试验管理系统开发指南
- 实验室生物安全知识培训考试试题(含答案)
- 电缆制作流程
- 中国氯丁橡胶市场调研及发展策略研究报告2025-2028版
- 水利工程临时工程施工质量验收与评定规范
评论
0/150
提交评论