快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

JAVA基础知识(3)

41、是否可以继续String类?
String类是final类故不可以继续。


42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。


43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。


44、编程题: 用最有效率的方式算出2乘以8等於几?
2 << 3


45、两个对象值一样(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有一样的hash code。


46、当一个对象被当作参数传递到一个方式后,此方式可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方式中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方式中改变,但对象的引用是永远不会改变的。


47、当一个线程进入一个对象的一个synchronized方式后,其它线程是否可进入此对象的其它方式?
不能,一个对象的一个synchronized方式只能由一个线程访问。


48、编程题: 写一个Singleton出来。
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方式获取对它的引用,继而调用其中的方式。
public class Singleton {
private Singleton(){}
   //在自己内部定义自己一个实例,是不是很希奇?
   //注重这是private 只供内部调用
   private static Singleton instance = new Singleton();
   //这里提供了一个供外部访问本class的静态方式,可以直接访问  
   public static Singleton getInstance() {
     return instance;   
   }
}
第二种形式:
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //这个方式比上面有所改进,不用每次都进行生成对象,只是第一次     
  //使用时生成实例,提高了效率!
  if (instance==null)
    instance=new Singleton();
return instance;   }
}
其他形式:
定义一个类,它的构造函数为private的,所有方式为static的。
一般认为第一种形式要更加安全些


49、Java的接口和C++的虚类的一样和不同处。
由于Java不支持多继续,而有可能某个类或对象要使用分别在几个类或对象里面的方式或属性,现有的单继续机制就不能满意要求。与继续相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方式和属性,并且接口里面的属性在默认状态下面都是public static,所有方式默认情况下是public.一个类可以实现多个接口。


50、Java中的非常处理机制的简朴原理和应用。
当JAVA程序违背了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个非常。违背语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA答应程序员扩展这种语义检查,程序员可以创建自己的非常,并自由选择在何时用throw要害字引发非常。所有的非常都是java.lang.Thowable的子类。


51、垃圾回收的长处和原理。并考虑2种回收机制。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存治理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存治理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清晰和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。


52、请说出你所知道的线程同步的方式。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方式,调用此方式要捕获InterruptedException非常。
notify():唤醒一个处于等待状态的线程,注重的是在调用此方式的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注重并不是给所有唤醒线程一个对象的锁,而是让它们竞争。


53、你所知道的集合类都有哪些?主要方式?
最常用的集合类是 List 和 Map。 List 的详细实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。
Map 提供了一个更通用的元素存储方式。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。


54、描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。


55、char型变量中能不能存贮一个中文汉字?为什么?
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的


56、多线程有几种实现方式,都是什么?同步有几种实现方式,都是什么?
多线程有两种实现方式,分别是继续Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify


57、JSP的内置对象及方式。
request表示HttpServletRequest对象。它包含了有关浏览器哀求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方式。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方式(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方式使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方式。
session表示一个哀求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例


58、线程的基本概念、线程的基本状态以及状态之间的关系
线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。
Java中的线程有四种状态分别是:运行、就绪、挂起、结束。


59、JSP的常用指令
<%@page language="java" contenType="text/html;charset=gb2312" session="true" buffer="64kb" autoFlush="true" isThreadSafe="true" info="text" errorPage="error.jsp" isErrorPage="true" isELIgnored="true" pageEncoding="gb2312" import="java.sql.*"%>
isErrorPage(是否能使用Exception对象),isELIgnored(是否忽略表达式)
<%@include file="filename"%>
<%@taglib prefix="c"uri="http://......"%>


60、什么情况下调用doGet()和doPost()?
Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。
返回类别: 教程
上一教程: JSP中读取远程机器的PROPERTIES文件和IP地址
下一教程: JAVA 语法介绍(三):变量

您可以阅读与"JAVA基础知识(3)"相关的教程:
· JAVA相关基础知识(7)
· JAVA基础知识(1)
· JAVA相关基础知识(3)
· JAVA相关基础知识(6)
· JAVA基础知识(5)
    微笑服务 优质保证 索取样品