自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Elementary Conference

code better play better

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

翻译 解决kafka Rebalancing(重定向)问题

解决kafka Rebalancing(重定向)问题以及解释为什么会发生该问题文章原文 原文链接以下是上文的翻译什么是kafka Rebalancing(重定向)要了解什么是rebalancing,我们需要了解 Kafka 的工作原理。首先,关于Kafka。Kafka 集群由一个或多个代理组成。生产者向 Kafka brokers发布数据,消费者是从broker读取消息。 Kafka Streams同时是消费者和生产者,但为了简单起见,我们在这篇博文中将其称为消费者。所有传输的数据都存储在一个to

2021-12-03 16:08:43 3344

翻译 InnoDB’s gap locks

对于InnoDB 的gap locks 有很多文章介绍,包括官网也有相应的介绍。在这中间,我推荐这篇文章。https://www.percona.com/blog/2012/03/27/innodbs-gap-locks/以下是我对这篇文章的翻译。InnoDB最重要的功能之一是行级锁定。 此功能在繁重的写入负载下提供更好的并发性,但需要额外的预防措施以避免幻读以便在复制时候能够保持一致性。 为...

2019-04-17 20:03:03 218

原创 避免url使用加号"+"

问题线上对一个url的请求参数做了加密,突然发现参数的请求值跟解析出来结果不一样,请求参数里面有个“+”号,服务端获取时候变成“ ”,一个空格。排查查看nginx日志,发现在nginx获取时候已经是“ ”,于是排除服务端代码问题。经过谷歌,原来url的“+”号,在url解析时候会变成“ ”。原因Generally speaking, the plus sign is used as s...

2019-02-27 00:43:32 587

翻译 CAS 和 Fetch And Add 区别

