`
buddie
  • 浏览: 183016 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
原工作组比较清闲,被临时借调到新的工作组。组长给了个任务是把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 ...
在工作中,遇到游戏服通过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系统的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程序员的用处不大,可是如果你的运营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> ...

Linux相关

find . -maxdepth 1 -name "@*" 这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找,不进入子目录,如果你要从/目录开始找就:find / -maxdepth 1 -name "@*" 如果想搜全盘,就把-maxdepth 1 去掉

JVM参数

    博客分类:
  • Java
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. ...
Global site tag (gtag.js) - Google Analytics