自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 纪一次线上cms调优

过去也有对JAVA性能调优的分析,有过以下case:1. JVM outOfMemory, 主要是使用jmap dump 出来 hprof,使用MAT进行分析2. JVM outOfMemory, 使用jmap dump 出来hprof, 使用jhat 找出异常内存对象3. JVM调优,程序运行1个月后崩溃4. JVM调优,根据JFR 采样,分析性能消耗在哪里,如何优化高...

2019-08-15 22:40:00 251

转载 JFR 使用记录

进程的内存信息,可以使用jmap 和 jstack 等dump出文件,使用jhat 分析 dump 文件。不过比较简陋。可以不停进程的方式有 JFR 或者taobao 开源组件。本篇只记录JFR相关1. Enable JFR使用参数-XX:+UnlockCommercialFeatures -XX:+FlightRecorder添加到启动参数2. 需要时...

2019-06-20 16:45:00 269

转载 业务ID 生成策略

业务ID 生成策略,从技术上说,基本要借助一个集中式的引擎来帮忙实现。为了扩大业务ID生成策略的并发问题,还有更为技巧性的提升。先来介绍普遍的分布式ID生成策略:1. 利用DB的自增主键 这里又有两种做法,一种是 单独创建一个只有自增主键的表,来负责主键自增,业务表从这里取得自增的主键返回给业务主键生成组件使用。 另外一种: 业务中不使用DB的自增主键, 自增主键...

2018-05-10 15:57:00 235

转载 业务ID 生成规则