这里写自定义目录标题CAD 和 Fetch And Add 实例译文CAD 和 Fetch And Add 实例我们以AtomicInteger里面的incrementAndGet方法为例子,该方法是给变量值加1.在jdk1.7中源码如下:public final long incrementAndGet() { for (;;) { long current = ...

2019-01-05 15:36:58 2472

原创 BeanUtils.copyProperties() 在 spring 和 apache.commons 区别

BeanUtils.copyProperties() 在 spring 和 apache.commons 区别BeanUtils.copyProperties() 方法在java中被广泛使用,用于复制两个bean里面相同的field。最近有个同事代码遇到一个bug,有个bean类是这样书写class Test { private Integer t;//声明是包装类 public i...

2018-09-23 00:12:59 2051

原创 java ReplaceAll 以及 分组

java ReplaceAll 以及 分组java 的replaceAll方法是对整个字符串满足条件的进行替换,可以用正则表达式。比如 String s1="My name is Khan. My name is Bob. My name is Sonoo."; String replaceString=s1.replaceAll("\\s",""); System.out.p...

2018-08-05 01:17:01 3596 2

原创 mybatis TypeHandler 注入spring的依赖

解决方法<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- .... --> <property name="typeHandlers"> <array>

2018-05-14 20:45:36 2210 1

原创 com.intellij.util.indexing.StorageException: java.lang.AssertionError 解决

启动idea突然报这个错误com.intellij.util.indexing.StorageException: java.lang.AssertionError谷歌搜了很多方法。 1. file/invalidate caches restart 2. rebuild还是不行后来想着是intellij的错误,而且是storageexception,会不会是cach...

2018-04-26 20:02:48 1622

原创 从一个bug到了解浮点数

有次qa提了一个bug,就是假如输入999999.99时候,会发现存到数据库是1000000。后面一看代码原来是自己手抖,平常用double来转换,突然有个地方写成了float。改后就ok。但是仔细一想,这个为什么刚好是这个值转换出错,学过计算机的都知道,float存储用二进制,所以有精度差,但是究竟是怎样一个存储法呢。大学学到的知识都忘记了。赶紧复习下。 这是基于IEEE 754,是IEEE二...

2018-04-23 10:12:14 443

原创 nginx 解决跨域(cors) 返回增加头部

nginx 解决跨域(cors) 返回增加头部 location / { add_header 'Access-Control-Allow-Origin' "$http_origin";# http_origin 代表请求的origin add_header 'Access-Control-Allow-Credentials' 'true'; #用于有cookie需要跨域,...

2018-04-11 20:02:55 4495 2

原创 mysql select in 按序实现

mysql select in 按序实现mysql 查询时候 用select * from table where id in (1,2,3);这个时候,返回的结果不一定是按照id=(1,2,3)顺序返回。假如需要按顺序输出的话,我们可以加上ORDER BY FIELD(id,1,2,3)就ok了。里面的id为对应的字段名SELECT * FROM tableWHERE id IN (1...

2018-03-08 20:37:06 2662 1

原创 Java9新API--Collections、Streams

CollectionsList list = List.of(1,2,3);Map<String, Object> map = Map.of("1",1, "2", 2);其实这个在guava已经有了,可以通过静态方法快速产生一个实例Streams IntStream.range(1, 50).dropWhile(x -> x < 10).forEach(System.out::println);

2017-11-24 16:45:16 212

原创 mysql5.7 linux or mac 忘记root密码修改

Stop MySQLsudo /usr/local/mysql/support-files/mysql.server stop安全模式启动sudo mysqld_safe –skip-grant-tables新开一个窗口mysql -u root FLUSH PRIVILEGES; ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’;

2017-11-14 20:30:34 201

原创 java9新特性-Process 进程 API

前言java process API 开始于1.5 ,但是功能不够,没有被大众熟知。如今很多语言,都能很好的对进程做控制,所以java9 这次的更新算是做出了一些更新,以下是总结的几点,并非全部,而是认为比较关键的几个方面。创建进程并且终止new ProcessBuilderder 创建了一个命令,让系统休息5s, 第一个参数是cmd,第二个参数是cmd的参数。onExit()返回一个futur

2017-10-29 15:37:42 750

原创 classfile.ClassFormatException

项目加了十几行代码后,tomcat启动时候抛出一个异常 org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'filename': Invalid byte tag in constant pool: 18at org.aspectj.apache.bcel.classfile.ClassParser.readConstant

2017-10-09 20:57:30 2701

原创 学会使用java8的parallelStream

java9都快出来了,现在java8已经很普及了。当然不排除有些公司由于太大积重难返,还在使用老版本。其实我现在公司挺多版本就还是用1.7。作为一个有追求的程序员哈哈,我一直在推动着1.8的使用。一开始就是喜 欢那简洁的lambda表达式,然后被他很多好用方便的特性的吸引。parallelStream就是其中一个非常使用的特性。我总结了几个好处:代码优雅,可以使用lambda表达式,原本几句代码

2017-09-21 22:38:19 4510 1

原创 windows使用docker新开窗口error

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.26/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Win

2017-03-26 21:16:42 14254 7

原创 crontab 并不享有用户的path

写了个简单脚本,用来定时检测进程。 脚本单独执行没问题。但是放到crontab就无法正常执行。 排查了一会,原来是crontab并不享有和用户一样的path。比如我给用户配置了PYTHONPATH。crontab执行时候是无法获得这个。 必须在执行的shell加上 export PYTHONPATH= $PYTHONPATH:path

2017-03-16 22:49:55 734

翻译 Fail Fast Vs Fail Safe

原文Fail Fast And Fail Safe Iterators In Java :java中的迭代器使我们能够遍历Collection对象。 集合返回的迭代器本质上是Fail Fast的或 Fail Safe的。 如果在迭代集合时修改集合,则Fail-Fast迭代器立即抛出ConcurrentModificationException。 当 Fail Safe迭代器不会抛出任何异常,如果一个

2017-02-19 14:18:13 658

原创 用2的幂表示可多项选择的状态

我们在学习linux权限指令时,想必大多数人都会疑惑为啥用1,2,4来表x,w,r的权限,而不是1,2,3就行了。 实际工作中,我们也经常需要用到各种组合的状态,类似权限,每个权限并不唯一只有x,w,r,而是x,w,r任意组合。所以我们就需要任意组合的数字不重复。用2的幂就可以达成这样的效果。用1,2,3的话,比如x和w(1+2=3),就与r重复了。除了以上任意组合的唯一性外,还有个好处,就是代码

2017-02-03 23:00:28 327

翻译 Java 8 Default Methods

如果翻看jdk源码的interface,会发现多了default关键词。 简单介绍下。 原文default使我们能够在不中断实现该接口的类的情况下向接口添加新的功能。 让我们来看看下面的例子。public class MyClass implements InterfaceA { /** * @param args the command line arguments

2017-01-04 00:04:45 277

原创 禁止ie下的ajax 缓存

在ie下,请求ajax会进行缓存。有时候我们不想要缓存。就可以通过。 全局$.ajaxSetup({ cache: false });或者$.ajax({ cache: false, //other options...});

2016-11-29 22:20:14 408

翻译 Java 8 Concurrency Tutorial: Threads and Executors

原文并发API首先随Java 5的发布引入,然后逐渐增强每个新的Java版本。 本文中显示的大多数概念也适用于较旧版本的Java。 但是我的代码示例集中在Java 8,并大量使用lambda表达式和其他新功能。 如果你还不熟悉lambdas,我建议先阅读我的Java 8教程。Threads and Runnables所有现代操作系统都通过进程和线程支持并发。 过程是通常彼此独立地运行的程序的实例,例

2016-11-02 22:58:17 659

原创 python-multiple process 注意事项

避免僵尸进程产生使用map方法,记得用terminate关闭子进程用sqlalchemy 需要engine-disposal参考

2016-10-15 11:49:47 940

原创 js,css 缓存不更新解决

<script src="test.js?ver=1"></script>ver = n,n代表版本号

2016-10-15 11:42:34 3880

翻译 Atmosphere框架--网页聊天

前言把该框架用于网页聊天。效果很好,推荐给大家 原文介绍Atmosphere是一个Java/ JavaScript框架,它允许使用Groovy,Scala和Java。Atmosphere带有JavaScript组件,支持所有现代浏览器以及主要的基于Java的Web服务器。框架的目的是允许开发者编写的应用程序,并让该框架发现客户端和服务器之间的最佳通信信道。例如,开发人员可以编写将使用WebSock

2016-10-07 22:27:03 8518

翻译 python使用多进程或者多线程

使用python做计算的时候,为了加快速率,可以启用多进程或者多线程。那几时使用多进程或者多线程呢 如果是io型,使用多线程,如果是cpu型,使用多进程。 理论上说,使用多进程是效率最大的,而且io型也可以使用,但是会使用更多资源,所以有时候在没必要使用多进程时,就用多线程。在io型的时候,由于主要用于等待,使用多进程就没必要了。 我用的是多进程multipleprocess。记住一个小点,使

2016-09-24 13:56:02 2263

原创 记一次有趣的bug查找

大概一年多之前,当时还开发系统,就发现在系统下载文件时候,经常会下载多份文件(点击一次),pm和测试都反映过,线下正常的,只有上了生产才会。花过一点时间寻找,没找到。由于不影响使用,而且需求紧急,pm赶着做其他,就没在意。 个月前,我开发的系统出现了bug,导出文件下载(对数据处理后进行excel导出)时,在线上有时会失败。我一直很纳闷,我线下的很正常啊。然后发现cpu used会异常飙升。于是看

2016-09-15 18:44:35 416

原创 使用sql alchemy时,mysql的Collation不要用utf_bin

python3用sqlalchemy时候,用mysql,当Collation是utfbin,主键是varchar是无法使用的,会报一个无法把bin转换str的错误。如果是非主键是varchar,可以使用,但是读出来是bin,然后要手动decode下,代码有点繁琐。一开始遇到这个问题,varchar做主键,我查了很多资料,后来在stackoverflow发现有人在django也遇到类似这种错误。 所

2016-08-13 12:28:36 1146

原创 range check instead of index usage mysql索引使用注意

发现一个线上页面执行异常慢,explain 下,发现并没有用到索引查询(实际上该字段加了索引),extra的消息提示是range check instead of index usage mysql官网的解释是,没有用到索引查询,但是会比完全没有使用索引快。也就是索引的使用姿势不对。后来发现原来是varcha(n)不一样,我修改了n值一样,还是没用到索引,我show table status ,查

2016-08-13 11:51:32 382

翻译 LOGBACK 配置: 用 XML

现如今,java 开发中 都用logback来配置日志了。之前看到一篇好文章,翻译分享给大家。 原文前言当底层的日志记录框架成为一个技术瓶颈时,将无法很好记录日志。日志记录框架需要是快速的,有一个小的内存占用空间,并且可以很容易地配置。Logback是日志框架具有这些优点。如果你是新的Logback,我建议去通过我的介绍后对logback:logback简介:一个企业级日志框架。生成Logger我

2016-07-31 23:58:20 13427

原创 python3.4 装 numpy

python3.4 在windows下安装 numpy 不懂套路的话有点麻烦,还要装c编译器之类。关键是尼玛的gfw,网速慢,搞得一肚子火。 其实有个方法很简单 https://sourceforge.net/projects/numpy/files/NumPy/1.9.2/ 直接下载里面的windows版本,一键安装就ok了。至于Linux,那就很简单了,直接pip搞定。或者下载包后,pyt

2016-07-24 12:57:49 994

翻译 学会使用eclipse Memory Analyzer --MAT

原文mat是一个分析java内存的神器。经常用于线上出现bug后的分析,尤其oom这种错误。自己写肯定没大神牛逼,所以google了篇文章介绍给大家。译文: (前言省略一万字) 在这个例子中,我们使用的是一个非常简单的程序,分配100000的listener,并将它们存储在4个不同的list。应用程序然后sleep并没有清除这些list。获取内存快照(heap dump)以下几种方法: 1.

2016-07-23 13:38:59 10726 2

原创 dump第三方库或特定表(mysql)

当遇到第三方库的使用,我们为了方便本地操作,一般会选择dump下来。那有什么方法呢?建立slave拉个从库,这是最简单的。但是有个问题。没办法具体到表。而且你需要第三方的大力配合。dump每天晚上dump。然后在本地库source。简单暴力。但是,对于第三方若是提供的是view,就没办法。而且需要需求可以接受短时间的宕机。pt-tablepercona-toolkit提供的,针对表或者库。方便快

2016-07-20 23:54:03 413

原创 强烈建议使用guava

guava是google写的java第三方库。好多常用类以及数据处理方法。我用了一年多了。 有些到了jdk8,jdk也仿照guava写了,比如option(可用来代替讨厌鬼null) 里面Stirngs,Maps一些方法很推荐。今天又发现了一个小玩意。static final ImmutableMap<String, Integer> WORD_TO_INT = new Immut

2016-06-09 18:50:43 589

原创 Logger 日志输出请使用占位符 {}

review代码时,发现太多人习惯log日志直接用“+”号连接。这是很不好的习惯。 In Logger, the logging methods are overloaded with forms that accept one, two or more values.[9] Occurrences of the simple pattern {} in the log message are

2016-06-05 22:05:35 34459 10

原创 jquery ajax 不能用于下载文件

@SotiriosDelimanolis was right. File download is not possible using ajax request. Simply use ‘window.location’. $scope.downloadFile = function(fileName) { window.location.href = ‘logreport/do

2016-06-04 09:55:56 1297

原创 text() or html() 获取 td 内容

text() or html() 获取 td 内容 The val() function is primarily used to get the values of form elements such as input, select and textarea. You need text() or html() function to get the contents of td.获取c

2016-05-05 23:53:08 506

原创 防止XSS攻击过滤工具类

public static String XSSHtmlFilt(String msg) { StringBuffer buffer = new StringBuffer(msg.length()); for (int i = 0; i < msg.length(); i++) { char c = msg.charAt(i); switch (c)

2016-04-26 19:58:59 1771

翻译 Java 8 Stream

Java 8 Stream Tutorial原文链接java8提供了lambada表达式,函数接口,极大方便开发者。本文是简要翻译他人文章。介绍了最常使用的StreamAPI。如果有兴趣,可以通过链接阅读原文。streamstream代表了一系列元素,并且提供了各种各样的操作。List<String> myList = Arrays.asList("a1", "a2", "b1", "c2"

2016-04-20 20:37:10 879

jsonlibjar包下载

jsonlibjar包下载,亲测可用。。。。。。。用于spring开发

2014-07-17

基于OpenCV的视频图像处理应用研

基于OpenCV的视频图像处理应用研究,一篇文档,欢迎下载

2012-08-06

空空如也

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

TA关注的人

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