`
jxpengtao
  • 浏览: 65853 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

java心得

    博客分类:
  • java
阅读更多

类变量:就是相同类都使用的同一变量,加static,静态方法不能访问实例变量。
实例变量:必须新建一类的对象,不带static,只在实例中改变。
初始化类,就在static初始化,初始化实例就在构造函数中放置代码。
初始化程序调用一个包含异常错误的方法,它不能进行错误恢复。


1.J2EE
J2EE是JAVA 2 PLATFORM ENTERPRISE EDITIONS 的简称,它是一个套件,它很有可能成为服务器端的标准。包含有:

Enterprise JavaBeans(EJB)
JavaServer Pages(JSP)
JDBC
Java Message Service(JMS)
J2EE Connector
JAVA Servlets
Java Naming and Directory InterfaceTM (JNDI)
JavaTM Interface Definition Language (IDL)
JavaTM Transaction API (JTA)
JavaTM Transaction Service (JTS)
JavaMail
RMI-IIOP

2.J2SE
J2SE是JAVA 2 Platform, Standard Edition的简称,它也是一个套间,
它主要包含有:
JDK 1.1.x
JRE 1.1.x
3.JDK
JDK是JAVA DEVELOPMENT KIT的简称,它是最重要的开发工具,主要包括开发所用的调试,编译,运行等必须的软件工具。现在的版本都是1.1.x系列。
4.JSDK
是JAVA Software Development Kit的简写,它是给开发人员用的,很多人误以为它是针对Serverlet的。JSDK有两类版本:
JAVA SDK Standard Edition和Enterprise Editions。现在一些最新的JAVA开发软件都附带它(Standard Edition),
如JBUILDER3.5.
5.JSP
是JavaServer Pages的简写。
6.JSWDK
是JavaServer Web Development Kit的简称,最新版本是1.0.1,支持JSP 1.0和Servlet API 2.1。它主要是配合WEB服务器使用。
7.TOMCAT
是有SUN提供技术支持开发的,包括了JSWDK的全部功能,还有一些加强的,它是JAKARTA套间的一部分。
8.JRE
是Java Runtime包括了JAVA虚拟机,一些核心类和相关的支持文件。是JDK的一部分(RUNTIME部分)。

Servlet的生命周期:Servlet它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
7、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
18、heap和stack有什么区别。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。
堆是栈的一个组成元素
19、forward 和redirect的区别
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
22、JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>

23、什么时候用assert。
    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

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

92、j2ee常用的设计模式?说明工厂模式。
    Java中的23种设计模式:
Factory(工厂模式),      Builder(建造模式),       Factory Method(工厂方法模式),
Prototype(原始模型模式),Singleton(单例模式),    Facade(门面模式),
Adapter(适配器模式),    Bridge(桥梁模式),        Composite(合成模式),
Decorator(装饰模式),    Flyweight(享元模式),     Proxy(代理模式),
Command(命令模式),      Interpreter(解释器模式), Visitor(访问者模式),
Iterator(迭代子模式),   Mediator(调停者模式),    Memento(备忘录模式),
Observer(观察者模式),   State(状态模式),         Strategy(策略模式),
Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。
用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。
throw语句用来明确地抛出一个"异常"。
throws用来标明一个成员函数可能抛出的各种"异常"。
Finally为确保一段代码不管发生什么"异常"都被执行一段代码。
可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。

分享到:
评论

相关推荐

    李新华老师得JAVA心得

    【标题】:“李新华老师得JAVA心得”是一个与Java编程相关的知识分享,主要来源于李新华老师的个人经验。这个标题暗示了我们将深入探讨Java语言的核心概念、最佳实践以及可能的编程技巧,这些都是李新华老师在长期的...

    Java心得 学JAVA必看

    根据给定的文件信息,以下是对“Java心得 学JAVA必看”的详细解读与扩展。 ### Java学习心得 #### 1. 沉稳心态 浮躁的心态永远无法成为真正的高手。在学习Java的过程中,首先需要调整自己的心态,保持平和、冷静的...

    。。。。。。。JAVA心得

    JAVA心得学习JAVA的好帮手。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    Core Java心得笔记

    【Core Java心得笔记】主要涵盖了Java编程的基础及进阶知识,包括对象导向编程、类与对象、封装、继承、多态、接口、异常处理、集合框架、IO流、线程等核心概念。以下是对这些知识点的详细阐述: 1. **对象导向编程...

    201年最新学习java心得

    201年(假设此处为笔误,实际应为2021年或2022年)的学习Java心得,反映出这个语言持续的重要性以及其在技术更新迭代中的持久力。本篇文章将围绕Java学习的核心知识点进行详细阐述,帮助初学者更好地理解和掌握这门...

    Java心得体会.pdf

    Java心得体会.pdf

    java心得分享技术文章总结.docx

    【Java心得分享技术文章总结】 Java作为一门广泛使用的编程语言,其在CS(计算机科学)领域扮演着重要的角色。以下是对一系列Java相关技术文章的综合总结: 1. **Kotlin项目实践**: - "DeepNight-in-kotlin"是一...

    java心得分享技术文章总结.pdf

    【Java心得分享技术文章总结】 本文是对一系列Java和Android技术文章的综合整理,涵盖了多个方面的知识点,旨在帮助读者深入理解并提升在IT领域的技能。以下是一些关键的技术点概述: 1. **Android自定义View**: ...

    Java心得文件

    ### Java心得文件:深入探索Java网络编程与多线程机制 #### 核心知识点概览 在本篇文章中,我们将围绕“Java心得文件”的主题,深入解析Java编程语言中的网络编程与多线程机制,旨在为Java新手提供一系列实用且...

    2022学习java心得体会(精选5篇)_java心得体会.docx

    本文总结了java学习心得体会,分为五篇。第一篇 java7 学习心得体会,总结了java7 的主要学问点,包括基本语法、类和对象、内部类、匿名类、抽象类、接口、包、输入输出、SWT 各中界面、事务监听和处理、异样处理和...

    java学习心得 java学习心得

    java学习心得java学习心得java学习心得java学习心得

    java 连接sql数据库时的心得

    根据提供的标题、描述以及部分代码内容,我们可以总结出以下关于使用Java连接SQL Server数据库的关键知识点: ### Java连接SQL Server数据库的基础知识 1. **环境配置**: - SQL Server版本:这里提到了`sql...

    java心得和笔记

    这是一个很全的java笔记和心得 对新手来说绝对有帮助,对老手也可以起到很好的负责作用,当初我刚刚得到的时候实话说,对我的帮助很大,今天小拿2分来分享给大家,希望大家尽情下载吧,如果不好你们给差评吧,我不怪...

    java 心得体会 基础总结

    根据提供的文件信息,我们可以整理出以下Java基础知识的关键知识点: ### 1. Java的不同版本 - **J2EE(Java Platform, Enterprise Edition)**: 主要面向企业级应用开发,支持大型分布式系统、Web服务等。 - **...

    java心得.docx

    Java是一种广泛使用的面向对象的编程语言,以其平台独立性、高效性和丰富的类库而闻名。在初学者眼中,任何新的编程语言都会显得复杂且难以理解,Java也不例外。然而,随着时间的推移,通过不断的实践和深入学习,...

    Java学习心得,希望对大家有帮助!

    ### Java 学习心得 #### 1. 基本概念理解 - **面向对象编程(OOP)**: Java 是一门完全支持面向对象特性的语言,包括封装、继承和多态。 - **类与对象**: 类是对象的模板,而对象则是类的实例。理解如何创建类、...

Global site tag (gtag.js) - Google Analytics