在实际业务中,是否碰到过这种场景:我们需要一个单号,要在业务系统里面保证唯一,保证增长?在运营过程,需要知道业务单发生的时间,最好不用经过系统查找就知道发生的时间?在排障过程中,不用再次查找就知道,订单的一些信息?业务ID 经常需要生成以方便后续跟踪使用。一般需要满足以下特性:1. 唯一性2. 可阅读3. 增长4. 数字类型?5. 其他信息(pa...

2018-05-10 15:40:00 1943

转载 antlr4 接触

1. 配置IDE(可选)2. 加减法示例编写expr.g4 1 grammar AddMinus; 2 3 expr: Minus Number #minusNum 4 | expr op=('+'|'-') expr #regular 5 | Number #single 6 ...

2018-05-08 16:54:00 71

转载 XML CData 处理

调研了 JAXB、XMLMapper(jackson)具体方式实现优势JAXB1. 需要增加 CDATA 的Adaptor2. 需要增加对非CDATA 的CharacterEscapeHandler标准jackson1. xmlmapper标注 @JacksonXmlCData简单灵活...

2018-04-03 16:24:00 175

转载 Postgresql 经纬度

增加一列:add column `location` geometry defaultst_setsrid(st_makepoint((0)::double precision, (0)::double precision), 4326)使用距离过滤:1. st_distance( geometry, geometry)这个函数有两个坑点, 1,是...

2016-11-02 17:21:00 2277

转载 Jaro-Winkler Distance

发现commons-lang 中有实现:StringUtils.classpublic static double getJaroWinklerDistance(final CharSequence first, final CharSequence second) { final double DEFAULT_SCALING_FACTOR = 0.1; ...

2016-11-02 17:02:00 160

转载 Levenshtein distance 编辑距离

编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符实现方案:1. 找出最长公共子串长度参考代码:apache commons-langpublic static int getLevenshteinDistance(CharSeq...

2016-11-02 16:59:00 95

转载 Rabbitmq 性能测试

背景:线上环境,出了一起事故,初步定位是rabbitmq server。通过抓包发现,是有多个应用使用同一台rabbitmq server。并且多个应用使用rabbitmq的方式也不一样。发现有以下两种方式:1. 每次produce 一条消息,开闭channel一次2. 每次produce 一条消息,开闭connection一次,开闭channel一次。这种使用方法是...

2016-07-31 00:07:00 104

转载 jvm 线程实现机制

简单记一下实际上jvm 规范中并无做限制。不同的jvm实现上存在一定差异。技术上的选择主要在jvm的线程是如何和操作系统的线程对应的。有1:1 的线程实现模式,也有N:1的线程实现模式,更有M:N的线程实现模式。这里的对应关系,一般来说都是对应到系统的内核线程如果对应的是普通的用户线程,那么,线程的切换成本以及系统调用时的成本则会比较高,影响jvm的性能。...

2016-05-29 14:52:00 94

转载 git 由http切换成git

项目中经常会遇到http 的git 协议为了安全切换成ssh 的git 协议。这个时候,只要使用如下命令变更 remote 字符串就好了。git remote set-url origin git://sfasdfasdfa.git转载于:https://www.cnblogs.com/lykm02/p/5523359.html...

2016-05-24 14:44:00 819

转载 mybatis 使用场景

1.Database design is often a separate function (with separate management) from OO domain design数据库设计和oo业务设计分离的情况2.Database designers do not have OO tools (like inheritance), so they don't thi...

2016-04-13 16:47:00 85

转载 Solr DateRangeField

Solr DateRangeField 是solr5.0 实现的一个feature。关于 DateRangeField支持日期查询如 date_field:[2016-03-23 TO 2017-03-23] 或者 date_field:2016-03支持日期区间作为一个字段的索引内容。如solrJ 中solrInputDocument.addField("da...

2016-03-24 11:30:00 74

转载 elastic search 学习 一

初步阅读了elastic search 的文档,并使用command实践操作。大概明白其概念模型。转载于:https://www.cnblogs.com/lykm02/p/5292712.html

2016-03-18 16:40:00 56

转载 数独计算程序

数独是什么,就不解释了。下面给出一个数独的截图计算规则,其实对每个未确定的空格,保证所在的行唯一,列唯一和所在小九宫格唯一就好了。直观的解决方法是暴力+回溯。但是暴力+回溯可能带来的问题是,效率不高。实际计算过程中,可以进行剪枝,即去除一部分无效运算。则面临2个问题。1. 如何确定下一个对象。 即有这么多需要确定的空格,如何确定那些空格的优先级...

2016-02-02 16:08:00 139

转载 IO 模型

常见的IO模型有四种:(1)同步阻塞IO(BlockingIO):即传统的IO模型。(2)同步非阻塞IO(Non-blockingIO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(NewIO)库。(3)IO多路复用(IOMultiplexing):即经典的Reactor设计模式,有时...

2016-01-05 14:59:00 62

转载 Spring DelegatingFilterProxy

Spring 里面定义了许多 Filter. 比如 OncePerRequestFilter。如果我们自定义OncePerRequestFilter, 则可以配置到web.xml中进行一些拦截或日志操作。问题是如何将spring filter bean 注入到 web.xml?发现Spring Security 中有这种例子。我就阅读了下源码。发现如下。<con...

2015-12-18 11:48:00 48

转载 poolingHttpclientConnectionmanager 使用

在阅读 netflix zuul 的simpleHostRoutingFilter 中,发现了一些问题。主要是关于poolingHttpclientConnectionmanager。在寻找其中的问题时,发现了一些问题。参考链接:http://stackoverflow.com/questions/25889925/apache-poolinghttpclientconn...

2015-12-17 11:16:00 384

转载 netflix zuul-simple-webapp.war在tomcat下启动

按照netflix 在github 的wiki的文档使用gradlew jettyRun可以启动jetty来进行测试。在本地build war 以后,我放在tomcat 运行的时候,却不可以运行。这里遇到了一些问题,记录如下:1. Connection pool is shut down.经查,这个是样例中groovy/filters/route/SimpleHo...

2015-12-16 17:01:00 145

转载 netflix zuul 学习

netflix zuul 是netflix开发的一个EDGE SERVICE。 主要是作为一个API Gateway 服务器,可以实现安全,流量控制等功能。我看的是1.x的版本,Zuul1.x的实现原理基本是就是一个Servlet 应用。<!--使用listener 初始化Zuul setting --> <listener> ...

2015-12-16 16:31:00 93

转载 java aes encrypt

本次使用aes 对称加密算法。选用aes的原因是,可以还原加密串。 程序如下: public static String encode(String content){ KeyGenerator keyGen; try { keyGen = KeyGenerator.getInstance("AES");...

2015-11-16 23:59:00 145

转载 md5

md5 是一种数字签名的工具.具体是通过一系列的运算,生成一个32位的16进制的数字.从而可以进行签名验证.转载于:https://www.cnblogs.com/lykm02/p/4913663.html...

2015-10-27 11:20:00 69

转载 协程是什么

协程是什么百度了下,有人说是用户态的轻量级线程,也有人说是一个逻辑控制需求。可能不同的解说是从实现的角度来区分的。本意应该是差不多的。应该是有些编译器是通过用户态的轻量级线程实现的,有些则是通过逻辑控制实现的(比如函数性语言)总之, 协程是轻量级的用户态切换的一种程序。本身拥有栈和数据。协程的特点无需线程上下文切换的开销无需原子操作锁定及同步的开销...

2015-08-10 15:42:00 84

转载 sed 删除换行符

sed 删除换行符sed ':label;N;s/\n/:/;b label' filenamesed ':label;N;s/\n/:/;t label' filename上面的两条命令可以实现将文件中的所有换行符替换为指定的字串,如命令中的冒号。命令的解释::label; 这是一个标签,用来实现跳转处理,名字可以随便取(label)...

2015-07-01 12:27:00 1283

转载 git merge 冲突

当前分支为 master然后操作时: git merge dev发现有文件冲突。当我们倾向于使用dev 分支的代码时,可以使用以下命令:git checkout --theirs src/main/resources/config_dev.properties当我们倾向于使用当前分支的代码时,可以使用以下命令:git checkout --ours src...

2015-06-25 19:55:00 110

转载 jenkins gradle 编译遇到tomcat异常

使用gradle在jenkins 上构建的时候遇到进行构建的时候报"Could not load Logmanager org.apache.juli.ClassLoaderLogManager"的异常按照网上的说法,注释了tomcat中 catalina.sh 中关于 Logging的信息。结果错误依旧。然后进行进一步排查,发现可能是tomcat启动并未使用 catal...

2015-05-29 19:07:00 169

转载 Java synchronized 关键字的实现原理

数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令,大家可能会进一步追问:JVM底层又是如何实现synchronized的?本文所指说的JVM是指Hotspot的6u23版本,下面首先介绍synchronized的实现: synrhronized关键字简洁、清晰、语义明确,...

2015-05-20 11:41:00 82

转载 Solr field alias

Field aliasAny field, function, or transformer can be displayed with a different name in the output document:ExampleMeaningid,price:crazy_price_fieldreturn ...

2015-04-20 14:58:00 89

转载 git remote log error

使用git pull的时候收到以下信息:error: there are still refs under 'refs/remotes/origin/xxxx'From 10.1.25.57:yyyy/zzzz_server! [new branch] xxxxx -> origin/xxx (unable to update local ref)...

2015-02-11 18:06:00 700

转载 java properties 对list的支持

经测试,原生的properties 对 list 不支持。参考样例如下:id=1id=2具体代码如下:1 java.util.Properties prop = new Properties();2 InputStream is = App.class.getResourceAsStream("/config.prope...

2015-01-28 20:36:00 345

转载 solr query的post方式

众所周知, solr 是通过 GET 方式来进行查询的。那么solr 是否支持POST 方式进行查询呢?通过一番调研,发现SOLR其实是支持POST方式进行查询的。方式为:使用form 方式提交POST请求到 select Handler即可具体的来说:就是要在POST请求的header中添加Content-Type:application/x-www-for...

2015-01-06 13:38:00 560

转载 ansj 2.0.7 错误例子分析

我在做一个solr的项目,分词选定了ansj分词。选择ansj的原因:1)身边若干朋友的念叨,说是效果不错2)网上看了若干评论,说是不错3)自己尝试了一些case,觉得确实不错。好了,项目中选择了ansj2.0.7-min.jar作为实际使用的版本。结果。。。愿望是美好的,现实是残酷的。碰到了若干case,效果不好(使用IndexAnalysis):1)上...

2014-11-12 11:55:00 94

转载 solr 分词词库管理思路

solr 分词词库管理思路大概有以下几种思路:1。 自定义 SolrRequestHandler 由 SolrRequestHandler 来进行对分词器,进行A)词库加载B)动态添加词库 等操作 这样的话,还需要在内存中hold 住所有的词,或者需要引用到分词的jar2. 在自定义分词器中实现从文件拉取 对词库文件设置File...

2014-11-10 18:50:00 159

转载 Solr commit 策略测试

已知Solr 的Commit策略:服务器端:1)AutoCommit2)AutoSoftCommit客户端 Commit本次我测试了客户端关闭Commit的情况下,服务器端Commit策略的调整,对搜索的效果首先,关闭了客户端的Commit,使用以下命令提交:curl 'http://localhost:8983/solr/core0/update?com...

