您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 尚学堂java笔试和面试技术题目总结
JAVA基础笔试题目1.JDK和JRE的区别?JavaDevelopmentKit.包含了JRE、编译器等程序。JavaRuntimeEnvironment指的是java运行时环境。负责启动虚拟机,加载和运行class文件。2.JVM是什么?工作原理?JVM是sun公司定义的规范。javavitualmashine。3.GC是什么?是如何回收对象的?Gabbagecollection垃圾回收器。哪些对象需要回收?对象没有被引用。4.System.gc()的作用是?程序员能直接调用垃圾回收器吗?GC不能被程序员调用。System.gc()可以通知调用垃圾回收器。GC程序员不能直接调用GC5.一个java源文件,可以定义多个class类吗?可以定义多个public类吗?可以。6.java中,包含几种数据类型?基本数据类型byte1个字节short2个字节int4个字节整形常量默认类型long8个字节float4个字节double8个字节浮点常量的默认类型char2个字节Unicode码char所占的字节要看编码的常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。boolean1位引用数据类型(4个)7.&和&&的区别?3&4和3&&4哪个写法是不对的?&,按位与//安慰与&&逻辑与短路//逻辑与会产生短路的情况。8.2x4=8.最快的算法怎么实现?移位运算。左移一位表示乘以一个2.9.堆区和栈区的区别?10.包装类使用时,自动装箱和拆箱是怎么回事?IntegerI=3;//装箱。实际上是一种编译器魔术。编译器帮助我们修改了代码:IntegerI=newInteger(3);inta=newInteger(3);inta=3:intb=a.intValue()11.equals方法和==的区别?==判断对象是否相同。equals是Object类中的方法,他的默认实现也是比较引用地址。不过,很多类重写了这个方法,一般用来比较对象中某些的属性的值。Equals是object类中的方法默认也是实现比较引用地址重写此方法。12.说出你编程中,常见的异常。至少5个。UnsupportedOperationException不支持的操作unsupportedoperationExeceptionIllegalArgumentException非法参数IllggalArgumentExeceptionIndexOutOfBoundsException索引出界indexOutofBoundsException算术异常ClassNotFoundExeceptionSqlExeceptionclassCastExeceptionNumberFormatException自己去想。13.成员变量和静态变量的区别?在内存中如何存放?栈区存放局部变量连续空间存储先进后出,后进先出堆存放new出来的对象不连续的空间方法区存放类的信息代码静态变量字符串常量//还会存放字符串常量和静态变量成员变量,实例变量:从属于对象。存放在堆。静态变量:从属于类。存放在方法区14.重载是怎么回事?重写是怎么回事?重载overload:一个方法名定义多个方法。参数列表不同(个数、顺序、类型不同),返回值不能构成重载。重写override覆盖。将父类的方法覆盖。15.java中继承如何实现?extends16.包含抽象方法的类一定是抽象类吗?是。17.java中,聊聊的多态?面向接口编程?多态的实现:父类引用指向子类对象。在实际开发中,我们项目中使用了spring。一般都采用面向接口编程。我们将变量类型全部定义成接口的类型。然后,运行时再通过spring注入具体的实现。18.封装的实现中,说明private、protected、default、public的区别?private私有。只有自己类中可以调用。protected受保护。子类中能用。子类不在同一个包中能不能调用???不能3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。default:同一个包中可以用。public:公开的。任何地方都可以用。19.面向对象的三大特征有哪些?封装、继承、多态20.浮点数是有误差的。如果要实现精确的计算?BigDecimalbigdecimal21.char类型,能表示汉字吗?为什么?22.final修饰变量、方法、类,都有什么区别?变量:常量方法:不能被子类重写类:不能被继承23.final,finally,finalize方法的区别?final修饰变量、修饰方法、修饰类。。。finally在异常处理中使用。表示不管有没有异常都会执行这里。通常用来释放资源。finaliize,垃圾回收这个对象前执行的方法。24.String是不可变字符?从源代码分析,为什么?内部有一个char数组。这个数组使用了final修饰。意味着只能初始化一次。25.StringBuffer和StringBuilder的区别?StringBuffer可变字符序列,线程安全StringBuilder可变字符序列。线程不安全。一般用它。最重要的区别是,当需要数据增长时StringBuffer只有一个实例,占用内存空间小。而String每new一次增加一个实例,耗费资源多。26.java中,类可以多继承吗?接口可以多继承吗?类不可以多继承。接口可以多继承。多实现27.数组是对象吗?是。28.数组中元素默认初始化的规则是什么?跟成员变量的规则是一样的。引用类型为null。数值:0布尔:false29.数组的长度是固定的吗?是的。30.Collection、List和Set接口有什么联系?Collection是List和Set的父接口。31.list和set接口的区别是?List:有序、可重复。Set:无序、不可重复。32.Collection和Collections的区别?Collection接口。Collections是一个针对Collection提供的工具类。Colections是一个对collection提供的工具类33.Vector、ArrayList的区别是?Vector线程安全。ArrayList线程不安全。多线程多例34.HashMap和HashTable的区别是?HashTable线程安全,HashMap线程不安全。35.两个对象hashcode()方法返回值相同,那么调用equals方法一定为true吗?从规范上讲,要。36.AWT、swing是什么关系?swing有什么优势?AWT是抽象窗口组件工具包,是java最早的用于编写图形节目应用程序的开发包。Swing是为了解决AWT存在的问题而新开发的包,它以AWT为基础的。37.GUI编程中,有哪些常用的布局管理器?Flow、Border、Card、Grid等38.如何实现序列化?实现Serielizable。他是一个序列化接口接口。39.要把一个字节流对象转化成字符流对象,需要用到什么类?InputStreamReader,OutputStreamWriter//处理流40.进程和线程的区别是?进程是一个独立运行的程序,拥有独立的内存空间、代码。一个进程中可以包含多个线程。多个线程共享同一块空间和代码。41.写出定义线程类的两种常见方式?继承Thread、实现Runnable接口//实现ruanable接口继承Thread类42.说说,Runnable接口和Thread的区别?Thread也是实现了Runnalbe接口。Runnable只有一个run方法很适合继承Threadnew一个实例启动start方法43.synchronized如何使用?44.如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法如果直接修饰方法,意味着线程要调用这个方法必须要有这个方法所在的对象的锁。如果修饰了方法块,上面可以声明需要拥有的对象锁。这样的话,线程只有拥有指定对象的锁才能运行这个代码块。不然,就等待。45.说说:wait(),notify(),sleep()方法作用?wait(),线程进入阻塞状态。释放持有的对象锁。sleep(),线程进入阻塞状态。但是,不是放持有的对象锁。notify(),唤醒等待池中的线程46.java中,反射机制的基本原理?Class类得作用是?反射机制是java动态性重要手段。当我们加载完毕一个类的时候,会同时创建一个Class类型的对象,Class类型的对象它包含了这个类的完整的数据结构。就像一个镜子一样,通过这个镜子我们可以得到对应类的所有信息。而且,Class类还包含了如何操作属性、构造器、方法的接口。这样的话,我们就可以通过反射机制动态的创建对象、动态的调用对象的方法、动态的操作属性。47.通过Class类,可以访问和设置一个类得私有方法、私有成员变量吗?如果能,怎么做?可以直接操作私有方法。可以操作私有成员变量。通过setAccessible(true)。SetAcessible(true)48.通讯方式中,TCP和UDP的区别是?TCP:transfercontrolprotocol传输控制协议。面向连接的、安全的。效率不高的。我们一般用的Socket就是TCP连接。我们访问网站也是TCP/IP协议,建立连接。Tcp/ipUDP:UserDatagramProtocol用户数据包协议。无连接、不安全、效率高。49.内部类??java手写编程题目1.写出冒泡排序代码publicclassTest{publicstaticvoidmain(String[]args){int[]values={3,1,6,2,9,0,7,4,5,8};sort(values);System.out.println(Arrays.toString(values));}publicstaticvoidsort(int[]values){inttemp;for(inti=0;ivalues.length;i++){for(intj=0;jvalues.length-1-i;j++){//jvlaues.length-1-i;if(values[j]values[j+1]){temp=values[j];values[j]=values[j+1];values[j+1]=temp;}}}}}2.写出二分法查找代码staticintbinarySearch(int[]arr,intsearchWord){Arrays.sort(arr);//先对传进来的数组进行排序System.out.println(\n+Arrays.toString(arr));//tostring//二分法查找intiIndex=0;//相当于指针的东西intiStart=0;intiEnd=arr.length-1;intsearchCount=0;for(inti=0;iarr.length/2;i++){searchCount++;iIndex=(iStart+iEnd)/2;if(arr[iIndex]searchWord){System.out.println(aa);iStart=iIndex;}elseif(arr[iIndex]searchWord){System.out.println(bb);iEnd=iIndex;}else{break;}}returnsearchCount;}3.写出一个双向链表类代码packagecom.sxt.web;publicclassNodeE{priva
本文标题:尚学堂java笔试和面试技术题目总结
链接地址:https://www.777doc.com/doc-6072256 .html