摘要:JSTL根据是否支持EL(表达式语言)表达式分为两套、每套包括四个部分:核心库、国际化操作、数据库相关操作和XML相关操作。通过使用标签库,可是大大减少JSP页面上的Java代码,建立结构清晰的JSP页面,从而利于JSP页面的维护。本文主要介绍其中最常用的核心库的使用方法,其他部分的使用可以依此类推。
面向对象编程(OOP)具有多方面的吸引力。对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务。每个人都可从中获益,至少表面如此。
SWT/JFace简介:SWT(Standard Widget Toolkit)即标准小窗口工具箱,是IBM公司推出的一种在Eclipse中使用的集成开发环境,SWT提供可移植的API,并与底层本机OS GUI平台紧密集成,它是一个与本地窗口系统集成在一起的小部件集和图形库。SWT由JNI(Java Native Interface,Java本机接口)调用操作系统的内部API,因此运行速度快,能够获得与操作系统的内部应用程序相同的外观。<br><br> JFace是一个用户界面工具箱,也是一个易用、功能强大的图形包,它简化了常见的图形用户界面的编程任务。SWT和JFace都是Eclipse平台上的主要组件。JFace是在SWT的基础上创建的,但JFace并不能完全覆盖SWT的功能,JFace和SWT的关系如图4.1所示。由于JFace的功能更强大,因此做图形界面开发时一般优先选用JFace。
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动 等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要 差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快
Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。
Swing应用程序中线程介绍,一个Swing程序中一般有下面三种类型的线程:<br> 1、初始化线程(InitialThread)<br> 2、UI事件调度线程(EDT,EventDispatchThread)<br> 3、任务线程(WorkerThread)<br> 每个程序必须有一个main方法,这是程序的入口。该方法运行在初始化或启动线程上。初始化线程读取程序参数并初始化一些对象。在许多Swing程序中,该线程主要目的是启动程序的图形用户界面(GUI)。一旦GUI启动后,对于大多数事件驱动的桌面程序来说,初始化线程的工作就结束了。
Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。
内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。
servlet生命周期中只有一个对象,即一次实例化后就可以一直处理请求,因为一次实例化后就已经把.Class文件Load到内存中了。这也说明只有在servlet生命周期中没有对象时才调用destroy()方法。而且一个servlet生命周期中只有一次初始化,即只调用一次init(servletconfig)方法。
在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。
写这篇文章的初衷是为了深入的分析PermGen OOM发生的原因,在深入分析的基础之上理解PermGen OOM的应对措施,从"为什么会发生PermGen OOM"到"到底为什么会发生PermGen OOM"。希望对大家更深入的认识PermGen OOM和PermGen OOM的应对措施起到作用。
Java ClassLoader是一个重要的、但又常常被人忽略的 Java 运行时系统组件。它是负责在运行时查找和装入类文件的类。创建自己的 ClassLoader 可以以实用且有趣的方式定制 JVM,这样可以让您彻底重新定义如何将类文件引入系统。 本教程概述了 Java ClassLoader,并指导您构造在装入代码之前自动编译代码的示例 ClassLoader。您将完全了解ClassLoader 的功能以及创建自己的 ClassLoader 需要执行的操作。
JMX越来越多得出现在各种技术杂志、以及社区,如ibm的developerworks和bea的dev2dev。不仅仅是SUN,许多厂商都宣布已经或是准备支持这一技术。IBM、BEA、HP、Marcomedia(JRun)这些大的厂商,而且还有许多小的软件公司和开源项目也都加入了这一行列。为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowoldjmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础。
Swing 的MVC结构、树的概念、树组件JTree的使用、表格组件JTable的使用。
JDBC(Java DataBase Connection,Java数据库连接)由一组用Java语言编写的类和接口组成。JDBC为使用数据库 及其工具的开发人员提供了一个标准的API,使他们能够用Java API来编写数据库应用程序。通过使用JDBC,开发人员 可以很方便地将SQL语句传送给几乎任何一种数据库。<br>DriverManager类是Java.sql包中用于数据库驱动程序管理的类,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接,也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。一般的应用程序只使用它的getConnection()方法。这个方法用来建立与数据库的连接。
JDBC:Java DataBase Connectivity(Java数据库连接技术),它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API--它是一种可用于执行SQL语句的JavaAPI,即由一组用Java语言编写的类与接口所组成)。 有了JDBC从而可以使Java程序员用Java语言来编写完整的数据库方面的应用程序。另外也可以操作保存在多种不同的数据库管理系统中的数据,而与数据库管理系统中数据存储格式无关。同时Java语言的与平台的无关性,不必在不同的系统平台下编写不同的数据库应用程序。
JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail、MS Outlook Express一般的邮件用户代理程序(Mail User Agent,简称MUA)。而不是像sendmail或者其它的邮件传输代理(Mail Transfer Agent,简称MTA)程序那样可以传送、递送、转发邮件。从另外一个角度来看,我们这些电子邮件用户日常用MUA程序来读写邮件,而MUA依赖着MTA处理邮件的递送。
Java安全体系API。Java有着功能完善的API类库,关于密码学的API位于Java安全体系API之中。Java安全体系API分为四部分:JCA、JCE、JSSE和JAAS。<br> JCA:JavaAPI提供基本的加密框架,比如证书、数字签名、消息摘要和密钥产生器。<br> JCE:是JCA的扩展,提供各种算法的实现、密钥管理等功能,主要位于javax.crypto及子包中。<br> JSSE:是Java安全套接字扩展的缩写,主要提供基于SSL安全网络通信的API。<br> JAAS:是Java授权与认证服务的缩写,主要用于登录认证与角色权限等管理的API。<br> JCA和JCE并不提供任何加密算法的实现,只是提供接口供第三方实现加密算法。第三方厂商根据JCE的接口实现加密算法,并打包成Provider(安全提供者),就可以动态地添加到Java之中。加载第三方的JCE实现,主要有两种方式:a.使用JRE的java.security文件在JVM启动时添加;b.使用Provider管理器java.security.Security的静态方法在运行时添加。