- 博客(120)
- 资源 (1)
- 收藏
- 关注
原创 java agent实现dubbo灰度发布DEMO
核心代码DEMO,仅供参考:package com.zcm.transform.premain;import javassist.*;import java.io.File;import java.io.IOException;import java.lang.instrument.ClassFileTransformer;import java.lang.in...
2018-04-25 17:11:29 1094
原创 LOG4J在junit中自动加载
InputStream log4j = Yourclass.class.getClass().getResourceAsStream("/log4j.properties");PropertyConfigurator.configure(log4j);
2018-04-13 13:44:08 549
原创 面试经典题目,欢迎补充答案
javajava中用到树结构的集合类Future 和 FutureTask 的区别 ThreadLocal 内存泄漏的本质(聊到了gc,强引用弱引用) Spring怎么选择jdk和cglib事务的本质Spring是如何创建proxy的 .java 文件变成.class 文件的具体过程jvm是如何加载类的jvm是如何执行代码的jstack jav...
2018-03-27 16:42:25 236
原创 AtomicStampedReference、Integer缓存机制、Java自动装箱三大知识点
package com.jvm.cas;import org.junit.Test;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicStampedReference;/** * Created by ZhouChenmin on 2018/3/24. */pub...
2018-03-27 15:03:00 182
原创 Java四大引用类型
强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。 软引用:非必须引用,内存溢...
2018-03-14 14:13:12 396
原创 Java实现深克隆
引用至:http://blog.csdn.net/kenthong/article/details/5758884import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;...
2018-03-13 08:52:02 177
原创 Spring的BeanFactoryPostProcessor和BeanPostProcessor
传送门: http://blog.csdn.net/caihaijiang/article/details/35552859
2018-01-08 11:45:31 134
原创 nginx根据cookie实现重定向式灰度(AB)发布需求
大家知道,一般情况下,灰度(AB)发布需求设置nginx都只到/,但如果有/xxx要重定向到/yyy/xxx呢,这种我们知道用 rewrite,但是注意rewrite后面一定要跟break,官方文档解释如下:When the URI is changed inside a proxied location using the rewrite directive, and this ...
2017-11-01 14:07:41 830
原创 nginx根据COOKIE信息重定向URL并将COOKIE转换为QUERYSTRING
location /{ set $ody_cookie ""; if ($http_cookie ~* "ody_ab_gray_group=(.*)"){ set $ody_cookie "ody_ab_gray_group=$1"; } if ($query_string ~* "^\?.*"){ rewrite ^(.*) ^$1&$ody_cooki...
2017-10-17 18:13:05 1561
原创 GCLOG下载
以下参数可存放在catalina.sh中,以便支持GCLOG下载功能的开发-Xloggc:/data/log/gclog/tomcat_gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails
2017-10-17 13:16:36 225
原创 基于netty的websocket
基于netty的websocket,见附件。网上抄的,但不记得在哪抄的了,比原生websocket实现稳定高效的多。发出来共享下,想要的就下载吧。
2017-10-16 14:47:47 124
原创 MongoDB MapReduce原理实战之坑注意点
MongoDB MapReduce分组后的每一组数据如果大于100,那么他每次会取100条,归并完变成1条又返回给emit里面作为输入,继续判断余数是否大于100,大于100,取100条,周而复始,直到最后一次取数不大于100,运算完成后就结束。需要特别说明的是,如果最后一次虽然不大于100,但是如果是1的话,那么不好意思,他直接就给到finalize了,跳过reduce函数。原理剖析...
2017-10-11 10:35:43 782
原创 踩坑杂谈二:MYSQL分组组内排序
一些孩子 ,特别是新入门程序员,给你一个需求,比如查出所有发布记录中所有发布版本最新操作的集合孩子如果这么写,就犯错了 select version,timefrom tablegroup by versionorder by time desc 正确的写法是select * from(select version,timefrom ...
2017-09-20 10:46:39 208
原创 Log4j自定义日志输出格式
代码人,废话不多,直接上代码主要重写部分,请关注以下代码和OdySession.getTraceTicket()相关联处!还有一种解决方案,应用Log4j MDC技术,相关文档请搜索Log4j MDC。MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。package com...
2017-09-14 10:52:25 2210
原创 java实现路径通配符*,**,?
* 表示匹配0或多个不是/的字符** 表示匹配0或多个任意字符? 表示匹配1个任意字符/** * 将通配符表达式转化为正则表达式 * @param path * @return */ private static String getRegPath(String path) { char[] chars =...
2017-09-08 17:25:07 5515 2
原创 python访问http应用的编程注意事项
Pyton在请求Http时,先要建立连接,而建立连接的地址必须是机器的IP:PORT或域名(域名解析也必须指到IP:PORT)。这与其他语言编程不同,如Java。如果是到容器应用级别,比如你Tomcat下跑某个app应用,如果你到xx.xx.xx.xx/app则不行,必须是xx.xx.xx.xx所以你在编程时,如果别人传你地址,戴取ip:PORT(或域名)时要split("/")[0]...
2017-09-08 13:44:12 150
原创 每天一个linux命令系列——DU
Usage: du [OPTION]... [FILE]... or: du [OPTION]... --files0-from=FSummarize disk usage of each FILE, recursively for directories. Mandatory arguments to long options are mandatory for short...
2017-08-24 14:47:42 157
原创 SpringMVC JACKSON反序列化JSON精华语句
Type paramType = types[i];Class contextClass = method.getDeclaringClass();JavaType realJavaType = mapper.getTypeFactory().constructType(paramType);values[i] = mapper.readValue(argment.toString(...
2017-08-18 11:35:25 330
原创 ES里多字段分组后排序
ES里多字段分组再排序,只有两种办法,其他办法都不准:办法一:用script如 //主桶:设置要聚合的字段,sql TermsBuilder one = AggregationBuilders.terms("one").script(new Script("doc['"+dbFiled+"'].value +'{#}' + doc['"+sqlFiled+"']....
2017-08-14 11:47:13 7254
原创 踩坑杂谈:websocket超时,hashmap不安全,守护线程执行异常
1、websocket超时,一般情况下,如果你用nginx反代,你需要设置proxy_read_timeout这个值,默认是60S,你不设就会60S一超时,麻烦不,SO,你懂的。2、hashmap作为类成员变量时,一般情况下很难出现线程不安全的操作,BUT,在高并发下,会出现线程安全问题,所以需要绝对安全的场景使用ConcurrentHashMap或HashTable3、守护线程如果...
2017-07-18 11:47:02 561
原创 MD5盐值加密
import java.security.MessageDigest; import java.util.Random; import org.apache.commons.codec.binary.Hex; public class PasswordUtil { /** * 生成含有随机盐的密码 */ p...
2017-07-07 10:10:56 328
原创 Maven Deploy不上传war包
在你不需要上传的war项目的pom文件中的properties标签中添加<maven.deploy.skip>true</maven.deploy.skip> 如下所示:<properties> <maven.deploy.skip>true</maven.deploy.skip></properti...
2017-07-07 10:10:07 1956
原创 MongoDB 运维优化系列(二)
一个MQ,开5个线程,平均一天消费数据如下:总表:249733 (upsert + $inc)子表:1732389 (insert)在数据量插入到这个级别的时候,数据库插入就有延迟了,延迟时间在5分钟以上,逐渐增大...jstack <pid>走一发,看MQ消息线程状况,5个线程都是如下状况:"main" prio=10 tid=0x00007f38ac009...
2017-06-29 10:56:41 271
原创 SpringBoot对于一些必须要先初始化Bean给出WARN的解决办法
笔者生产中,遇到2017-05-16 08:47:22.020 WARN 1910 --- [localhost-startStop-1] o.s.c.a.ConfigurationClassPostProcessor : Cannot enhance @Configuration bean definition 'myBatisMapperScannerConfig' since i...
2017-05-16 09:12:32 2734
原创 redis配置实例
# Redis configuration file example.## Note that in order to read the configuration file, Redis must be# started with the file path as first argument:## ./redis-server /path/to/redis.conf...
2017-04-24 15:14:14 113
原创 jmap命令及其应用
Usage: jmap [option] <pid> (to connect to running process) jmap [option] <executable <core> (to connect to a core file) jmap [option] [server_id@]<...
2017-04-06 17:23:30 396
原创 基于SpringMVC的HTTP+JSON签名校验
客户端 Client.java/** * 向服务器发送请求并解析返回响应结果 * @param url - 请求的地址 * @param baseClientDTO - 请求的参数 * @param type - 返回参数的类型 * @return 返回参数实例 * @throws IOException ...
2017-03-21 18:04:26 1710
原创 简单发布tomcat带日志输出
t_pid=`ps -ef | grep tomcat | grep global.config.path | awk '{print $2}'`echo $t_pidkill -9 $t_pid/bin/rm -rf /data/tomcat/webapps/* /data/tomcat/work/Catalina/localhost/* /data/tomcat/temp/*...
2017-03-09 19:46:13 160
原创 前端三大框架
react vue angular 传送门:http://blog.csdn.net/haoshidai/article/details/52346865
2017-02-21 13:46:06 244
原创 域名绑定在nginx上反代tomcat之shiro过滤器上下文处理
域名绑在nginx上,又反代了tomcat又想以域名直接访问web应用shiro在处理过程中,用了如下代码public final void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws IOException { ...
2017-02-10 19:02:14 531
原创 Js时间加减函数
/** * 时间加减 * @param date - 时间格式支持yyyy-MM-dd HH:mm:ss | yyyy/MM/dd HH:mm:ss * @param type - 类型:h-小时加减 m-分钟加减 s-秒加减 mi-毫秒加减 * @param number - 加减的数值,负数表示减 * @return dateCa...
2017-01-14 22:52:55 1917
原创 [转]如何合理地估算线程池大小?
转至:http://ifeve.com/how-to-calculate-threadpool-size/如何合理地估算线程池大小?这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线...
2016-12-06 13:29:42 91
原创 使用lua+openresty实现nginx动态反代
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;error_log logs/error.log debug;pid logs/nginx...
2016-11-30 11:44:40 308
原创 spring-boot移除默认autoconfiguation
@SpringBootApplication@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})public class Application extends SpringBootServletInitializer {
2016-10-26 16:17:37 950
原创 jquery1.6之后的全选功能实现
$("[name='copyPool']").prop("checked",function(){ return $("#checkAllPool").is(':checked');});
2016-10-11 15:56:28 104
原创 pip安装经常超时的解决方案
pip安装由于网络问题会经常超时,可在~/pip/pip.conf中配置如下[global]timeout = 6000index-url = http://e.pypi.python.org/simple[install]use-mirrors = truemirrors = http://e.pypi.python.org 会起到一定的缓和作用。其中tim...
2016-09-21 18:47:01 727
原创 Mybatis Generator生成Mapper读写分离工具
通过Mybatis Generator生成Mapper java类和xml配置文件后,执行我的工具即可实现读写分离。package org.rwsplit.main;import java.io.Closeable;import java.io.IOException;public class Base { protected static void close(C...
2016-08-18 11:07:24 347
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人