摘要:
面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。 封装的定义和好处有哪些? 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它 阅读全文
摘要:
什么是cookie? cookie是Web服务器发送给浏览器的一块信息。 浏览器会在本地文件中给每一个Web服务器存储cookie。 以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。 session和cookie有什么区别? 无论客户端浏览器做怎么样的设置, 阅读全文
摘要:
HTTP响应的结构是怎么样的? HTTP响应由三个部分组成: 状态码(Status Code): 描述了响应的状态。 可以用来检查是否成功的完成了请求。 请求失败的情况下,状态码可用来找出失败的原因。 如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.S 阅读全文
摘要:
什么是Servlet? Servlet是用来处理客户端请求并产生动态网页内容的Java类。 Servlet主要是用来处理或者是存储HTML表单提交的数据,产生动态内容,在无状态的HTTP协议下管理状态信息。 Servlet的体系结构 所有的Servlet都必须要实现的核心的接口是javax.serv 阅读全文
摘要:
什么是RMI? Java远程方法调用(Java RMI)是Java API对远程过程调用(RPC)提供的面向对象的等价形式,支持直接传输序列化的Java对象和分布式垃圾回收。 远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。 RMI对调用者是位置透明的,因为调用者感觉方法是执行在本地运行 阅读全文
摘要:
什么是JDBC? JDBC是允许用户在不同数据库之间做选择的一个抽象层。 JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节。 解释下驱动(Driver)在JDBC中的角色。 JDBC驱动提供了特定厂商对JDBC API接口类的实现,驱动必须要提供java.sql包下面这 阅读全文
摘要:
finalize()方法什么时候被调用?析构函数(finalization)的目的是什么? 垃圾回收器(garbage collector)决定回收某对象时,就会运行该对象的finalize()方法。 但是在Java中很不幸,如果内存总是充足的,那么垃圾回收可能永远不会进行,也就是说filalize 阅读全文
摘要:
面试题 Java中的两种异常类型是什么?他们有什么区别? Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。 不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外 阅读全文
摘要:
-Xms -Xmx分别设置堆的最小值和最大值,如果要设置成堆的大小可变,那么可以将最大值和最小值设置成不一样,如果要将堆大小固定,那么只需将最大值和最小值设置成一样的就行。 jvm中分为堆和方法区 堆又进一步分为新生代和老年代 方法区为永久代 堆中区分的新生代和老年代是为了垃圾回收,新生代中的对象存 阅读全文
摘要:
面试题 Java中垃圾回收有什么目的?什么时候进行垃圾回收? 垃圾回收是在内存中存在没有引用的对象或超过作用域的对象时进行。 垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。 System.gc()和Runtime.gc()会做什么事情? 这两个方法用来提示JVM要进行垃圾回收。 但 阅读全文
摘要:
面试题 HashSet和TreeSet有什么区别? HashSet是由一个hash表来实现的,因此,它的元素是无序的。add(),remove(),contains()方法的时间复杂度是O(1)。 另一方面,TreeSet是由一个树形的结构来实现的,它里面的元素是有序的。因此,add(),remov 阅读全文