`
zhaohaolin
  • 浏览: 1020791 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java面试大总结(2)

    博客分类:
  • JAVA
阅读更多
标签:面试
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 2 个字节,所以放一个中文是没问题的
 
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=" [url]http://......[/url]"%>
 
60 、什么情况下调用 doGet() doPost()
Jsp 页面中的 form 标签里的 method 属性 get 时调用 doGet() ,为 post 时调用 doPost()
 
61 servlet 的生命周期
web 容器加载 servlet ,生命周期开始。通过调用 servlet init() 方法进行 servlet 的初始化。通过调用 service() 方法实现,根据请求的不同调用不同的 do***() 方法。结束服务, web 容器调用 servlet destroy() 方法。
 
62 、如何现实 servlet 的单线程模式
<%@ page isThreadSafe="false"%>
 
63 、页面间对象传递的方法
request session application cookie
 
64 JSP Servlet 有哪些相同点和不同点,他们之间的联系是什么?
JSP Servlet 技术的扩展 本质上是 Servlet 的简易方式 ,更强调应用的 外表表达 JSP 编译后是 " servlet" Servlet JSP 最主要的不同点在于, Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java HTML 可以组合成一个扩展名为 .jsp 的文件。 JSP 侧重于视图, Servlet 主要用于控制逻辑。
 
65 、四种会话跟踪技术
会话作用域 ServletsJSP 页面描述
page 否是代表与 一个页面相关的对象和属性 。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet JSP 页面
request 是代表与 Web 客户机发出的 一个请求相关的对象和属性 。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session 是代表与用于某个 Web 客户机的 一个用户体验相关的对象和属性 。一个 Web 会话可以也经常会跨越多个客户机请求
application 是代表 与整个 Web 应用程序相关的对象和属性 。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域
 
67 J2EE 是技术还是平台还是框架?
  J2EE 本身是一个标准 ,一个为 企业分布式应用 的开发提供的标准平台。
  J2EE 也是一个框架, 包括 JDBC JNDI RMI JMS EJB JTA 等技术。
 
 
68 、我们在 web 应用开发过程中经常遇到输出某种编码的字符,如 iso8859-1 等,如何输出一个某种编码的字符串?
  Public String translate (String str) {
    String tempStr = "";
    try {
      tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
      tempStr = tempStr.trim();
    }
    catch (Exception e) {
      System.err.println(e.getMessage());
    }
    return tempStr;
  }
 
69 、简述逻辑操作 (&,|,^) 与条件操作 (&&,||) 的区别。
区别主要答两点:
a. 条件操作只能操作布尔型的 , 而逻辑操作不仅可以操作布尔型 , 而且可以操作数值型
b. 逻辑操作不会产生短路
 
70 XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?
a: 两种形式 dtd  schema b: 本质区别 :schema 本身是 xml 的,可以被 XML 解析器解析 ( 这也是从 DTD 上发展 schema 的根本目的 ) c:
DOM,SAX,STAX
    DOM: 处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之
前把整个文档装入内存 , 适合对 XML 的随机访问
SAX: 不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标
签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问
    STAX:Streaming API for XML (StAX)
 
71 、简述 synchronized java.util.concurrent.locks.Lock 的异同
主要相同点: Lock 能完成 synchronized 所实现的所有功能
主要不同点: Lock 有比 synchronized 更精确的线程语义和更好的性能。 synchronized 会自动释放锁 ,而 Lock 一定要求程序员手工释放,并且必须在 finally 从句中释放
 
72 EJB 的角色和三个对象
一个完整的基于 EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循 Sun 公司提供的 EJB 规范,以保证彼此之间的兼容性。这六个角色分别是 EJB 组件开发者( Enterprise Bean Provider )、应用组合者( Application Assembler )、部署者( Deployer )、 EJB 服务器提供者( EJB Server Provider )、 EJB 容器提供者( EJB Container Provider )、系统管理员( System Administrator
三个对象是 Remote Local )接口、 Home LocalHome )接口, Bean
 
73 EJB 容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
 
74 EJB 规范规定 EJB 中禁止的操作有哪些?
1. 不能操作线程和线程 API( 线程 API 指非线程对象的方法如 notify,wait ) 2. 不能操作 awt 3. 不能实现服务器功能, 4. 不能对静态属生存取, 5. 不能使用 IO 操作直接存取文件系统, 6. 不能加载本地库 . 7. 不能将 this 作为变量和返回, 8. 不能循环调用。
 
75 remote 接口和 home 接口主要作用
remote 接口定义了业务方法,用于 EJB 客户端调用业务方法。
home 接口是 EJB 工厂用于创建和移除查找 EJB 实例
 
76 bean 实例的生命周期
对于 Stateless Session Bean Entity Bean Message Driven Bean 一般存在缓冲池管理,而对于 Entity Bean Statefull Session Bean 存在 Cache 管理,通常包含创建实例,设置上下文、创建 EJB Object create )、业务方法调用、 remove 等过程,对于存在缓冲池管理的 Bean ,在 create 之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在 Cache 管理的 Bean 则通过激活和去激活机制保持 Bean 的状态并限制内存中实例数量。
 
77 EJB 的激活机制
Stateful Session Bean 为例:其 Cache 大小决定了内存中可以同时存在的 Bean 实例的数量,根据 MRU NRU 算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个 EJB 实例业务方法时,如果对应 EJB Object 发现自己没有绑定对应的 Bean 实例则从其去激活 Bean 存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的 ejbActive ejbPassivate 方法。
 
78 EJB 的几种类型
会话( Session Bean ,实体( Entity Bean 消息驱动的( Message Driven Bean
会话 Bean 又可分为有状态( Stateful )和无状态( Stateless )两种
实体 Bean 可分为 Bean 管理的持续性( BMP )和容器管理的持续性( CMP )两种
 
79 、客服端调用 EJB 对象的几个基本步骤
设置 JNDI 服务工厂以及 JNDI 服务地址系统属性,查找 Home 接口,从 Home 接口调用 Create 方法创建 Remote 接口,通过 Remote 接口调用其业务方法
 
80 、如何给 weblogic 指定大小的内存 ?
在启动 Weblogic 的脚本中(位于所在 Domian 对应服务器目录下的 startServerName ),增加 set MEM_ARGS=-Xms32m -Xmx200m ,可以调整最小内存为 32M ,最大 200M
81 、如何设定的 weblogic <span sty
分享到:
评论

相关推荐

    java面试题总结资料

    这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...

    Java面试总结(珍藏版)

    2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试...

    java面试100题及面试技巧总结

    java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 ...

    java面试大全。各大公司面试总结。知识点总结,共31个文档

    Java面试大全涵盖了大量的技术知识点,这些内容通常会出现在各大公司的面试过程中。为了帮助你更好地准备,以下是基于描述中提到的“31个文档”可能涉及的一些核心Java面试知识点的详细阐述: 1. **基础概念**:...

    Java面试题总结

    Java作为一门广泛应用于后端开发的语言,其面试题涵盖了众多的知识点,包括但不限于基础语法、数据结构、算法、多线程、并发编程、...希望这份"Java面试题总结"能帮助你在面试中展现出最佳状态,祝你找到满意的工作。

    java面试笔试总结

    Java面试笔试总结主要涵盖了许多Java开发中的核心概念和技术,这些知识点是面试官在评估候选人技能时经常关注的焦点。以下是一些重要的Java知识点,对于准备Java Web开发职位的面试者尤其重要。 1. **Java基础** -...

    java中高级面试题十大总结

    Java作为一门广泛使用的编程语言,其中高级面试题往往涵盖了多方面的知识点,旨在考察候选人的技术深度和广度。以下是对这些面试题的详细解析: 1. **内存管理与垃圾回收** - Java的内存分为堆内存(Heap)和栈...

    java面试题总结 下载

    这份"java面试题总结资料"应该包含了作者精心整理的各类常见问题和解答,旨在帮助求职者更好地准备面试。 首先,让我们来看看Java基础部分。这部分通常会涉及变量、数据类型、运算符、流程控制语句、类与对象、封装...

    Java面试汇总.pdf+总结全面+八股文

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Java 高频面试题。...

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    java面试总结文档

    ### Java面试总结文档知识点解析 #### 一、Java基础篇 - 概念 ##### 1. Linux概述 - **起源与发展**:Linux是由芬兰学生Linus Torvalds于1991年开始创建的一个开源操作系统内核。随着社区的不断发展与完善,Linux...

    java面试问题总结

    (实际面试题) 1.在执行速度方面的比较:StringBuilder 快于 StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的...

    阿里大佬总结的Java面试资料

    阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java...

    java面试题总结

    在Java面试中,面试官通常会考察应聘者的语法基础、数据结构与算法、多线程、集合框架、异常处理、IO流、网络编程、设计模式等多个方面的能力。以下是对这些关键知识点的详细阐述: 1. **Java语法基础**:Java的...

    Java面试题,10万字208道Java经典面试题总结(附答案)

    以下是一些Java面试中常见的知识点: 1. JDK和JRE的区别: JDK(Java Development Kit)是Java开发工具包,它包含了编写、编译和调试Java应用程序所需的所有工具,包括JRE(Java Runtime Environment)。JRE则是...

    JAVA面试问题,自己和别人总结

    JAVA面试问题总结 JAVA是一种广泛应用的编程语言,作为一名JAVA开发者,需要具备扎实的基础知识和实践经验。本文总结了常见的JAVA面试问题,涵盖了JAVA基础、JSP、Servlet、XML、J2EE、MVC、数据库等方面的知识点。...

    西安2010Java面试总结

    【西安2010Java面试总结】 在2010年的西安Java面试中,面试官主要关注以下几个核心知识点,这些内容对于Java开发者来说至关重要,也是面试官用来评估候选人技术实力的关键标准。 1. **Java基础知识**:面试通常从...

    最新Java面试八股文10万字总结

    这份"最新Java面试八股文10万字总结"包含了全面的Java知识体系,旨在帮助求职者准备面试,提升对Java技术的理解。 首先,基础篇涵盖了Java语言的基础语法,包括变量、数据类型、运算符、流程控制(如if语句、switch...

    华为java面试题总结

    【华为Java面试题总结】 在Java开发者的眼中,华为无疑是中国IT行业的巨头,其面试流程严谨,技术要求高。这份“华为Java面试题总结”旨在为准备进入华为的Java工程师提供一些关键知识点的梳理和复习指导。以下是对...

    android和java面试大全集

    JAVA面试题集合(项目2部).chm 华为笔试题大全(史上最齐全).doc JAVA题库.doc java面试题.zip Java面试宝典2011版-1A,Java基础部分.doc jsp笔试题全集.doc Java学习笔记(必看经典).doc android和java面试大全.rar ...

Global site tag (gtag.js) - Google Analytics