2014-10-28 11:48:00 75

转载 solr home 目录设置

对于在tomcat 中部署solr 来说,有以下三处可以配置 solr.solr.home(即solr的数据文件位置):1. 在解压缩solr.war后的webapps/solr 中的WEB-INF/web.xml中修改 <!-- <env-entry> <env-entry-name>solr/home</en...

2014-10-23 14:49:00 279

转载 Ubuntu 不支持 rpm

不是第一次犯这个错误了。记一下。每次安装jdk 的时候,习惯性下载rpm包。然后的,然后在 ubuntu上rpm 安装的时候就跪了。。ubuntu需要使用Alien 把rpm 转成 deb再安装。。。转载于:https://www.cnblogs.com/lykm02/p/4045283.html...

2014-10-23 11:08:00 106

转载 netty-all maven中 缺少jzlib

在一个项目中引用 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.0.19.Final</version> ...

2014-10-22 17:59:00 407

转载 统计solr multivalued 字段中数目

问题是这样的:已有若干multivalued 字段, 需要统计出 multivalued 字段中数目。比如*DOC1*<doc><arr name="multi"><str>1</str></arr></doc>----------------------*DOC2*<doc>&l...

2014-10-22 17:39:00 156

转载 maven 命令

在使用maven 的过程中,发现几个有用的命令本来我在寻找设置 dependency:copy-dependencies 的 output 路径(默认在 target/dependency)百度了一下,搜索到了。不过我猜想, maven 命令行应该也可以检索到。之前我使用过 maven help:describe, 但是不知道怎样让他显示出我要找的设置选项参数。经过一番尝...

2014-06-10 11:06:00 68

空空如也

空空如也

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

TA关注的人

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