java、Spring、技术分享

49 篇文章
12 人订阅

全部文章

良辰美景TT

Disruptor简单使用

  Disruptor从功能上来说,可以实现队列的功能,也可以把它当成单机版的JMS来看待。从性能上来说,它比ArrayBlockingQueue有更好的性能表...

622
良辰美景TT

Netty Recycler源码解读

Recycler是一个轻量级的对象缓存池,用来实现对象的复用。下面是使用Recycler的一个简单实例:

1162
良辰美景TT

Netty Unpooled 内存分配

Netty里的内存管理是通过ByteBuf这个类作为桥梁连接着业务代码与jdk底层的内存。所以理解ByteBuf的结构就很有必要了。

862
良辰美景TT

Netty 模拟百万连接

  我们知道单机的端口最多65536,除去系统使用的端口, 留给程序使用的也就6万个端口, 在需要对单机做长连接压力测试的时候,如果要测60W的长连接并发,就得...

2964
良辰美景TT

Netty 解码器

  Netty里的解码通过抽象类ByteToMessageDecoder进行统一规划。ByteToMessageDecoder继承了ChannelInbound...

1529
良辰美景TT

FastThreadLocal

JDK提供了ThreadLocal,用于构造线程安全的对象,ThreadLocal通过Thread的ThreadLocalMap内部属性来保证线程安全,而Thr...

1034
良辰美景TT

Netty 编码与数据的写入

业务里的数据最终需要通过socket写回到客户端,我们写的业务方法都是面向对象来进行编码的,而channel底层传输的是字节,Netty通过定义encode...

1313
良辰美景TT

Java中弱引用、软引用、虚引用、强引用、 Finalizer引用

在Java层面,一共有四种引用:强引用、软引用、弱引用、虚引用,这几种引用的生命周期由强到弱。转换关系大致如下图所示:

893
良辰美景TT

Netty 新连接的接入

本文通过源码分析Netty是如何一步步的将接收客户端的新连接,然后将连跟NioEventLoop绑定,并注册相应的Read事件。

1882
良辰美景TT

ChannelPipeline源码分析

AbstractChannelHandlerContext

892
良辰美景TT

Elasticsearch6.4安装

下载地址:https://www.elastic.co/cn/downloads 假设系统安装好了对应的jdk,且jdk的版本要高于8。下面是具体的安装步骤。

1492
良辰美景TT

JVM监控及诊断工具

jstat用法 其中-gc可以换成-class 、-gcnew、-gcold等参数;而54992表示的JVM的进程id(可能通过上面的jps命令查看...

2972
良辰美景TT

Spring集成TestNG测试MVC Controller

  在项目中需要写单元测试,如何保证写的单元测试的质量是比较高的。有以下几个原则。

1583
良辰美景TT

JMH基准测试

  OpenJDK 中的开源项目 JMH(Java Microbenchmark Harness)。JMH 是一个面向 Java 语言或者其他 Java 虚拟机...

1133
良辰美景TT

记一次unable to create new native thread错误处理过程

unable to create new native thread,看到这里,首先想到的是让运维搞一份线上的线程堆栈(可能通过jstack命令搞定的)。...

8411
良辰美景TT

数据结构--堆

1262
良辰美景TT

数据结构--线段树

  线段树用于处理区间数据的更新与查询问题,不考虑往区间中增加与删除数据的,主要用于统计数据方面的需求,在更新与查询的时间复杂度都为logn级别。线段树不属...

461
良辰美景TT

java SSL

防止抵赖,能够检查签名之后内容是否有更改。通过单向散列算法对内容进行求值,相当于对内容进行提取了指纹。

1962
良辰美景TT

java字节码

  我们都知道Java字节码是JVM所使用的指令集。java字节码可以分为如下几类:

3212
良辰美景TT

java线程池

线程池能够帮助我们提高系统资源利用效率,并简化线程管理。通过并发包下的Executors(不是Executor)可以方便的创建如下几类线程池。分别为:

1582

扫码关注云+社区

领取腾讯云代金券