- 浏览: 185698 次
- 性别:
- 来自: 北京
最新评论
-
buddie:
不知道为什么图片丢了,又重新补的图片
AC多模式匹配算法 -
buddie:
380226205 写道二楼能直接解决问题,楼主的代码有bug ...
关于使用代码创建ProgressBar -
380226205:
二楼能直接解决问题,楼主的代码有bug,不知道哪儿copy过来 ...
关于使用代码创建ProgressBar -
qqyumidi:
这样用广播实现感觉太 “重” 了
关于Activity之间传递Handler问题的变通使用广播来解决问题 -
hyp712:
ProgressBar progressBar = new P ...
关于使用代码创建ProgressBar
文章列表
Log4j2中properties配置文件
- 博客分类:
- Log4j2
原工作组比较清闲,被临时借调到新的工作组。组长给了个任务是把Log4j的XML配置文件改成properties,原因是XML格式的看着不舒服。哈,以上不算吐槽,只是交待一下,为什么我要这么费劲的使用properties做配置文件。
Log4j2 一开始抛弃了properties配置文件格式,到2.4版本时,又开始支持properties配置文件格式。到2.6版本又有新的要求。我用的是写本文时的最近版本2.8
status = error
property.LOG_HOME=/output/logs
property.BACKUP_HOME=backup
property.SER ...
为了防止SQL注入,MyBatis在调用Mapper中的SQL语句是,会为变量值自动加单引号
如
select * from table_a where name=#{name}
如果变量name=“abc”,则实际执行的SQL语句为
select * from table_a where name='abc'
但如果变量是表名,就会出现问题
如
create table if not exists #{tableName}(name varchar(128))
如果变量tableName="abc",则实际执行的SQL为
cre ...
本文以slf4j.1.7.19为源码展示样例。
项目中用的Appender是org.apache.log4j.RollingFileAppender
在配置文件中加以下两句可以减少磁盘IO操作
log4j.appender.all.bufferedIO=true
log4j.appender.all.bufferSize=81920
第一个表示IO使用缓冲区;
第二个参数表示缓冲区的大小,单位是B,字节;
相关源码如下:org.apache.log4j.FileAppender
public
synchronized
void set ...
Windows7修改socket默认缓冲区大小
- 博客分类:
- 网络
在工作中,遇到游戏服通过UDP协议向日志服发送日志时,日志服有时无法识别游戏服发送过来的日志消息。
通过抓包发现,Windows收到的数据包大小,比实例的数据包小。
猜测是Windows socket 缓冲区大小设置问题。尝试把Windows socket 缓冲区大小调整变大,解决问题。
打开注册表regedit:
[HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet\Services\Afd\Parameters]
DefaultReceiveWindow = 1800 (16进制)
DefaultSendWindow = 1800(1 ...
Eclipse工具有自带的调试远程Java项目的功能。
当然,使用Eclipse远程调试工具的前提是远程的Java项目需要支持远程调试。
这里我们以远程调试Tomcat容器中的JavaEE项目为例。纯Java项目也是同样的道理。
这里我们需要使用JPDA(JavaTM Platform Debugger Architecture),从J2SE1.4.2就已经设计并实现了这种体系结构。
JPDA体系结构又包括3个主要组成部分:JVM TI、JDI和JDWP。
其中JVM为Java Virtual Machine Tool Interface,JDI为Java Debug Interf ...
最近因工作需要,要在两台Linux服务器之间传输文件夹。
Linux命令选择是SCP,SCP命令的基本格式如下:
scp -p port user@serverip:/home/user/filename /home/user/filename
以上端口p 为参数,port 端口;
user 为远程服务器的用户;
serverip ...
SVN打标签Window批处理脚本tag_svn.bat:
set trunk_path=svn://.....
set tag_path=%trunk_path%/tag
set version=%1
svn mkdir %tag_path%/t_%version% -m "mkdir tags %version%"
svn cp %trunk_path%/somdir %tag_path%/t_%version%/server -m "somedir tags %version%"
首先 ...
Linux自动备份MySQL数据库
- 博客分类:
- Linux
今天要说的是利用Linux系统的crontab来定时使用mysqldump来备份数据库。
首先,创建用于存放备份数据库文件的目录
cd /www/webapp/projectName
mkdir db_bak
然后,到/usr/sbin/目录下,创建自动备份数据库的脚本
cd /usr/sbin/
mkdir bakdb
vi projectName_bak
//内容如下
rq=`date +%Y%m%d`
/usr/local/mysql/bin/mysqldump -h127.0.0.1 -uusername -ppassword dbname ...
JVM垃圾收集算法及垃圾收集器
- 博客分类:
- Java
今天来总结一下最近学习到的JVM垃圾收集算法和垃圾收集器。原来以为这部分知识,对于一个Java程序员的用处不大,可是如果你的运营Web项目,出现了性能问题,那么这部分知识可以帮助你从运维的角度来优化你的项目。
首先,先讲一下JVM的垃圾收集算法,因为这是学习垃圾收集器的前堤。各种垃圾收集器也都是基于这些算法来实现的。
JVM垃圾收集算法
JVM垃圾收集算法有四种:标记-清除算法、复制算法、标记-整理算法、分代收集算法
标记-清除算法:
该算法如同它的名字一样,分为两个阶段:标记、清除。首先标记出所有需要回收的对 ...
今天看了一个帖子,帖子里中提到了“tomcat怎么保证jsp在修改后生效”,最后从评论中得到了答案。这里我自己也整理一下,留用。原文地址:http://tywo45.iteye.com/blog/1768354
JSP页面的最终归宿也是Class(JSP->Servlet->Class),为什么同样是Class,一般情况下(Tomcat server.xml中reloadable=false)修改了JSP后,会生效,而修改了Class文件后,不会生效,而要重启呢?
这是因为Tomcat对JSP进入了侦听,如果有修改,就会重新翻译成Servlet并最终编译成Class文件,替换掉 ...
使用Maven编译Web项目中,因为Maven的编译器并不知道Web容器中jar包,所以需要为Maven提供Web容器中的servlet-api.jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency&g ...
昨天晚上写了一个Maven的小例子,在连接MySQL数据库时,总是报“Unknown character set: 'utf8mb4'”的错误,在确认了数据库的编码确实是“UTF-8”,并且数据库的配置文件也是以“UTF-8”编码的情况下,此错误依然存在。
后来在网上查到,可能是MySQL驱动版本的问题。
将pom文件中的
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
...
find . -maxdepth 1 -name "@*" 这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找,不进入子目录,如果你要从/目录开始找就:find / -maxdepth 1 -name "@*" 如果想搜全盘,就把-maxdepth 1 去掉
Java堆内存大小设置:-Xms最小值 -Xmx最大值 内存不足时:
java.lang.OutofMemoryError:Java heap space;
虚拟机栈和本地方法栈设置: -Xss 内存不足时:
java.lang.StackOverflowError
方法区(永久代)设置:-XX:PermSize和-XX:MaxPermSize 内存不足时:
java.lang.OutofMemorError:PermGen space
本机直接内存设置:-XX:MaxDirectMemorySize 内存不足时:
java.lang. ...