Java面试题集(四)

二. Java Web基础部分 在js中如何创建一个对象? varp1={name:”tom”,”age”:12};functionPerson(name,age){this.name=name;this.age=age;}varp2=newPerson(“jack”,14);在js中如何得到对象的属性?Varage=p2.age;age=p1[“age”];Alert(age); $(document).ready()方法和window.onload()方法的区别?1.window.onload()方法是在网页中所有的元素完全加载到浏览器后才执行的。2.$(document).ready()方法可以在dom载入就绪时就对其进行操作,并调用执行绑定的函数。Xml有哪些解析方式?区别是什么?项目中用到了xml技术的哪些方面?如何实现的?1.DOM方式:一次性将整个文档加载到内存中,生成一个对象树,在处理大型文件时其性能下降的非常厉害。2.SAX...
代码星球 代码星球·2020-08-27

Java试题集(三)

Jdk与jre的区别?Java运行是环境(jre)是将要执行java程序的java虚拟机。Java开发工具包(jdk)是完整的java软件开发包,包含jre,编译器和其他工具如javaDoc,java调试器,可以让开发者开发,编译,执行java应用程序。解释内存中的栈(stack)、堆(heap)和静态存储区的用法?通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、“hello”和常量都是放在静态存储区中。栈空间操作最快但是也很小,通常大量的对象都是放在堆空间,整个内存包括硬盘上的虚拟内存都可以被当成堆空间来使用。Stringstr=newString(“hello”);上面的语句中str放在栈上,用new创建出来的字符串对象放在堆上,而“hello”这个字面量放在放在静态存储区。swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?...
代码星球 代码星球·2020-08-27

Java试题集(二)

