|
1、Double、Class是final类,不能被继承;Math、Thread可以被继承
2、 当前类 同一package 子孙类 其它package
Public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × × 3、Collection的4个主要接口:List、Set、BeanContext、SortedSet 4、Error和Exception的区别 error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 5、多线程和同步的几种实现方式 多线程:主要有两种 一种是继承Thread类,一种是实现Runnable接口 同步有两种方法。一种同步方法,一种同步代码!分别是synchronized,wait与notify 6、打印昨天的当前时间 long today = System.currentTimeMillis(); long yestory = today – 1000*60*60*24 ; Date time = new Date( yestory ) ; System.out.println(time.getDate()+”号”+time.getHours()+”时”+time.getMinutes()+”分”+time.getSeconds()+”秒”) 7、Jsp重定向的方法 服务器端的重定向可以有两种方式,一是使用HttpServletResponse的 sendRedirect()方法,一是使用RequestDispatcher的forward()方法。 8、Jsp页面间数据如何传递 a.设置session变量,session.setAttribute(“a”,”b”);b.地址方式传值:show.jsp?id=变量值 9、Jsp的内置对象:request、response、session、application、out、 java.lang.Object、config、exception、pageContext 10、forward、redirect的区别 forward仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址; redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。 所以,forward更加高效,在forward可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。 在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。 从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的 URL,把那个URL的响应内容读取过来,然后把这些内容 再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所 以redirect等于客户端向服务器端发出两次request,同时也接受两次response。 11、多态的概念 多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 12、Application的生命周期 application对象是一个特别重要的JSP对象,它存在于服务器的内存空间中,服务器一旦启动,就会自动产生一个application对象,除非服务器被关闭,否则这个application对象将一直保持下去。在application对象的生命周期中,在当前服务器上运行的每一个JSP程序都可以任意存取和这个application对象绑定的参数(或者Java对象)的值。application对象的这些特性为我们在多个JSP程序中、多个用户共享某些全局信息(如当前的在线人数等)提供了方便。由此我们可以不借助数据库就实现聊天室的功能。 13、list、set的区别 list是列表(接口),是可以允许出现重复值的, ArrayList和HashMap是异步的, Vector和HashTable是同步的, 所以Vector和HashTable是线程安全的, 而ArrayList和HashMap并不是线程安全的。 因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于ArrayList和HashMap。 14、如何区别set中的元素 在比较时先调用hashCode方法,如果不相同,证明不相等。 ==:主要用在基本数据类型及引用 15、 抽象类与接口的区别 1,抽象类里可以有构造方法,而接口内不能有构造方法。 2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。 3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。 4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。 5,抽象类中可以包含静态方法,接口内不能包含静态方法。 6,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。 7,一个类可以实现多个接口,但只能继承一个抽象类。 再补充点两者在应用上的区别: 接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用 16、为什么要用Class.forName方法 从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:1、这个类已经加载;2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,这个静态方法调用了启动类加载器,即加载java API的那个加载器。 现在可以看出,newInstance()实际上是把new这个方式分解为两步,即首先调用Class加载方法加载某个类,然后实例化。 这样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灵活性,提供给了一种降耦的手段。 最后用最简单的描述来区分new关键字和newInstance()方法的区别: newInstance: 弱类型。低效率。只能调用无参构造。 new: 强类型。相对高效。能调用任何public构造。 17、java连接池的使用 18、数据库的实例与用户的概念 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成 19、RMI的基类有哪些 20、如何访问不同的数据库 (责任编辑:职场达人) |


