- 浏览: 86580 次
- 性别:
- 来自: 北京
最新评论
-
遇见那只猫:
太感谢你了,这个问题困扰我很久了,每次都弹出来。而且还影响ec ...
Eclipse: Subversion Connector Discover弹出框 -
luyuwww:
佩服.用到了.感谢
Eclipse: Subversion Connector Discover弹出框 -
tp7300:
博主大才,好毅力
Eclipse: Subversion Connector Discover弹出框 -
riching:
牛逼,佩服你
Eclipse: Subversion Connector Discover弹出框 -
天涯牧风:
学习了~
JAVA程序性能分析及调优浅析
文章列表
Spring引用配置文件方式
1、CLASSPATH
<context:property-placeholder location="classpath:configdir/*.properties"/>
这种就不多讲,一般都这么用!
2、FILE
<context:property-placeholder location="file://${config}/*.properties"/>
在生产环境中,配置文件往往在指定的目录下,而不是在CLASSPATH下面,这种方式这比较好!
${config} 是环境变量,在Ec ...
finally解析:
public static int inc() {
int i;
try{
i = 2;
return i;
}catch(Exception e) {
i = 3;
return i;
}finally {
i = 4;
}
}
该方法返回值:
正常情况返回2,异常情况下返回3,未知异常不返回任何值
注意:
1、方法本身的执行顺序是try{} - finally{} - return
2、由于虚拟机栈的执行机制,具体执行是:
执行 i = 2 ...
关于GET和POST提交大小限制的一些说明
1、HTTP协议本身对GET和POST都没有提交大小限制
2、GET提交大小限制一般由浏览器(IE大概是2K)和操作系统本身来限制
3、POST提交大小限制一般都是由服务器来设置的(比如TOMCAT默认是2M,IIS6.0默认是200KB等)
举例,TOMCAT调整POST大小限制,
打开TOMCAT的conf/server.xml 文件,在<Connector> </Connector>中添加如下:
<Connector maxPostSize="0"></Connector&g ...
Tomcat启动时类加载顺序
第一阶段:
JVM启动相关
1.$JAVA_HOME/jre/lib/ext/*.jar
2.环境变量CLASSPATH中的*.jar和*.class
第二阶段:
TOMCAT启动相关
1.$CATALINA_HOME/common/classes/*.class
2.$CATALINA_HOME/commons/endorsed/*.jar
3.$CATALINA_HOME/commons/i18n/*.jar
4.$CATALINA_HOME/common/lib/*.jar文件。
注意:JDBC驱动之类的jar文件可以放在这里,这样 ...
在吗
ABCD 13:09:12
你是?
..... 13:09:23
XXX
ABCD 13:09:31
好久不见
..... 13:09:39
恩
呵呵
ABCD 13:09:39
呵呵
你现在在那边?
..... 13:09:58
襄阳啊
ABCD 13:10:19
你回家了??
没在外面了?
..... 13:10:28
恩
ABCD 13:11:07
什么时候会襄阳的?
怎么没在外面闯荡了?
..... 13:11:49
回去有点事
ABCD 13:12:54
打算在家定居了?
..... 1 ...
tar是Linux常用的压缩与解压缩命令,可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
x 从档案文件中释放文件。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份 ...
现象:
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring-beans-3.1.xsd', because 1) could not find the document; 2) the document could not be read; 3)
分析:
参考http://blog.csdn.net/bluishglc/article/details/7596118
这篇文章分析 ...
chmod控制档案如何被他人所存取
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案属主、属组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
参数格式 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的属主,g 表示与该档案的属主属于同一个群体(group)的属组,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限(对应数值0)、= ...
chown可以将文件(含目录)的拥有者加以改变。一般来说,这个指令只有是由系统管理员(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
参数格式 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥 ...
1. 根据进程查看端口
netstat -anp | grep java或者netstat -anp | grep pid
tcp 0 0 ::ffff:192.168.227.50:2181 ::ffff:10.12.162.22:33172 ESTABLISHED 1359/java
其中"::ffff:192.168.227.50:2181"表示本地地址,2181即是进程对应的端口
2. 根据端口查看进程
lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
java ...
java里面用synchronized修饰方法时:
对于同一个对象的来说
调用synchronized修饰的方法会相互阻塞,调用非synchronized修饰的方法,相互不会阻塞(没有任何限制)
对不同对象来说,则没有以上任何限制
linux vi命令的正则替换
vi替换命令格式如下:
:range cmd /pattern1/pattern2/qualifier
其中
:这是vi的命令模式
range 是命令执行范围的指定,可以使用
% : 表示所有行,
. :表示当前行
$ :表示最后一行
还可以使用行号,例如10,20表 示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。
cmd 表示操作命令
比如s表示其后是一个替换命令,类似Perl的替换函数。
pattern1 要查找并替换的一个正则表达式。
pattern2 希望把匹配串变成的模式 ...
vi命令使用简介
打开文本
vi filename : 打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
插入文本
i :在光标前
I :在当前行首
a :光标后
A :在当前行尾
o :在当前 ...
Spring装配Bean的过程
1. 实例化;
2. 设置属性值;
3. 如果实现了BeanNameAware接口,调用setBeanName设置Bean的ID或者Name;
4. 如果实现BeanFactoryAware接口,调用setBeanFactory 设置BeanFactory;
5. 如果实现ApplicationContextAware,调用setApplicationContext设置ApplicationContext
6. 调用BeanPostProcessor的预先初始化方法;
7. 调用InitializingBean的afterProper ...
1、数据库编程中采用预编译(PreparedStatement)
2、避免代码里面的循环数据库查询(仔细梳理业务,基本都可以提取到循环外,而且这里往往容易产生瓶颈)
3、避免代码里面的循环数据库更新处理(插入、更新等),尽量采用批量方式
4、避免生产新的,耗时的对象,即消耗内存,又消耗CPU
比如有业务需求需要数据方法调用轨迹,有人采用new一个Throwable(这个即耗时,又
耗内存,visilvmCPU采样生成该对象及调用要消耗整个调用链4%左右的CPU时间)去实
现,实际上采用Thread.currentThread即可实现,CPU消耗明显下降!
5、使用pri ...