51、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1,写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 publicclassThreadTest1{privateintj;publicstaticvoidmain(Stringargs[]){ThreadTest1tt=newThreadTest1();Incinc=tt.newInc();Decdec=tt.newDec();for(inti=0;i<2;i++){Threadt=newThread(inc);t.start();t=newThread(dec);t.start();}}privatesynchronizedvoidinc(){j++;System.out.println(Thread.currentThread().getName()+"-inc:"+j);}privatesynchronizedvoiddec(){j--;System.out.println(Thread.currentThread().getName()+"-dec:"+j...
代码星球 代码星球·2020-08-27

Java试题集(一)

作为一名java开发软件工程,一定要记住,基础非常重要,往往就是一些基础,很简单,但是你就是不知道实现原理,为什么使用,有没有自己去发现,对比,差异从而总结,有些东西看似简单,但是不一定你描述清楚,直观,简洁,故要要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来。 别因为人家题目本来就模棱两可,你就心里胆怯和没底气了,不敢回答了。你要大胆地指出对方题目很模糊和你的观点,不要把面试官想得有多高,其实他和你就是差不多的,你想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗? 以下部分都是自己精心总结,非常有用,即使你已经工作一段时间,千万记住不要小看基础,感觉简单...
代码星球 代码星球·2020-08-27

经典java面试题(详细)

转载于:https://www.jianshu.com/p/c01eb6e46226categories:Interviewdescription:本文收集了一些经典的Java面试题1、面向对象的特征有哪些方面?抽象:将同类对象的共同特征提取出来构造类。继承:基于基类创建新类。封装:将数据隐藏起来,对数据的访问只能通过特定接口。多态性:不同子类型对象对相同消息作出不同响应。2、访问修饰符public,private,protected,以及不写(默认)时的区别?protected当前类,同包,异包子类。3、String是最基本的数据类型吗?答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitivetype),剩下的都是引用类型(referencetype),Java5以后引入的枚举类型也算是一种比较特殊的引用类型。4、floatf=3.4;是否正确?答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化...
代码星球 代码星球·2020-08-07

工作3年JAVA面试题整理(自用)

1.Java线程的状态  一.线程状态类型:1.新建状态(New):新创建了一个线程对象。2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3.运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。4.阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种:(一)、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。(二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池中。(三)、其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。5.死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。二....

javaee全套视频,java实战全套视频,感谢黑马程序员,感谢传智播客,java视频,java教程,java,百度网盘java教程,java百度网盘下载,javaee,java在线教程,javaee视频,java免费教程,java面试题,2018最新java教程视频,2019java最近教程视频

【SEO】javaee全套视频,java实战全套视频,感谢黑马程序员,感谢传智播客,java视频,java教程,java,百度网盘java教程,java百度网盘下载,javaee,java在线教程,javaee视频,java免费教程,java面试题,2018最新java教程视频,2019java最近教程视频 【JAVA视频教程】2018年最新JavaEE全套视频教程链接:https://pan.baidu.com/s/1QdlFBatByZ95-xG4DldZNA提取码:gfuh 原百度网盘网址:链接:https://pan.baidu.com/s/1n71waru-ND4BMIzh7dZ9Wg提取码:mcng 百度网盘如何实现无限速下载,可查看我另外一个技术博客https://www.cnblogs.com/zc290987034/p/11477459.html如对你有帮助请给点个赞鼓励一下哦...

Java面试题复习之Java基础

1.面向对象的特征主要有哪些? 封装、继承、多态、抽象 2.final、finally、finalize的区别? final主要用于修饰类、方法、属性(变量)等。通常被final修饰的类不能够被继承。被final修饰的方法不能够重写。被final修饰的变量是常量(赋值后,其值不再改变)。finally是在异常处理时提供finally块来执行任何清除操作,不管有没有异常抛出或者捕获,finally最后都会被执行。finalize是一个方法名。 3.Exception、Error、运行时异常与一般异常有何异常?首先我们来看一张图,如下所示:可以看出,所有的异常都是由Throwable类,下一层分解为两个分支:Error和Exceprion。Error层次结构描述了java运行时系统的内部错误和资源耗尽错误。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。应用程序不应该抛出这种类型的对象。Exceprion这个层次结构又分解为连个分支:一个分支派生于RuntimeException;另一个分支包含其他异常。划分...
代码星球 代码星球·2020-07-24

Java试题全集

Java试题全集上:http://www.importnew.com/22083.htmlJava试题全集下:http://www.importnew.com/22087.html...
代码星球 代码星球·2020-05-25

115个Java试题和答案——终极列表(上)

本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。开始!目录面向对象编程(OOP)常见的Java问题Java线程Java集合类垃圾收集器面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。下面列出了...

115个Java试题答案——终极列表(下)

本文由 ImportNew - miracle1919 翻译自 javacodegeeks。欢迎加入Java小组。转载请参见文章末尾的要求。第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。异常处理Java小应用程序(Applet)SwingJDBC远程方法调用(RMI)ServletJSP异常处理43.Java中的两种异常类型是什么?他们有什么区别?Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议。44.Java中Exception和Error有什么区别?Exception和Err...

一道月薪3W的java面试题 (小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日)

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?3月4日3月5日3月8日6月4日6月7日9月1日9月5日12月1日12月2日12月8日小明说:如果我不知道的话,小强肯定也不知道小强说:本来我也不知道,但是现在我知道了小明说:哦,那我也知道了请根据以上对话推断出张老师的生日是哪一天??网上有这题的答案,靠,原本我懂的都被他说的不懂了,强烈谴责这种把简单问题复杂化专业化的垃圾。我的解答是这样的:首先3月4日3月5日3月8日6月4日6月7日9月1日9月5日12月1日12月2日12月8日小明说:如果我不知道的话,小强肯定也不知道这句话的信息量太大了,直接就可以从四组中筛掉两组为什么?因为如果小明拿到了6,那么里面有7日,如果小强拿到7日那小强还不能知道小明手里是6月么?所以小明肯定不敢说:小强肯定也不知道。同理,可以删除12这样,就只剩下:3月4日3月5日3月8日9月1日9月5日接着小强说了:本来我也不知道,但是现在我知道了。所以,如果小强拿到5号,他肯定不会这样说,所...

JAVA面试题 线程的生命周期包括哪几个阶段?

面试官:您知道线程的生命周期包括哪几个阶段?应聘者:线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。新建:就是刚使用new方法,new出来的线程;就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行;运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能;阻塞:在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep()、wait()之后线程就处于了阻塞状态,这个时候需要其他机制将处于阻塞状态的线程唤醒,比如调用notify或者notifyAll()方法。唤醒的线程不会立刻执行run方法,它们要再次等待CPU分配资源进入运行状态;销毁:如果线程正常执行完毕后或线程被提前强制性的终止或出现异常导致结束,那么线程就要被销毁,释放资源;完整的生命周期图如下:                &nbs...

Java面试题(外包公司)

     来深圳发展呢,开始了面试之旅,年底啦,可能机会并不多,本来自己也是个小菜鸟。听说学Java的女生很少,我就去碰碰运气啦。2019年1月8号下午去哒  这次面试去了一家外包公司,人事还是比较和气哒,是个漂亮的小姐姐,没有笔试,就直接去所谓的经理那里啦。大概问了我这几个问题 一、SpringMVC的执行流程? 1、客户端将请求提交给DispatcherServlet2、DispatcherServlet查询一个或多个HanderMapping,找到处理请求的的Controller3、DispatcherServlet将请求提交给Controller4、Controller调用逻辑处理后,返回相应的ModelAndView5、DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图6、视图解析器渲染后返回到客户端 二、AOP原理 aop面向切面编程 其底层原理就是动态代理,就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的...
代码星球 代码星球·2020-04-14

Java试题以及答案精选(架构师面试题)-基础题1

基础题一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1.String是字符串常量,StringBuffer和StringBuilder是字符串变量。StringBuffer是线程安全的,StringBuilder是非线程安全的。具体来说String是一个不可变的对象,每次修改String对象实际上是创新新对象,并将引用指向新对象。效率很低。StringBuffer是可变的,即每次修改只是针对其本身,大部分情况下比String效率高,StringBuffer保证同步(synchronized),所以线程安全。StringBuilder没有实现同步,所以非线程安全。但效率应该比StringBuffer高。StringBuffer使用时最好指定容量,这样会比不指定容量快30%-40%,甚至比不指定容量的StringBuilder还快。二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?vector是同步的,arraylist和linkedlist不是同步的。底层方面,v...
首页上一页12345...下一页尾页