`
文章列表
    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等 ...
数据库优化: 1、建立正确的主键、外键以及索引。 2、分离原则:读写分离,业务数据分离。       a)分库  b)分表  c)分区  d)分列(将大的列,不常用的隔离到他表,按需查询) 3、选择隔离级别:一些数据对一致性要求不高的,可以适当牺牲一致性,降低加锁阻塞。 4、保证事务简短以及去除不必要的锁机制。 5、查询优化:       a) 避免表内的相关子查询       b) 避免排序或者尽可能少的排序       c) 做大量数据排序时,数据尽量放在临时表中       d) 尽量在where后多加查询条件,以减少不必要的返回行。       e) 只selec ...
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 
    内存映射文件允许我们创建和修改哪些因为太大而不能放入内存的文件。有了内存映射文件,我们就可以假定整个文件都放在内存中,而且完全可以把它当做非常大的数组来访问。这种方法极大地简化了用于修改文件的代码。 import java.io.IOException;import java.io.RandomAccessFile;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel; public class LargeMappedFiles { static int length = 0x8ffffff; p ...
    jdK1.4的java.nio.*包中引入了JavaI/O类库,其目的在于提高速度。实际上,旧的I/O包已经使用nio重新实现过,以便充分利用这种速度提高,因此,即使我们不显示的用nio编写代码,也能从中受益。     速度的提高来自于所使用 ...
1、缓冲输入文件      如果想打开一个文件用于字符输入,可以使用String或者File对象为参数的FileReader。为了提高速度,我们希望对那个文件进行缓冲,那么我们将产生的引用传给一个BufferedReader构造器。由于BufferedReader也提供了readLine()方法,所以这是我们最终对象和进行读取的接口。当readLine()将返回null时,也就达到了文件的末尾。 package io; import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException; ...
     我们可以通过手工调整HashMap来提高其性能,从而满足我们特定应用的需求。为了在调整HashMap时能理解性能的问题,某些术语是必须要了解的:      。容量:表中的桶位数      。初始容量:表在创建时所拥有的桶位数。HashMap和HashSet都具有允许指定初始容量的构造器      。尺寸:表中当前存储的项数      。负载因子:尺寸/容量。空表的负载因子为0,而半满表的负载因子为0.5,依次类推。负载轻的表产生的冲突可能性较小,因此对于插入和查找都是最理想的(但是会减慢使用迭代器进行遍历的过程)。HashMap和HashSet都具有允许指定初始容量的构造器 ...
ArrayList和LinkedList的区别:答:ArrayList底层由数组支持;而LinkedList是由双向链表实现的,其中的每个对象包含数据的同时还包含指向链表中前一个与后一个元素的引用。因此,如果要经常在表中插入或者删除元素,LinkedList就比较合适;否则,应该使用速度更快的ArrayList,因为存过一组元素最快的数据结构是数组。对于背后有数组支撑的List和ArrayList,无论列表的大小如何,这些访问都很快速和一致;而对于LinkedList,访问时间对于较大的列表明显增加。很显然,如果你需要执行大量的随机访问,链接链表不会是一种好的选择。     对于ArrayLis ...
为了速度而散列:        散列的价值在于速度:散列使得查询得以快速进行。由于瓶颈在于键的查询速度,因为解决方案之一就是保持键的排序状态。然后使用Collections.binarySearch()进行查询。 散列则更进一步,它将键保存在 ...
Map都有哪些? 答:有HashMap、TreeMap、LinkedHashMap、WeakHashMap、ConcurrentHashMap、IdentityHashMap HashMap: Map基于散列表的实现(它取代了Hashtable)。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能。 HashMap使用了特殊的值,称作散列码,来取代度键的缓慢搜索。散列码是“相对唯一”的,用以代表对象的int值,它是通过将该对象的某些信息进行转换而生成的。 hashCode()是根类Object中的方法,因为所有的java对象都能生成散列码。 HashMap就 ...
 所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象。比如,有实体类User如下:   package cn.com.leadfar.struts2.actions;   public class User {     private 
1、提示键配置             一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话, ...
1、jsp页面: <body>   ${msg }    <form action="${pageContext.request.contextPath}/fileupload/fileupload.action" enctype="multipart/form-data" method="post">     文件:<input type="file" name="file"><input type="submit" value= ...
如何获取 HttpServletRequest 、HttpSession、ServletContext 、HttpServletResponse:方法一,通过ServletActionContext类直接获取:public String rsa() throws Exception{ HttpServletRequest request = ServletActionContext.getRequest(); ServletContext servletContext = ServletActionContext.getServletContext(); request.getSession( ...
常亮定义:因为常量可以在下面多个配置文件中进行定义,所以我们需要了解struts2加载常量的搜索顺序:struts-default.xmlstruts-plugin.xmlstruts.xmlstruts.propertiesweb.xml如果在多个文件中配置了同一个常量,则后一个文件中配置的常量会覆盖前面文件中配置的。   一些常用的常量:<!-- 指定默认编码值,作用于HttpServletRequest的setCharacterEncoding方法和freemarker、velocity的输出 --> <constanst name="struts.i18 ...
Global site tag (gtag.js) - Google Analytics