- 博客(147)
- 资源 (2)
- 收藏
- 关注
原创 Netty Jemalloc4算法-核心数据结构图示
Netty 从4.1.52版本开始,其内存分配算法,从jemalloc3 切换到了 jemalloc4。本文给出该算法涉及的核心数据结构图示:想要看懂上图, 要点如下:小于等于16777216字节的空间,从chunk(一个16M的字节数组)中分配。每次分配, 会从chunk切割得到一个能容纳请求大小且最接近请求大小的run。run是一个或多个page的集合,一个page是8Kb。空闲的run,其句柄信息会被放入优先队列数组runsAvail的槽位中。比如handle1,handle2分别代表
2023-04-18 21:21:42 531
原创 将新版本(2020以上版本)idea中的字体设置为eclispse方法
设置路径是: settings -> editor -> Color scheme -> java颜色方案按照如下给出的颜色值更改即可:Annotations:annotation attribute name: 0000FFannotation name: 000000--------------------------------------------------Braces and Operators:Braces: 0000FFBra...
2021-08-27 12:02:41 423
原创 启动visualVM的两种方式
1 visualVM 使用JMX连接a 拷贝并改名字到路径:(/app/java/jdk1.8.0_151是java home目录)源文件:/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password.template,拷贝并改名后:/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.passwordb 并取消注释jmxremote.password 中的如下2行monitor.
2021-05-28 17:14:53 1311
原创 从文件中读取,并归并排序
import org.apache.commons.io.IOUtils;import java.io.*;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * <p>类说明:</p> * * @author lihong10 2021/5/21 14:31 * @version v1.0 * @modificationHistory===========.
2021-05-21 17:59:50 1030 1
原创 正则表达式之分组+正/反向肯定/否定预查
正则表达式中(?:pattern)、(?=pattern)、(?!pattern)、(?<=pattern)和(?<!pattern)正则表达式的匹配原理可以参考文章1:https://blog.csdn.net/lxcnn/article/details/4304651 正则表达式的匹配原理可以参考文章2: https://www.cnblogs.com/dogecheng/p/11466687.html(?:pattern)()表示捕获分组,()会把每个分组里的匹配
2021-04-23 15:05:46 2302 1
原创 PostGres常用sql锦集(持续更新中,内容会越来越多)
POSTGRES常用sql示例修改表的owner:alter table qrtz_locks owner to quartz;alter table qrtz_scheduler_state owner to quartz;
2021-01-21 10:34:45 2450 1
原创 Cas原理备忘-
cas原理和流程经常有新人问我cas的原理,解释了很多遍,有时候会很不耐烦。恰好看到文章单点登陆服务端搭建教程用文字描述的很细致,所以顺手抄录了其中的关键描述。目的是以后有人问,直接把摘录的blog扔给他。用户通过browser请求cas client A端的资源。client A端发现用户未登录(client没有收到ST),redirect到cas server,并且把用户请求服...
2019-12-19 22:06:23 256
原创 Netty中用于打印字节流(类似winhex)的工具类及其改进
Netty中类似winhex用于打印字节流的工具类三年前,本人为了查看java类字节码,使用了一款叫做winhex的软件用于打开.class的二进制文件,当时最大的感觉就是如获至宝。winhex的界面截图如下所示:时隔一年,本人在阅读Netty源码的时候,竟然发现netty中也存在一个类似winhex的工具类ByteBufUtil。 该类中的方法:*public static void ap...
2019-08-01 19:35:58 2018
原创 netty-ResourceLeakDetector用法测试
在netty中,只要实现了ReferenceCounted 这个接口的类,都需要保证在正确的时刻调用"release"方法,否则这个对象的引用计数无法被重置为0。最终后果是这个被使用过的对象无法返回对象池或无法释放其内部占用的内存,从而导致内存泄漏。netty中, 即便是老手,也经常会因为对引用计数对象的不当使用导致内存泄漏,幸运的是netty也提供了检测内存泄漏的工具类ResourceLeak...
2019-03-04 19:35:44 4204
原创 netty-FastThreadLocal用法测试
2017年写Netty相关文章的时候,关于Netty中FastThreadLocal.java源码解读的文章还很少。今天(2019-02-25)回头过来整理的时候,发现网上已经涌现出了许多篇介绍FastThreadLocal.java的文章,并且,已经有解读的比较详实的文章,所以本人已经不打算进一步分析源码了。此处暂且列出几篇优秀的博文供大家查阅。1. Netty精粹之设计更快的ThreadL...
2019-03-04 18:54:57 513
原创 postgres主从搭建步骤
----------------------------------------------------- 删除备库用户psql.exe -U postgres -h 127.0.0.1 -p 5432 -c “drop user if exists repl;”--------------------------------------------------- 新增备库用户psql...
2019-02-15 19:28:43 596
原创 RabbitMQ安装笔记
1 安装Erlang1下载erlang安装包,然后安装。原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双击.exe文件进行安装就好,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入...
2019-02-15 18:07:53 249 1
原创 代码注释配置教程-适用于IntelliJ IDEA编辑器
IDEA 注释模板分为两部分:方法的注释和类的注释。方法的注释需要在方法内部手动输入comment,按回车生效;类的注释自动生成,只需要手动输入类的说明信息即可。方法注释模板进入settings->Editor->Live Templates点击最右边的“+”按钮,选择“Template Group”。在弹出的对话框中输入group名后,在中间选择刚刚创建的gro...
2018-12-13 21:01:58 488
原创 kafka多线程消费和手动提交偏移量java程序示例
本人收藏了一篇关于kafka多线程消费和手动提交偏移量的博文 , 设计思路还不错, 所以也一并分享给大家 :
2018-09-28 11:16:39 3778 4
原创 一个使用多线程发送消息到kafka集群的java程序
一个使用多线程发送消息到kafka集群的java程序本人之前参与的某个大数据项目,由于测试的需要,所以帮助写了一个数据发送工具用于发送大量数据到kakfa进行业务性能压测。程序虽然简单,但我想对于初学kafka的同学,还是有一定的借鉴意义的,遂打算贡献出来。本来是打算把源码打成压缩包上传的,无奈公司在安全方面做的很严格,将文件上传到csdn, github等网站会被公司电脑检测到并被禁止,无奈以...
2018-09-27 20:46:44 5569
转载 DirectByteBuffer内存回收笔记
今天在看netty源码时候又再次遇到了DirectByteBuffer,关于DirectByteBuffer的内存回收机制,在netty框架中被封装的面目全非,但其回收机制也是万变不离其宗,下面这几篇简单易懂的文章就介绍了DirectByteBuffer的概念极其内存回收方式,在这里和大家分享一下: 文章列表 jvm堆外内存–DirectByteBuffer java...
2018-08-06 20:31:06 2582
原创 使用多线程往同一个文件写入数据的线程安全的例子(java实现)
本文给出了一个如何利用java提供的类MappedByteBuffer对文件进行并发写入的例子。具体实现思路就举个列子说明吧: 假设有10000个字节需要写入某个文件,为了加快写入速度,可以开启2个线程,第一个线程将前5000个字节写入文件0~4999的位置,另外一个线程将后5000个字节写入文件5000~9999的位置,等2个线程都写入完成后。我们就成功的将10000个字节完整的写入到了文件中。...
2018-08-01 17:56:05 26280 9
原创 在纯函数中使用局部可变状态的Scala代码示例
这个例子来源于scala圣经级教程《Functional Programming in Scala》,虽然原书的随书代码可以找到这些类的影子,但却没有关于如何使用这些类的示例代码,本人在阅读此书期间,除了跟着书中的代码敲了一遍之外,还写了一些测试代码进行验证,贴出来作为blog主要是为了方便自己,也为那些同样在阅读此书的人参考, 因为或许有可能你看了书本也不知道如何使用这些现成的函数和库。...
2018-07-25 19:54:02 351
原创 可应用和可遍历函子(Applicative And Traversable Functor)在Scala中的应用笔记
这个例子来源于scala圣经级教程《Functional Programming in Scala》,虽然原书的随书代码可以找到这些类的影子,但却没有关于如何使用这些类的示例代码,本人在阅读此书期间,除了跟着书中的代码敲了一遍之外,还写了一些测试代码进行验证,贴出来作为blog主要是为了方便自己,也为那些同样在阅读此书的人参考, 因为或许有可能你看了书本也不知道如何使用这些现成的函数和库。...
2018-07-17 19:17:10 479
原创 Monad在Scala中的应用笔记
这个例子来源于scala圣经级教程《Functional Programming in Scala》,虽然原书的随书代码可以找到这些类的影子,但却没有关于如何使用这些类的示例代码,本人在阅读此书期间,除了跟着书中的代码敲了一遍之外,还写了一些测试代码进行验证,贴出来作为blog主要是为了方便自己,也为那些同样在阅读此书的人参考。注释不多,本人也不可能写太多,因为这本书不是简单的入门书,而是...
2018-07-16 15:56:22 1173
原创 Monoid在Scala中的应用笔记
这个例子来源于scala圣经级教程《Functional Programming in Scala》,虽然原书的随书代码可以找到这些类的影子,但却没有关于如何使用这些类的示例代码,本人在阅读此书期间,除了跟着书中的代码敲了一遍之外,还写了一些测试代码进行验证,贴出来作为blog主要是为了方便自己,也为那些同样在阅读此书的人参考。注释不多,本人也不可能写太多,因为这本书不是简单的入门书,而是...
2018-07-14 22:17:25 1295
原创 使用Scala从头实现一个简单的语法分析器组合字库
这个例子来源于scala圣经级教程《Functional Programming in Scala》,虽然原书的随书代码可以找到这些类的影子,但却没有关于如何使用这些类的示例代码,本人在阅读此书期间, ,除了跟着书中的代码敲了一遍之外,还写了一些测试代码进行验证,贴出来作为blog主要是为了方便自己,也为那些同样在阅读此书的人参考。注释不多,本人也不可能写太多,因为这本书不是简单的入门书,...
2018-07-13 16:05:04 868
原创 使用Scala实现一个基于性质的测试库
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧……package testingimport laziness.Streamimport state._impo...
2018-07-11 13:45:21 273
原创 使用Scala实现一个并发库(NonBlocking版本)
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧……> 注:本文是上一篇文章《使用Scala实现一个并发库(阻塞版本, 下一篇文章提供NonBlocking版本)》的延续...
2018-07-09 15:17:39 281
原创 使用Scala实现一个并发库(阻塞版本, 下一篇文章提供NonBlocking版本)
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧……&amp;gt; 注:这个并发库使用的线程池如果只有唯一一条工作线程的话,会导致线程阻塞,可以参考main方法中的示例,阻塞原因与代...
2018-07-07 17:42:10 275
原创 使用Scala对带状态函数或API进行抽象的示例(State)
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧……package stateimport RNG.Simpleimport state.State._case cla...
2018-07-06 18:05:05 570
原创 用Scala实现一个纯函数风格的引用透明的伪随机数生成器
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧……package statetrait RNG { def nextInt: (Int, RNG)}obje...
2018-07-05 19:13:57 497
原创 用Scala实现Stream(一个惰性的链表)数据结构
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己得意,如果看不懂,但是又感兴趣的就去看原书吧……package lazinesstrait Stream[+A] { import laziness.Stream...
2018-07-04 14:48:48 887
原创 使用Scala实现Either数据结构
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧。package errorhandling//hide std library `Either`, since we are writing...
2018-07-03 20:06:58 443
原创 使用Scala实现Option数据结构
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧。package errorhandling//hide std library `Option`, since we are writing...
2018-07-03 19:58:28 531
原创 使用Scala实现链表(List)数据结构
这个例子来源于scala圣经级教程《Functional Programming in Scala》,由于本人跟着书中的代码敲了一遍,然后写了点测试代码验证了一下正确性,所以就放在这做个备忘吧。贴出来只是为了方便自己,如果看不懂,但是又感兴趣的就去看原书吧。package fpinscala.datastructuressealed trait List[+A]case object Nil...
2018-07-03 19:48:47 1769 2
原创 POM中引入CXF后maven-shade-plugin打包示例
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m
2018-06-26 09:45:18 941
转载 AXIS2跳过HTTPS证书验证的几种方式
声明:本文转载自:AXIS2跳过HTTPS证书验证的几种方式为了避免丢失,Copy原文如下:AXIS2跳过HTTPS证书验证的几种方式Posted on 2016/03/24 by neohopeAXIS2启用HTTPS,只需要设置truststore及密码,然后对于HTTPS协议,就会自动启用SSL通信了。System.setProperty("javax.net.ssl.trustSt...
2018-06-26 09:32:19 5677
原创 Cxf和Axis使用https进行通信的笔记示例
1. cxf使用https进行通信1.1动态生成ws代理的工具类如下:import org.apache.cxf.configuration.jsse.TLSClientParameters;import org.apache.cxf.endpoint.Client;import org.apache.cxf.frontend.ClientProxy;import org.apache.cx...
2018-06-26 09:19:52 463
原创 同时使用java和scala语言的maven项目pom文件示例
主要就是在pom.xml中添加scala的三个依赖包和maven-scala插件,配置如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in...
2018-06-24 16:56:57 3067
转载 Java Thread.interrupt 复习
本文转载自:Java Thread.interrupt[点击打开链接], 文章写的太好,怕丢了,所以原文也一并拷贝过来。下面这个场景你可能很熟悉,我们调用Thread.sleep(),condition.await(),但是IDE提示我们有未捕获的InterruptedException。什么是InterruptedException呢?我们又应该怎么处理呢?大部分人的回答是,吞掉这个异常就好啦。...
2018-06-20 09:13:44 217
原创 一种重置生产者消费者模式的消费队列的线程安全的做法(java)
/* * @author lihong * @date 2016年1月1日 下午5:20:02 * @version v1.0 */package com.lihong.DDPush;import java.util.LinkedList;import java.util.List;import java.util.concurrent.atomic.AtomicReferenc...
2018-04-05 14:16:17 301
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人