Java-面试考点随记

Java知识快记
  • Java是从c++语言重新设计的
  • Java语言使用的字符码是Unicode字符集,而ASCII是国际上使用最广泛的字符编码。BCD是一种数字压缩存储方法。
  • JSP有哪些动作?作用分别是什么?

JSP 共有以下6种基本动作

jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个 JavaBean。

jsp:setProperty:设置 JavaBean 的属性。

jsp:getProperty:输出某个 JavaBean 的属性。

jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记

  • JSP有哪些内置对象?它们的作用分别是什么?

1.request  用户端请求,此请求会包含来自GET/PDST请求的参数

2.response 网页传回用户端的回应

3.pageContext  网页的属性是在这里管理

4.session 与请求有关的会话期

5.aplication servlet 正在执行的内容

6.out 用来传送回应的输出

7.config servlet的构架部件

8.page JSP网页本身

9.exception 针对错误网页,未捕捉的例外

  • Spring框架有哪些模块?

Spring框架由七个模块组成组成,这7个模块(或组件)均可以单独存在,也可以与其它一个或多个模块联合使用,如下所示:

 (1) Spring 核心容器——IoC容器

(2) Spring AOP

(3) Spring ORM

(4) Spring DAO

(5) Spring WEB

(6) Spring上下文(Context)

(7) Spring MVC

  • Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

Java语言提供了八种基本类型:

六种数字类型(四个整数型,两个浮点型)

字节型byte 8位 短整型short 16位 整型int 32位 长整型long 64位

单精度float 32位 双精度double 64位

字符型char 8位

还有一种布尔型  8位 可存储”True”和”false”。

String本身就是一个对象而不是基本数据类型,String的变量名是对String类的引用。

  • interface(接口)都是对外开放的,默认都是public修饰
  • ArrayList默认的默认长度为10个。
  • Character是字符读写,Byte是字节读写
  • String类型可以直接使用+进行连接运算
  • String类型不能进行减(-)运算
  • Jsp中from标签中method属性为Get时调用doGet(),为POST时调用doPost()
  • Java中不能继承String类,因为String是final类型,不可以继承。
  • 基本数据类型包括byte、int、char、long、float、double、boolean和short。

    java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

  • JS能够操作cookie,但不能操作session。
  • Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

  • 控制反转即IoC (Inversion of Control),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器

 

 

这四个作用域的可见范围如下表所示。

说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。

备注:只要记住了有4种访问权限,4个访问范围,然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就很容易画出上面的图了。

  • Java程序的种类有?

(a)内嵌于Web文件中,由浏览器来观看的_Applet

(b)可独立运行的 Application

(c)服务器端的 Servlets

  • J2EE是技术还是平台还是框架?

J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

  • LinkedList继承自List,HashSet继承自AbstractSet
  • Hibernate 的抓取策略是指当应用程序需要利用关联关系进行对象获取的时候。
  • Hibernate中HQL是面向对象的查询语言,它可以查询以对象形式存在的数据。
  • XMLHttpRequest对象是什么,它有哪些常用方法?   

一个 JavaScript 对象。是Ajax 的核心。

该对象的方法和属性。

    open():建立到服务器的新请求。

    send():向服务器发送请求。

    abort():退出当前请求。

    readyState:提供当前 HTML 的就绪状态。

    responseText:服务器返回的请求响应文本。

  • Servlet采用多线程来处理多个请求同时访问,Servlet容器维护了一个线程池来服务请求。
  • 一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

  • 构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。
  • 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承具体类。抽象类中可以有静态的main方法。

备注:只要明白了接口和抽象类的本质和作用,这些问题都很好回答,你想想,如果你是java语言的设计者,你是否会提供这样的支持,如果不提供的话,有什么理由吗?如果你没有道理不提供,那答案就是肯定的了。

 只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。

  • finally中的代码比return 和break语句后执行
  • 所谓系统异常,就是…..,它们都是RuntimeException的子类,在jdk doc中查RuntimeException类,就可以看到其所有的子类列表,也就是看到了所有的系统异常。我比较有印象的系统异常有:NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException。
  • 启动一个线程是调用start()方法,使线程就绪状态,以后可以被调度为运行状态,一个线程必须关联一些具体的执行代码,run()方法是该线程所关联的执行代码。
  • ArrayList和Vector的区别?

1.同步性:

Vector是线程安全的,它的方法之间是线程同步的,而ArryList是线程序不安全的,它们之间是线程不同步的。如果有一个线程访问集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问集合,那最好使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码。

备注:对于Vector&ArrayList、Hashtable&HashMap,要记住线程安全的问题,记住Vector与Hashtable是旧的,是java一诞生就提供了的,它们是线程安全的,ArrayList与HashMap是java2时才提供的,它们是线程不安全的。所以,我们讲课时先讲老的。

2.数据增长:

ArrayList与Vector都有一个初始的容量大小,当存储进它们里面的元素的个数超过了容量时,就需要增加ArrayList与Vector的存储空间,每次要增加存储空间时,不是只增加一个存储单元,而是增加多个存储单元,每次增加的存储单元的个数在内存空间利用与程序效率之间要取得一定的平衡。Vector默认增长为原来两倍,而ArrayList的增长策略在文档中没有明确规定(从源代码看到的是增长为原来的1.5倍)。ArrayList与Vector都可以设置初始的空间大小,Vector还可以设置增长的空间大小,而ArrayList没有提供设置增长空间的方法。

    总结:即Vector增长原来的一倍,ArrayList增加原来的0.5倍。

  • HashMap和Hashtable的区别

就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

  • List, Set 是继承自Collection接口,Map不是
  • 说出一些常用的类,包,接口,请各举5个

要让人家感觉你对java ee开发很熟,所以,不能仅仅只列core java中的那些东西,要多列你在做ssh项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。

常用的类:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer

java.util.Date,System,Class,List,HashMap

常用的包:java.lang   java.io  java.util  java.sql ,javax.servlet,org.apache.strtuts.action,org.hibernate

常用的接口:Remote  List  Map  Document  NodeList ,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)、Session(Hibernate),HttpSession

  • java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。

 

编程学习

Java-模拟微信的抢红包功能

2020-9-18 1:50:30

编程学习

Java-简答题

2020-9-19 1:31:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索