java学习心得体会笔记

java学习心得体会笔记

ID:8970709

大小:16.33 KB

页数:5页

时间:2018-04-13

java学习心得体会笔记_第1页
java学习心得体会笔记_第2页
java学习心得体会笔记_第3页
java学习心得体会笔记_第4页
java学习心得体会笔记_第5页
资源描述:

《java学习心得体会笔记》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。2)java的堆和栈的区别:堆:是一个运行时数据区,类的对象从中分配空间。这些对象通过new,newarray,anewarray和muitianewarray等指令建立,它们不需要程序代码来显示释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是运行时动态分配内存的,Java垃圾收集器会自动收走这

2、些不再使用的数据。但是缺点是:由于是要在运行时动态分配内存,存取速度较慢。栈的优势:存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生命期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(int,short,long,byte,float,double,boolean,char)和对象句柄。3)java算法:1、冒泡排序:从头开始,依次对相邻的两个元素进行比较,发现有顺序错误就将它们调换过来!重复地进行,直到没有元素需要交换。是稳定排序法,最好的时间复杂度是O(n);2、快速排序:思想是(Divide)选取一个基元X开始(一般选取数组的

3、第一个元素),通过某种分区操作将数组划分成两个部分,左边部分小于等于X,右边部分大于等于X。(Conquer)左右两个子数组递归地调用Divide过程,(Combine)快排作为就地排序算法,不需要任何合并操作!3、递归:程序调用自身,并非不会无休止地调用下去,需要有一个出口,当满足条件时程序也就结束!不然的话,就会出现程序死循环。4)JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:第一个就是当应用程序线程空闲,另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆的不足。4)、junit测试的方法的类型必须是public,其他类型运行时会报

4、错。方法的返回类型也必须是void,并且不能有参数。5)、Listargs=null;args.add(param);//这样会报错   分析原因:List是一个接口,没有实现是不能使用的,需要ArryList的实现类或者其他实现类才能使用   应该改为:Listargs=newArrayList();args.add(param);6)、如A是父类,B是继承于A,两者都有构造函数和A有print(),B也覆盖了A的方法,那么可以Aa=newB();此时a.print();调用的是B的print()方法,如果B的print(

5、)没有覆盖父类的方法,而是自己创建的print();那么这时a.print();调用的还是B的print()方法。另外,假设A有print1()方法,B没有覆盖A的print1();这时a.print1();不会报错,它将调用的是A自己的print1()方法。最后,加入A没有了print()方法,而是print()是只有B有,这时a.print();将直接调用B的print();方法,总结:对于类的继承,父类通过子类实例化后,构造方法都在先执行父类的构造方法,再依次执行子类的构造方法。方法的调用原则是先执行子类的方法,如果子类复写了父类的方法,将执行子类的方法,如果子类没

6、有复写父类的方法,但是方法重名,也会只执行子类的方法。如果子类没有对应的方法,那么就执行父类的方法!(不要以为子类没有该方法编译器会报错,因为继承了父类的方法!)请注意:Bb=newA();编译器会报错,这也是不合逻辑的!public class Test03{    public static void main(String[]args){       Ab= new B();       b.print1();        //newC();   }}class A{    public A(){       System. out.println("A" ); 

7、  }       public void print(){     System. out.println("哈哈A" );   }    public void print1(){     System. out.println("哈哈A1" );   }}class B extends A{    public B(){       System. out.println("B" );   }             public void print(){            System. out.println(

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

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

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