![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经验总结
喵主子
懒喵
展开
-
centos 5.8 安装zabbix agent
centos5 zabbix agent原创 2022-07-05 15:14:51 · 500 阅读 · 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 · 1521 阅读 · 0 评论 -
vscode Language Support for Java(TM) by Red Hat 插件启动失败
删除%APPDATA%\Code\User\workspaceStorage\ 试试原创 2020-02-03 21:07:06 · 3718 阅读 · 1 评论 -
java使用SimpleDateFormat格式化日期年格式YYYY引发跨年问题
最近排查到一个由错误日期格式问题引发的跨年问题,今天有空了记录下来。在开发中经常使用SimpleDateFormat来进行日期数据的格式化,这里年份项常见的有两种yyyy和YYYY,代码里也能看见混用的情况,通常情况下这两个值返回的结果是一个样的,比如SimpleDateFormat simple=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...原创 2020-01-02 13:40:28 · 3981 阅读 · 1 评论 -
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 · 736 阅读 · 0 评论 -
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 · 696 阅读 · 0 评论 -
mybatis一级缓存失效和游标返回问题
当集成在spring中时1、若mybatis的一个查询方法selectCursor()想要使用游标cursor返回数据集,必须在一个事物方法(@Transactional)中调用,否则会出现无法拉取数据的问题。2、对没有在事物方法(@Transactional)中调用的mybatis普通查询selectObject(),会在每次查询完成后删除localcache,表现为在两次调用selectObj...原创 2018-06-12 11:40:35 · 939 阅读 · 0 评论 -
关于双查锁失效问题
一句话总结下整篇文章内容,在某些jdk实现中,对于对象中的单例属性,如果这个单例属性构造函数非默认空函数的话,双查锁可能会出现线程问题。 然而我在i7-4790 openjdk1.8环境下结合文章中的代码和我自己构造的代码做了很多很多的测试,并没有复现出来文中的问题。谁复现出来了麻烦跟我说下^_^原文 The "Double-Checked Locking is Broken" Declarati...翻译 2018-06-06 14:43:48 · 354 阅读 · 1 评论 -
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 · 3634 阅读 · 1 评论 -
基于zk的分布式锁(leader选举)的实现
做了两版实现,先是直接用zk的接口做的,后来又用curator做了个。主要是用来在集群环境中确定一个主节点来完成一些需要单独执行的任务(我的需求是向es中补充数据)。自己实现的版本,主要思路是抢占式创建一个EPHEMERAL型zk路径,创建成功的就认为是leader,创建失败则作为follower监听此路径,当路径消失时再次抢占。创建zkelection时传入一个监听对象linstener,在zk...原创 2018-07-03 17:31:34 · 1199 阅读 · 0 评论 -
mysql导入大量数据时jbd2 io过高效率低下问题
source一个sql大文件到本地mysql时,发现效率奇低,一秒几十个事物左右。iotop发现jbd2这个进程占了99%的io。通过以下方式临时解决问题:mysql>set global sync_binlog=0 ; mysql>set global innodb_flush_log_at_trx_commit=2 ;要彻底处理这个问题的话可写入配置文件。此处s...原创 2018-07-20 11:24:34 · 1717 阅读 · 0 评论 -
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 · 12642 阅读 · 2 评论 -
获取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 · 1048 阅读 · 0 评论 -
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 · 463 阅读 · 0 评论 -
SpringBoot自定义错误页
在内嵌容器为tomcat的情况下,springboot一个请求发生内部错误需要调用错误页时,其实是在StandardHostValve里查找错误页,再触发一次错误页请求调用。具体代码如下public final void invoke(Request request, Response response) throws IOException, ServletExceptio...原创 2019-08-07 10:43:05 · 411 阅读 · 1 评论 -
使用asm动态为redisson定时任务生成目标类
Redisson定时任务目标类只接收Runnable实例,我想要的是它可以使用任意类的无参方法作为目标类,所以选择用asm实现了一个动态生成目标类的方法。public class TaskGenerator extends ClassLoader{ private TaskGenerator() { super(TaskGenerator.class.getC...原创 2019-09-27 11:07:36 · 188 阅读 · 0 评论 -
postgresql定时备份脚本
备份pg数据库脚本,并压缩成tar包存储以节省空间,使用crontab定时执行。crontab计划为(以postgres用户每天晚上11点执行):0 23 * * * /var/lib/pgsql/backup.sh >> /data0/backup/pgdata_export.log 2>&1备份脚本为#!/bin/bashexport PATH=/usr/lo...原创 2018-01-18 09:39:46 · 1369 阅读 · 0 评论 -
Oauth2做web端SSO的一些临时想法
oauth2跨域sso时的一些想法原创 2017-11-09 10:37:43 · 741 阅读 · 0 评论 -
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 · 8404 阅读 · 0 评论 -
解决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 · 8202 阅读 · 0 评论 -
android4.0以上应用横屏下解锁恢复的问题
最近做安卓应用时发现一个问题,android activity横屏时,锁屏解锁后从onResume恢复的方法网上说的全是扯淡,API level 13以上正确的做法应该是android:configChanges="screenSize|orientation"原创 2015-04-13 09:55:47 · 824 阅读 · 0 评论 -
aix无法创建2G以上大文件的问题
oracle数据库备份失败,看下日志是文件太大不被允许创建。如果aix无法创建大文件,可能是用户权限限制的问题,修改/etc/security/limits试试,查看用户权限 ulimit -a。另在网上找到一个此问题另一情况的处理方法,记录一下:ulimit设置fsize=-1不生效的问题修改/etc/security/limits文件,将default项中的fsize改原创 2015-04-13 09:51:45 · 1580 阅读 · 0 评论 -
java servlet接收微信公众号消息
公众号消息接收与企业号略有区别,主要在token验证上。原创 2015-01-16 10:00:22 · 1069 阅读 · 0 评论 -
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 · 7122 阅读 · 0 评论 -
关于在spring中配置quatrz任务执行两次的问题
今天项目中使用quatrz做定时任务时出现了一个问题,所有任务执行时都在相同的时间执行了两次。google了下此问题,发现有不少人遇到过,要么说是web.xml配置出错spring配置文件加载了两次造成的,要么说是修改tomcat的server.xml。测试了下发现都不对。下班吃饭时忽然想起来由于我在servlet中需要使用spring中定义的bean,定义了一个获取spring配置文件中be原创 2015-01-08 19:15:12 · 840 阅读 · 0 评论 -
非递归方式将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 · 1565 阅读 · 0 评论 -
对多线程对订单更新竞争的锁机制的实现-初构
做支付宝支付接入时遇到一个问题,对同一个订单,可能同时存在”支付宝服务器异步通知支付结果更新状态“和“用户主动要求发起查询支付结果更新状态"两个过程。因为在查询要用户已支付订单完成后要向其它系统发起交易请求,所以要求对同一订单,两个过程线程必须在更新时是同步执行的。但如果不区分的对整个更新方法加锁,则并发量又上不去。综合考虑,我决定自行实现一个锁机制,要求加锁后的更新方法做到以下要求:1、对不同的原创 2015-09-14 21:23:57 · 1922 阅读 · 0 评论 -
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 · 598 阅读 · 0 评论 -
简单添加host配置到jvm默认的dns查询缓存中
编写了一个操作,可以自己将定义dns指向添加到jvm的dns查询缓存中,适用于不想将dns配置直接写入系统 /etc/hosts的情况。/** * 从hosts文件中读取dns配置,并加入本地jvm系统缓存中 * @throws NoSuchFieldException * @throws IllegalAccessException * @th原创 2017-06-16 14:55:51 · 2528 阅读 · 0 评论 -
/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 · 3531 阅读 · 1 评论 -
SpringBoot+Mybatis中使用动态代理方式动态切换datasource
背景:项目原先只有一个数据库(开发工作已基本完成),后来又添加了一个库,两个库数据结构一致,查询逻辑基本一致,只是数据对应的年份不一样,客户提出的需求是根据可以自主选择查询不同年份的数据,而默认框架实现里没有多数据源的方法。项目基础框架:SpringBoot+Mybatis解决方案:有两套系统同时使用这两个库,另外一个系统的同学的解决方案是另开一个服务器,直接使用不同的数据库配原创 2017-03-17 16:14:02 · 6313 阅读 · 0 评论 -
Tomcat 8.0.0响应get请求时中文乱码问题
问题描述:在已经在应用filter中指定了页面编码为UTF-8的情况下,通过GET方式发送的请求中的中文依然被识别为乱码,而通过POST方式发送的中文识别正常.原因:Tomcat在解析两种不同的请求方式传递的参数时处理出现了问题,应该视为一个BUG,Tomcat 8.0.0以后的版本一定程度上修复了此问题.代码分析:Tomcat解析前台传递过来的参数时使用的类为org.原创 2017-02-06 15:10:12 · 4328 阅读 · 0 评论 -
gradle build 生成jar前替换配置文件
第一次尝试使用gradle,记录一点经验。问题:用spring boot开发的新项目,开发环境和生产环境的application.properties不一致,每次build发布前还得先改配置文件。方案:第一反应是google一下,但翻来覆去替换关键词,也没有搜到恰当的方案,只能自己动手了。首先考虑到的在build时在脚本里读写properties文件动态替换内容,但这样太不符合我的审美,于是把生产...原创 2016-11-08 09:25:32 · 3559 阅读 · 0 评论 -
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 · 116026 阅读 · 20 评论 -
获取所有springmvc中注解RequestMapping
检测ClassLoader中所有已加载的类,查找springmvc注解定义的RequestMapping原创 2016-05-05 10:07:59 · 4113 阅读 · 0 评论 -
兼容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 · 18362 阅读 · 18 评论 -
改变Resin-2.1.17返回的server版本信息
这个问题头疼很久了,怎么搜索都搜不到答案,论坛和QQ群问也没人知道。 艹!!!!!!!!!!!!!!!!!!!!!!!!! 网上偶尔几个关于这方面的问题的都是讲resin3及以后的,2和配置文件与3格式完全不同,根本套用不上。 艹!!!!!!!!!!!!!!!!!!!!!!!!! 网上搜了个2.1.17版本的安装包,测试了好多次也没搞定。今天下狠心翻翻安装原创 2014-02-12 20:34:31 · 1829 阅读 · 0 评论