- 浏览: 10068 次
- 性别:
- 来自: 江西
最新评论
文章列表
一 Session的简介
1.Session出现的原因是Cookie存在的缺点:
Cookie的缺点:使用Cookie可以保存上一次请求的状态信息,但是如果传输的数量较多,会降低传输的效率和增大服务端程序处理的难度
2.Session的概念
Session是一种将会 ...
- 2012-03-15 14:50
- 浏览 209
- 评论(0)
(1)请求的重定向
HttpServletResponset接口提供的sendRedirect()方法用于生成302响应码和Location响应头,从而通知客户端去重新访问Location响应头中指定的URL,其完整的定义语法如下:
public void sendRedirect(String location) throws IOException;
其中的location参数指定了重定向的URL,它可以使用绝对URL和相对URL,Servlet容器会自动将相对URL转换成绝对URL后,再生成location头字段。
重定向的例子 response.sendRedirec ...
- 2012-03-15 11:17
- 浏览 639
- 评论(0)
在HttpServlet中,HttpSession对象通常在request.getSession(true)方法调用时才创建。 HttpSession的使用是有代价的,需要占用服务器资源,本着能不浪费就不浪费的原则,我希望系统中的session都在掌握之中,在需要创建时由我们的代码明确创建。但是最近在开发中发现,新的session对象经常在意料之外出现,究竟是谁在创建session呢?
最常见的地方是错误的使用request.getSession()函数,通常在action中检查是否有某个变量/标记存放在session中。这个场景中可能出现没有session存在的情况,正常的判断应该是这样: ...
- 2012-03-14 17:03
- 浏览 231
- 评论(0)
问题描述:
最近遇到一个很棘手的问题,信用卡网上支付的交易越来越多了,日平均交易数量很大,并且这个数据还处在一个上升的阶段,但这仅仅是个开始。我们这边的系统负责给柜员提供一系列报表,数据量比较大,时不 ...
- 2012-03-06 16:21
- 浏览 245
- 评论(0)
为什么要使用数据库连接池?
答:
由于创建连接的代价是很高的, 我们每次访问数据库都重新创建连接的话是非常消耗性的.
我们可以再程序启动的时候先创建出一些连接, 放在一个集合中, 访问数据库的时候从集合中获取, ...
- 2012-03-06 14:28
- 浏览 282
- 评论(0)
定时器
setTimeout(fn, time) 返回timer,用于指定一段时间后执行某函数
setInterval(fn,time) 返回timer,用于周期性执行某函数
fn,可以是字符串组成的javascript代码,也可以是一个函数的名称
clearTimeout(timer)函数,清除setTimeout创建的定时器
clearInterval(timer)函数,清除setInterval指定的定时器
function testsetTimeout(){
window.setTimeout("alert(111);", 3000);
}
var tim ...
- 2012-03-02 17:29
- 浏览 230
- 评论(0)
线程安全就是要控制多个线程对某个资源的有序访问或修改----->也就是可见性和有序性可见性-->为了多个线程之间的数据能够进行通信, 所以需要提供共享变量来解决
Java内存模型(JMM)规定了jvm有主内存,主内存是多个线程共享的。当new一个对象的时候,也是被分配在主内存中,每个线程都有自己的工作内存,工作内存存储了主存的某些对象的副本,当然线程的工作内存大小是有限制的。当线程操作某个对象时,执行顺序如下:(1) 从主存复制变量到当前工作内存 (read and load)
(2) 执行代码,改变共享变量值 (use and assign)
(3) 用工作内存数据刷 ...
- 2012-03-01 23:43
- 浏览 196
- 评论(0)
单线程通信 http://blog.csdn.net/kongxx/article/details/7259436
多线程通信 http://blog.csdn.net/kongxx/article/details/7259465
传输对象 http://blog.csdn.net/kongxx/article/details/7259827
传输压缩对象 http://blog.csdn.net/kongxx/article/details/7259834
使用加密协议传输对象 http://blog.csdn.net/kongxx/article/details/7259837
使 ...
- 2012-02-25 23:19
- 浏览 167
- 评论(0)
cglib是一个强大的高性能的代码生成包,他广泛的被许多的AOP框架使用,例如Spring AOP 和dynaop ,为他们提供方法的拦截(interception),最流行的OR Mapping 工具hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联。在这里要说明的是,jdk提供了动态代理功能,但是被代理类必须要有接口,否则是生成不了代理的,但是cglib生成代理时,不需要目标类有接口,因为它借助了asm直接修改class文件的字节码。
就这个动态代理说开来,其实spring的aop不是什么神秘的东西,就是借助动态代理来实现的,并 ...
- 2012-02-25 01:28
- 浏览 258
- 评论(0)
jdk的动态代理是基于接口的,必须实现了某一个或多个任意接口才可以被代理,并且只有这些接口中的方法会被代理。看了一下jdk带的动态代理 api,发现没有例子实在是很容易走弯路,所以这里写一个加法器的简单示例。// Adder.java
Java代码
- 2012-02-25 01:24
- 浏览 228
- 评论(0)
业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具,还是蛮有意思的呢:)
1:gc日志输出
在jvm启动参数中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime,jvm将会按照这些参数顺序输出gc概要信息,详细信息,gc时间信息,gc造成的应用暂停时间。如果在刚才的参 ...
- 2012-02-25 00:38
- 浏览 188
- 评论(0)
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。
- 2012-02-25 00:15
- 浏览 200
- 评论(0)
先看看最简单的
public class SingleInstance{
private static instance=new SinleInstance();
public static SingleInstance getInstance(){
return instance;
}
}
这个很明了,也确实会返回唯一的实例,但是如果我永远都不会用到SingleInstance.getInstance(),insta ...
- 2012-02-24 13:45
- 浏览 237
- 评论(0)
所有枚举类都继承了Enum的方法,下面我们详细介绍这些方法。
(1) ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。
Color.RED.ordinal(); //返回结果:0
Color.BLUE.ordinal(); //返回结果:1
(2) compareTo()方法: Enum实现了java.lang.Comparable接口,因此可以比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个枚举类,否则会抛出ClassCastException()异常。(具体可见 ...
- 2012-02-13 21:46
- 浏览 260
- 评论(0)