- 博客(21)
- 收藏
- 关注
原创 JBOSS和tomcat各自特点和优势
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等开发应用系统常用的功能。作为一个小型的轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,成为目前比较流行的Web 应用服务器。 而JB...
2014-10-10 09:43:42
1233
原创 Web应用系统性能优化
数据库优化:1、建立正确的主键、外键以及索引。2、分离原则:读写分离,业务数据分离。 a)分库 b)分表 c)分区 d)分列(将大的列,不常用的隔离到他表,按需查询)3、选择隔离级别:一些数据对一致性要求不高的,可以适当牺牲一致性,降低加锁阻塞。4、保证事务简短以及去除不必要的锁机制。5、查询优化: a) 避免表内的相关子查询 ...
2014-10-09 17:24:27
294
原创 SQL乐观锁与悲观锁(转)
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的 “ 锁 ” ,即给我们选定的目标数据上锁,...
2014-09-29 10:27:37
157
原创 MappedByteBuffer nio内存映射文件
内存映射文件允许我们创建和修改哪些因为太大而不能放入内存的文件。有了内存映射文件,我们就可以假定整个文件都放在内存中,而且完全可以把它当做非常大的数组来访问。这种方法极大地简化了用于修改文件的代码。import java.io.IOException;import java.io.RandomAccessFile;import java.nio.MappedByteBuffer;im...
2014-09-19 17:23:21
107
原创 java NIO (Java编程思想)
jdK1.4的java.nio.*包中引入了JavaI/O类库,其目的在于提高速度。实际上,旧的I/O包已经使用nio重新实现过,以便充分利用这种速度提高,因此,即使我们不显示的用nio编写代码,也能从中受益。 速度的提高来自于所使用的结构更加接近操作系统执行I/O的方式:通道和缓冲器。我们可以把它想象成一个煤矿,通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送到矿藏的卡车。...
2014-09-19 15:23:13
169
原创 I/O流典型的使用方式
1、缓冲输入文件 如果想打开一个文件用于字符输入,可以使用String或者File对象为参数的FileReader。为了提高速度,我们希望对那个文件进行缓冲,那么我们将产生的引用传给一个BufferedReader构造器。由于BufferedReader也提供了readLine()方法,所以这是我们最终对象和进行读取的接口。当readLine()将返回null时,也就达到了文件的末...
2014-09-18 17:50:36
77
原创 HashMap的性能因子(Java编程思想)
我们可以通过手工调整HashMap来提高其性能,从而满足我们特定应用的需求。为了在调整HashMap时能理解性能的问题,某些术语是必须要了解的: 。容量:表中的桶位数 。初始容量:表在创建时所拥有的桶位数。HashMap和HashSet都具有允许指定初始容量的构造器 。尺寸:表中当前存储的项数 。负载因子:尺寸/容量。空表的负载因子为0...
2014-09-18 11:02:49
183
原创 ArrayList和LinkedList的区别
ArrayList和LinkedList的区别:答:ArrayList底层由数组支持;而LinkedList是由双向链表实现的,其中的每个对象包含数据的同时还包含指向链表中前一个与后一个元素的引用。因此,如果要经常在表中插入或者删除元素,LinkedList就比较合适;否则,应该使用速度更快的ArrayList,因为存过一组元素最快的数据结构是数组。对于背后有数组支撑的List和ArrayList...
2014-09-18 10:37:57
74
原创 HashMap的散列原理
为了速度而散列: 散列的价值在于速度:散列使得查询得以快速进行。由于瓶颈在于键的查询速度,因为解决方案之一就是保持键的排序状态。然后使用Collections.binarySearch()进行查询。 散列则更进一步,它将键保存在某处,以便能够很快找到。存储一组元素最快的数据结构是数组,所以用它来表示键的信息 (请小心留意,这里说的是键的信息,而不是键本身)。但是因为数组不能调整容...
2014-09-18 09:52:49
191
原创 Map学习笔记
Map都有哪些? 答:有HashMap、TreeMap、LinkedHashMap、WeakHashMap、ConcurrentHashMap、IdentityHashMap HashMap: Map基于散列表的实现(它取代了Hashtable)。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能。 HashMap使用了特殊的值,称作散列码,来取代度键的缓慢搜...
2014-09-16 14:14:42
88
原创 Struts2中的ModelDriven机制及其运用(转)
所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象。比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public class User { private int id; private String username; private String passw...
2014-09-15 14:58:14
74
原创 Myeclipse快捷键设置(转)
1、提示键配置 一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual St...
2014-09-15 11:07:16
109
原创 struts2实现简单文件上传
1、jsp页面:<body> ${msg } <form action="${pageContext.request.contextPath}/fileupload/fileupload.action" enctype="multipart/form-data" method="post"> 文件:<input type="file"
2014-09-14 21:28:48
84
原创 如何获取 HttpServletRequest 、HttpSession、ServletContext 、HttpServletResponse
如何获取 HttpServletRequest 、HttpSession、ServletContext 、HttpServletResponse:方法一,通过ServletActionContext类直接获取:public String rsa() throws Exception{ HttpServletRequest request = ServletActionContext.getReq...
2014-09-14 20:40:02
290
原创 struts2的常量
常亮定义:因为常量可以在下面多个配置文件中进行定义,所以我们需要了解struts2加载常量的搜索顺序:struts-default.xmlstruts-plugin.xmlstruts.xmlstruts.propertiesweb.xml如果在多个文件中配置了同一个常量,则后一个文件中配置的常量会覆盖前面文件中配置的。 一些常用的常量:<!-- 指定默认编码值,作用于HttpSe...
2014-09-14 18:33:39
78
原创 Struts2及Struts2开发环境的搭建
struts2是在webwork上发展而来的。Struts2的优点:1、在软件设计上struts2没有像struts1那样跟Servlet API有着紧密的耦合。Struts2属于无入侵式的设计。2、Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现权限拦截等功能。3、Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现同...
2014-09-14 15:10:08
150
原创 系统之间调用乱码的问题
问题发生在两个系统之间,一个系统的编码为utf-8,另一个系统的编码为gbk,utf-8系统调用gbk系统的webservice,其中有个参数为中文,可想而知,参数到达gbk系统时肯定为乱码。用代码模拟如下: String gbk = "2014.7月提前挂账"; String remark = new String(gbk.getBytes("utf-...
2014-09-11 17:38:15
612
原创 SQL state [72000]; error code [12899]的错误
调用系统:org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access: SQLException for SQL [update MEMBER_ACCOUNT set VERSION=?, STATUS=?, REMARK=?, MODIFYTIME=?,...
2014-09-09 15:21:40
14874
原创 斐波那契数列的实现
public interface Generator<T> { T next();}public class Fibonacci implements Generator<Integer>{ private int count = 0; public Integer next(){ return fib(count++); } private int fib(int...
2014-09-09 10:35:05
108
原创 Java实现动态代理
1、 简单代理模式的实现。 interface Interface{ void doSomething(); void doSomethingElse(String arg);}class RealObject implements Interface{ public void doSomething(){ System.out.println("doSomething"); } ...
2014-09-05 16:07:58
89
原创 如何实现自定义jsp标签
1、实现标签类,继承自TagSupport,实现doStartTag()方法。public class AliasTag extends TagSupport { private String memberid; @Override public int doStartTag() throws JspException { JspWriter out = this.pageContext...
2014-09-04 17:31:15
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人