自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 centos 5.8 安装zabbix agent

centos5 zabbix agent

2022-07-05 15:14:51 478 1

原创 简单的json字符串和mysql查询sql转义函数

protected String jsonEscape(String val){ StringBuilder builder=new StringBuilder(); for(int i=0;i<val.length();++i){ char c=val.charAt(i); switch (val.charAt(i)){ case '\r':builder.append("\\r"...

2020-06-30 16:59:56 1504

原创 vertx连接mysql数据库PreparedStatement泄漏

vertx的数据库驱动建立与mysql的数据连接时会复用连接,执行完PreparedStatement后不会主动关闭,而且目前也没有提供手工关闭接口,因此如果大量执行预编译sql的话会造成资源泄漏,报错Can't create more than max_prepared_stmt_count statements,造成无法再执行任何语句。要解决这个问题,要么把预编译的sql转换成普通sql,要么通过配置缓存PreparedStatement来解决。缓存配置默认是不设置的,我也不知道为啥,需要代码里

2020-06-18 10:55:11 539

原创 mysql设置从库

1、主库开启binlog日志找到主数据库的配置文件my.cnf,在[mysqld]部分插入如下两行:[mysqld]log-bin=mysql-bin #开启二进制日志binlog_format=mixedserver-id=1 #设置server-idlog-slave-updates=1 #如果主库是其他库的从库的话需要添加此参数,否则从其它库同步的数据不会写入binlog...

2020-04-02 16:18:40 734

原创 vscode Language Support for Java(TM) by Red Hat 插件启动失败

删除%APPDATA%\Code\User\workspaceStorage\ 试试

2020-02-03 21:07:06 3702 1

原创 java使用SimpleDateFormat格式化日期年格式YYYY引发跨年问题

最近排查到一个由错误日期格式问题引发的跨年问题,今天有空了记录下来。在开发中经常使用SimpleDateFormat来进行日期数据的格式化,这里年份项常见的有两种yyyy和YYYY,代码里也能看见混用的情况,通常情况下这两个值返回的结果是一个样的,比如SimpleDateFormat simple=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...

2020-01-02 13:40:28 3930 1

原创 使用asm动态为redisson定时任务生成目标类

Redisson定时任务目标类只接收Runnable实例,我想要的是它可以使用任意类的无参方法作为目标类,所以选择用asm实现了一个动态生成目标类的方法。public class TaskGenerator extends ClassLoader{ private TaskGenerator() { super(TaskGenerator.class.getC...

2019-09-27 11:07:36 188

原创 SpringBoot自定义错误页

在内嵌容器为tomcat的情况下,springboot一个请求发生内部错误需要调用错误页时,其实是在StandardHostValve里查找错误页,再触发一次错误页请求调用。具体代码如下public final void invoke(Request request, Response response) throws IOException, ServletExceptio...

2019-08-07 10:43:05 405 1

原创 postgresql热备配置(二) 基于wal文件传输的温备

基于pg连续归档功能做的温备,适用于对数据延时敏感度低的环境1 主服务器开启连续归档WAL归档 postgresql.conf文件中(默认5分钟写一次日志,我改成了10分钟): a) 需设置wal_level配置参数为replica或更高 b) 设置archive_mode为on c) 使用archive_command配置参数...

2019-06-27 16:26:23 460

原创 获取package下所有class的方法

1 使用guavaClassPath classPath = ClassPath.from(Application.class.getClassLoader());ImmutableSet<ClassPath.ClassInfo> clzs=classPath.getTopLevelClasses("package全路径");for(ClassPath.ClassInfo i...

2019-06-11 17:39:26 1038

原创 mybatis对大量数据的游标查询

mapper定义@Mapperpublic interface NewsRepository { String simpleQuery="select news.id,news.title,news.keywords," + " news.url,news.author," + " data.content,news.i...

2019-06-11 17:26:46 12588 2

原创 centos 7制作软raid0

es优化过程已经有一段时间了,目前观察集群性能瓶颈已经主要在io上,想在没有全ssd环境得情况下测试下raid表现。具体操作其它文档已经写得很清楚了,这里保留下操作提要1、如果分区已经挂载,需要先卸载分区umount /dev/vdb1umount /dev/vdc12、重做分区文件系统fdisk /dev/vdb1fdisk /dev/vdc13、制作raid0mdad...

2019-01-15 10:50:39 1743

原创 mysql导入大量数据时jbd2 io过高效率低下问题

source一个sql大文件到本地mysql时,发现效率奇低,一秒几十个事物左右。iotop发现jbd2这个进程占了99%的io。通过以下方式临时解决问题:mysql&gt;set global sync_binlog=0 ; mysql&gt;set global innodb_flush_log_at_trx_commit=2 ;要彻底处理这个问题的话可写入配置文件。此处s...

2018-07-20 11:24:34 1702

原创 基于zk的分布式锁(leader选举)的实现

做了两版实现,先是直接用zk的接口做的,后来又用curator做了个。主要是用来在集群环境中确定一个主节点来完成一些需要单独执行的任务(我的需求是向es中补充数据)。自己实现的版本,主要思路是抢占式创建一个EPHEMERAL型zk路径,创建成功的就认为是leader,创建失败则作为follower监听此路径,当路径消失时再次抢占。创建zkelection时传入一个监听对象linstener,在zk...

2018-07-03 17:31:34 1193

原创 kafka接口操作topic

翻译主要的创建参数备忘,忒TM烦人的多import com.google.common.collect.ImmutableList;import org.apache.kafka.clients.admin.*;import org.apache.kafka.common.KafkaFuture;import org.apache.kafka.common.config.TopicConf...

2018-06-14 15:04:08 3606 1

原创 mybatis一级缓存失效和游标返回问题

当集成在spring中时1、若mybatis的一个查询方法selectCursor()想要使用游标cursor返回数据集,必须在一个事物方法(@Transactional)中调用,否则会出现无法拉取数据的问题。2、对没有在事物方法(@Transactional)中调用的mybatis普通查询selectObject(),会在每次查询完成后删除localcache,表现为在两次调用selectObj...

2018-06-12 11:40:35 915

翻译 关于双查锁失效问题

一句话总结下整篇文章内容,在某些jdk实现中,对于对象中的单例属性,如果这个单例属性构造函数非默认空函数的话,双查锁可能会出现线程问题。 然而我在i7-4790 openjdk1.8环境下结合文章中的代码和我自己构造的代码做了很多很多的测试,并没有复现出来文中的问题。谁复现出来了麻烦跟我说下^_^原文 The "Double-Checked Locking is Broken" Declarati...

2018-06-06 14:43:48 347 1

原创 postgresql热备配置(一) postgresql安装与基础配置

1、 安装postgresql安装方式参见https://www.postgresql.org/download/。假定环境未Centos 6,已安装gcc 3.6+:yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm安装...

2018-04-11 14:13:53 694

原创 postgresql定时备份脚本

备份pg数据库脚本,并压缩成tar包存储以节省空间,使用crontab定时执行。crontab计划为(以postgres用户每天晚上11点执行):0 23 * * * /var/lib/pgsql/backup.sh &gt;&gt; /data0/backup/pgdata_export.log 2&gt;&amp;1备份脚本为#!/bin/bashexport PATH=/usr/lo...

2018-01-18 09:39:46 1359

原创 流式输出一个矩阵所有子矩阵

输出一个矩阵所有子矩阵

2017-11-10 15:28:31 857

原创 Oauth2做web端SSO的一些临时想法

oauth2跨域sso时的一些想法

2017-11-09 10:37:43 739

原创 简单添加host配置到jvm默认的dns查询缓存中

编写了一个操作,可以自己将定义dns指向添加到jvm的dns查询缓存中,适用于不想将dns配置直接写入系统 /etc/hosts的情况。/** * 从hosts文件中读取dns配置,并加入本地jvm系统缓存中 * @throws NoSuchFieldException * @throws IllegalAccessException * @th

2017-06-16 14:55:51 2521

原创 /lib64/libc.so.6删除救急

编译hadoop 2.7.3时需要protobuf,centos6.5 直接用yum安装的版本太低,无法完成编译。于是从我本地ubuntu环境传了个高版本的过去,然后发现/lib64/libc.so.6版本也太低,一时脑抽竟然想直接用我本地的替换掉这个库,于是把其链接指向的libc-2.12.so给重命名了。然后可怕的事情发生了,执行所有命令都报/libc.so.6错误,再开ssh也连不上了,直接

2017-05-16 10:29:13 3502 1

原创 SpringBoot+Mybatis中使用动态代理方式动态切换datasource

背景:项目原先只有一个数据库(开发工作已基本完成),后来又添加了一个库,两个库数据结构一致,查询逻辑基本一致,只是数据对应的年份不一样,客户提出的需求是根据可以自主选择查询不同年份的数据,而默认框架实现里没有多数据源的方法。项目基础框架:SpringBoot+Mybatis解决方案:有两套系统同时使用这两个库,另外一个系统的同学的解决方案是另开一个服务器,直接使用不同的数据库配

2017-03-17 16:14:02 6286

原创 Tomcat 8.0.0响应get请求时中文乱码问题

问题描述:在已经在应用filter中指定了页面编码为UTF-8的情况下,通过GET方式发送的请求中的中文依然被识别为乱码,而通过POST方式发送的中文识别正常.原因:Tomcat在解析两种不同的请求方式传递的参数时处理出现了问题,应该视为一个BUG,Tomcat 8.0.0以后的版本一定程度上修复了此问题.代码分析:Tomcat解析前台传递过来的参数时使用的类为org.

2017-02-06 15:10:12 4324

原创 gradle build 生成jar前替换配置文件

第一次尝试使用gradle,记录一点经验。问题:用spring boot开发的新项目,开发环境和生产环境的application.properties不一致,每次build发布前还得先改配置文件。方案:第一反应是google一下,但翻来覆去替换关键词,也没有搜到恰当的方案,只能自己动手了。首先考虑到的在build时在脚本里读写properties文件动态替换内容,但这样太不符合我的审美,于是把生产...

2016-11-08 09:25:32 3541

原创 jdbc连接mysq之serverTimezone设定

mysql返回的时间总是有问题,比实际时间要早8小时。检查是jdbc连接的url中配置的时区有问题,原先是jdbc:mysql://172.xx.xx.xx:3306/test?useUnicode=true&characterEncoding=gbk&useSSL=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=fa

2016-06-22 09:38:33 115696 20

原创 获取所有springmvc中注解RequestMapping

检测ClassLoader中所有已加载的类,查找springmvc注解定义的RequestMapping

2016-05-05 10:07:59 4092

原创 兼容https和http协议的java代理服务器代码

最近做的一个http代理小程序,同时支持http和http。1、获取http代理请求的头部信息,区分https还是http,做不同的处理/** * 解析头部信息 * */public final class HttpHeader { private List header=new ArrayList(); private String method; private S

2015-10-18 23:42:03 18314 18

原创 xml字符串转字符串树

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.StringReader;import java.util.Stack;import javax.xml.parsers.

2015-09-14 21:31:59 594

原创 对多线程对订单更新竞争的锁机制的实现-初构

做支付宝支付接入时遇到一个问题,对同一个订单,可能同时存在”支付宝服务器异步通知支付结果更新状态“和“用户主动要求发起查询支付结果更新状态"两个过程。因为在查询要用户已支付订单完成后要向其它系统发起交易请求,所以要求对同一订单,两个过程线程必须在更新时是同步执行的。但如果不区分的对整个更新方法加锁,则并发量又上不去。综合考虑,我决定自行实现一个锁机制,要求加锁后的更新方法做到以下要求:1、对不同的

2015-09-14 21:23:57 1914

原创 centos下tomcat不能使用80端口的问题

1024以下的端口只能由root用户使用,普通权限的tomcat服使用80端口启动时会报没有权限。java.net.BindException: Permission denied :80解决方法:1个做法是更改启动用户为root,不建议。另一种做法是做端口重定向,将发向80的请求改到8080端口处理。执行下面的命令iptables -t nat -A PREROUTING -

2015-05-26 10:25:10 8398

原创 解决centos下安装mysql5.6找不到my.conf与数据库表大小写识别问题

1、关闭mysqlservice mysql stop2、依次执行以下命令,补回my.confcp /usr/share/mysql/my-default.cnf /etc/mv /etc/my-default.cnf /etc/my.cnf3、修改数据库表大小写敏感的问题echo lower_case_table_names=1 >>/etc/my.cnf4、

2015-05-24 20:21:04 8184

原创 android4.0以上应用横屏下解锁恢复的问题

最近做安卓应用时发现一个问题,android activity横屏时,锁屏解锁后从onResume恢复的方法网上说的全是扯淡,API level 13以上正确的做法应该是android:configChanges="screenSize|orientation"

2015-04-13 09:55:47 822

原创 aix无法创建2G以上大文件的问题

oracle数据库备份失败,看下日志是文件太大不被允许创建。如果aix无法创建大文件,可能是用户权限限制的问题,修改/etc/security/limits试试,查看用户权限 ulimit -a。另在网上找到一个此问题另一情况的处理方法,记录一下:ulimit设置fsize=-1不生效的问题修改/etc/security/limits文件,将default项中的fsize改

2015-04-13 09:51:45 1568

原创 java servlet接收微信公众号消息

公众号消息接收与企业号略有区别,主要在token验证上。

2015-01-16 10:00:22 1068

原创 关于在spring中配置quatrz任务执行两次的问题

今天项目中使用quatrz做定时任务时出现了一个问题,所有任务执行时都在相同的时间执行了两次。google了下此问题,发现有不少人遇到过,要么说是web.xml配置出错spring配置文件加载了两次造成的,要么说是修改tomcat的server.xml。测试了下发现都不对。下班吃饭时忽然想起来由于我在servlet中需要使用spring中定义的bean,定义了一个获取spring配置文件中be

2015-01-08 19:15:12 835

原创 java servlet处理微信企业号回调模式

package cn.com.lewis.wx.servlet;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import javax.servlet.ServletException;import javax.servlet.http.HttpSer

2014-11-13 09:45:08 7114

原创 非递归方式将Xml转hashmap对象

/*** 将dom对象转换成hashmap对象(备用函数)* @param document* @return*/public static HashMap xmlToHashMap(Document document){Element root=document.getDocumentElement();NodeList iterator=root.getChildN

2014-10-29 14:37:19 1559

原创 改变Resin-2.1.17返回的server版本信息

这个问题头疼很久了,怎么搜索都搜不到答案,论坛和QQ群问也没人知道。    艹!!!!!!!!!!!!!!!!!!!!!!!!!    网上偶尔几个关于这方面的问题的都是讲resin3及以后的,2和配置文件与3格式完全不同,根本套用不上。     艹!!!!!!!!!!!!!!!!!!!!!!!!!    网上搜了个2.1.17版本的安装包,测试了好多次也没搞定。今天下狠心翻翻安装

2014-02-12 20:34:31 1821

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除