`
youngmaster
  • 浏览: 58263 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java中的120个经典问题 回顾之三

阅读更多

  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 应用程序,包括多个页面、请求和会话的一个全局作用域

     66、Request对象的主要方法:

    setAttribute(String name,Object):设置名字为name的request的参数值

    getAttribute(String name):返回由name指定的属性值

    getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

    getCharacterEncoding():返回请求中的字符编码方式

    getContentLength():返回请求的Body的长度

    getHeader(String name):获得HTTP协议定义的文件头信息

    getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例getInputStream():返回请求的输入流,用于获得请求中的数据

    getMethod():获得客户端向服务器端传送数据的方法

    getParameter(String name):获得客户端传送给服务器端的有name指定的参数值

    getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

    getParameterValues(String name):获得有name指定的参数的所有值

    getProtocol():获取客户端向服务器端传送数据所依据的协议名称

    getQueryString():获得查询字符串

    getRequestURI():获取发出请求字符串的客户端地址

    getRemoteAddr():获取客户端的IP地址

    getRemoteHost():获取客户端的名字

    getSession([Boolean create]):返回和请求相关Session

    getServerName():获取服务器的名字

    getServletPath():获取客户端所请求的脚本文件的路径

    getServerPort():获取服务器的端口号

    removeAttribute(String name):删除请求中的一个属性

     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从句中释放。

 

分享自:http://www.abcjava.com/html/JAVA/JAVAjichu/2009/1012/1034.html

分享到:
评论

相关推荐

    Java经典编程50道

    《Java经典编程50道》是一份集合了Java编程中具有代表性和挑战性的题目资源,包含完整的源码,旨在帮助开发者提升Java编程技能。通过学习和实践这些题目,开发者可以深入理解Java语言的核心特性和常见设计模式,...

    java十大事件回顾—经典的java评论

    ### Java十大事件回顾—经典Java评论 #### Java5.0:革新与自动化 在Java的发展历程中,2004年发布的Java5.0(代号“Tiger”)被视为一次重大变革,不仅因为它是史上改动幅度最大的版本,更因为它在简化开发流程、...

    java开发实战经典习题答案

    Java开发实战经典课后习题答案涉及到Java编程语言的多个基础知识点,这些知识点对于初学者和想要巩固基础的开发者都具有参考价值。以下是对文档中提到的内容的知识点梳理: 1. Java简介 - Java源程序文件的后缀是....

    android课件3java语言回顾

    android java语言回顾 android java语言回顾

    43个java 经典手机游戏(打包下载)

    本资源包含43个经典的Java手机游戏,这些游戏是为触屏设备设计并经过破解,可以无需购买或解锁即可游玩,提供了一次回顾经典的机会。 Java手机游戏的开发主要基于Java ME(Micro Edition)平台,这是一个专门为...

    JavaSE回顾总结(狂神说java).xmind

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    经典算法问题的java实现<一>

    在本资源中,我们关注的是"经典算法问题的java实现&lt;一&gt;",这通常涉及到计算机科学中的基础算法,特别是那些用Java编程语言实现的。这些算法是解决各种计算问题的关键,包括排序、搜索、图论、动态规划等。Java作为一...

    Java十大经典案例

    Java作为世界上最流行的编程语言之一,拥有众多的经典案例,这些案例不仅展示了Java的强大功能,也帮助开发者深入理解其核心概念和编程技巧。以下是对"Java十大经典案例"的详细解析: 1. **银行账户管理系统**:这...

    java基础知识回顾.rar

    Java基础知识回顾 一:java概述 Java的三种技术架构 JAVAEE: Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE: Java Platform Standard Edition,完成桌面应用程序...

    java面试常见问题回顾

    Java面试常见问题涵盖了许多核心概念和技术,这些都是面试官在寻找潜在候选人时经常提出的。下面将对这些关键领域进行深入探讨: 1. **基础语法**:Java的基础语法是面试的起点,包括类、对象、封装、继承、多态等...

    我一年Java之路的回顾,反思以及展望

    3. **环境配置的挑战**:Java环境变量和classpath的设置对新手来说是个难题。作者提到,Microsoft的产品在这方面相对友好,而Java的环境配置需要更多的学习和实践。建议初学者在遇到这类问题时,多参考网络资源,...

    Java程序设计经典教材

    《Java程序设计经典教材》是一本专为初学者设计的Java语言学习指南,它深入浅出地阐述了Java编程的基础知识和核心概念。通过阅读这本书,你可以了解到如何使用Java进行有效的程序开发,并逐步掌握这个强大而广泛使用...

    JAVA经典练习题

    "JAVA经典练习题"这个标题所指的,很显然是一个集合了各种Java编程练习题目的资源,旨在帮助学习者巩固和提升Java编程技能。描述中的“我们学校总结的JAVA试题简单而且绝对经典”,暗示了这些题目可能来源于教育机构...

    用于回顾java基础知识 Java学习资

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的类库而闻名。"用于回顾java基础知识"的标题和描述暗示了我们将探讨的是Java的基础概念,这可能包括语法、类、对象、数据类型、控制结构等核心...

    java开发实战经典

    Java开发是软件行业中非常重要的一个领域,Java作为一种多用途、跨平台的编程语言,广泛应用于企业级应用、移动应用(尤其是Android)、Web服务以及大数据处理等众多场景。学习Java开发首先要了解其基本语法,包括...

    Java 网络编程回顾

    文件名为“TestInternet”的可能是一个测试网络连接的Java程序,包含了Socket、ServerSocket、URL或URLConnection的示例代码。通过分析这个程序,我们可以更好地理解Java网络编程的实际应用。 总结来说,Java网络...

    Java经典问题算法大全

    根据给定文件的信息“Java经典问题算法大全”,我们可以推断出这份资料主要涵盖了Java编程语言中的经典算法问题及其解决方案。接下来,我们将详细探讨这一主题下的关键知识点。 ### 一、基础知识回顾 在深入讨论...

    JAVA中传值与引用问题

    Java作为一种广泛使用的高级编程语言,在设计之初就考虑到了如何避免C/C++等语言中的复杂性,特别是指针操作的复杂性和潜在风险。本文将深入探讨Java中的传值与传引用问题,并通过具体的例子来解析其中的原理。 ###...

    java 基础知识总结(经典)

    这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...

Global site tag (gtag.js) - Google Analytics