Lixuanbin's Blog

MySQL日期范围分区查询时分区裁剪不正确的问题

最近优化几条业务报表语句的时候,偶然间发现有个按日期分区的表在指定了日期范围后仍然扫描了所有分区,刚开始怀疑是建表语句中分区的写法有问题,以下是原来的分区写法: CREATE TABLE `tblogin_2007` ( `logid` int(11) NOT NULL AUTO_INCREMENT, `appId` varchar(20) NOT NULL, `othe...

利用反射获得数据源连接信息

在生产环境中MySQL以云插件的方式提供给应用,连接凭据由运维掌控而对应用开发者屏蔽,在需要的时候难免有些不便。这时候我们可以采用反射的方式还原出来,代码如下: import java.lang.reflect.Field; import org.apache.log4j.Logger; public class CrackDbInfo { protected static fina...

ExcellentExport导出csv中文乱码问题解决方法

问题: 使用ExcellentExport把HTML table导出为excel时候,如果表格行数过多,会导致无法导出。改为csv可以导出成功,但是下载下来的csv文件在Windows显示乱码。 原因: 在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码需要在文件头加入BOM,否则可能就会出现文件乱码的情况。 解决方...

使用JMX动态设置JVM的HeapDumpPath

设置容器内存溢出时生成堆转存: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data2/log/resin/`date`.hprof 偶尔发生内存溢出后发现生成的heap dump文件直接就叫date.hprof。 搜索了一下发现其实还可以通过JMX去动态修改部分JVM设置: import java.lang.manageme...