摘要:
java本身就支持多国语言编码,不需要写任何程序,可以很简单的 实现。 秘诀就是两点:
1、所有html/jsp页面全部采用utf-8编码
2、客户端浏览器完全支持utf-8编码
步骤: 1、首先把所有的html/jsp的contenttype都设为utf-8
2、然后对于jsp程序中的非ascii码提示信息都不应该写在程序里面,都应该放在 application.prope......
摘要:
谈谈j2se中的序列化(二)
作者:favo yang
favoyang@yahoo.com
当序列化遇到继承…
当一个父类实现serializable接口后,他的子类都将自动的实现序列化。
以下验证了这一点:
package serial;
import java.io.serializable;
public class superc imp......
J2SE 5.0新特性 之 线程
j2se 5.0新特性 之 线程
1.1. 进程.线程与线程池 【程序编程相关:
Visual Studio:针对 Jav】
作者:汪泓(hongwang_001@163.com) 【推荐阅读:
利用日志和过滤器生成用户访问日志】
线程则是进程中的一个“单一连续控制的流程”,一个进程中可以拥有多个并行的线程.但线程不能单独存在,它依附于进程,只能从进程中派生而来.如果一个进程派生出了两个线程,那这两个线程共享此进程的全局变量与代码段,但每个线程各拥有各自的堆栈,因此它们拥有各自的局部变量. 【扩展信息:
web.xml和struts-confi】
所谓进程是一种在自身定址空间中执行的相对独立的程序,是现代操作系统的基石.现在的多任务操作系统,会周期性地将cpu的时间划分给每一个进程,使操作系统得以同时执行一个以上的程序.
在了解了线程的概念后,下面我们就可以进入正题,现在先来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的处理流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠的线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又恢复到睡眠状态.这种方法的引入,会减少频繁创建与销毁线程所带来的系统负担,从而留出更多的cpu时间与内存来处理实际的应用逻辑.
1.2. java的线程概述
在 java 编程的早期阶段,位于 oswego 市的纽约州立大学(suny) 的一位教授doug lea决定创建一个简单的库,以帮助开发人员构建可以更好地处理多线程情况的应用程序.这并不是说用现有的库就不能实现,但是就像有了标准网络库一样,用经过调试的.可信任的库更容易自己处理多线程.在 addision-wesley 的一本相关书籍«concurrent programming in java: design principles and patterns»的帮助下,这个库变得越来越流行了.最终,作者 doug lea 决定设法让它成为 java 平台的标准部分 —— jsr-166.这个库最后变成了 tiger 版本的 java.util.concurrent 包.以下我们将针对j2se(tm)5.0中引入的关于线程方面的新内容进行详细的介绍.
1.3. collection部分的扩容
1.3.1. queue 接口
java.util 包为collection提供了一个新的基本接口:java.util.queue.虽然肯定可以在相对应的两端进行添加与删除而将 java.util.list 作为队列对待,但是这个新的 queue 接口提供了支持添加.删除与检查集合的更多方法,如下所示:
public boolean offer(object element)
public object remove()
public object poll()
public object element()
public object peek()
对于队列中大小限制,比如想在一个满的队列中加入一个新项,这时新的 offer 方法就可以起到相应的作用了.它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false.remove() 与 poll() 方法都是从队列中删除第一个元素(head).remove() 的行为与原有的 collection 接口相似,但是新的 poll() 在用空集合调用时不是抛出异常,只是返回 null.因此新的方法更适合更容易出现在有其他异常条件的情况之中.后两个方法 element() 与 peek() 用于在队列的头部查询元素.与 remove() 方法类似,在队列为空时,element() 抛出一个异常,而 peek() 返回 null.
j2se(tm)5.0 中,queue有两种实现方式:通过实现新增的 blockingqueue 接口以及直接实现queue接口.下面是用linkedlist作为queue 使用的一种方法
1.3.1.1. queue 的实现
queue queue = new linkedlist();
queue.offer("1");...
下一页 摘要:
事务和批处理缺省情况下,jdbc 驱动程序运行在被称为自动提交(autocommit)的模式下。在这个模式下,发送到数据库的所有命令运行在它们自己的事务中。虽然这用起来很方便,但它带来了性能损失,因为事务需要一定数量的开销来作适当地设置。如果您想能够明确地控制提交和回滚,就需要用下面的语句禁用自动提交模式(我们仍然认为你声明的connection对象为conn):conn.setautocomm......