
Java
文章平均质量分 64
伟仔NJ
这个作者很懒,什么都没留下…
展开
-
Log4j2实现加载不同模块的配置文件
在有的场景下,会出现各个业务模块独立配置自己的log4j2.xml配置文件。如果是单个log4j2.xml,只需要放到classes目录下即可自动加载,如果是多个分散在不同目录下的配置文件怎么办呢?实现方法主要有两步: - 将log4j2升级到2.11版本; - 获取到这些配置文件; - 将这些配置文件加载到环境变量中。将log4j2升级到2.11版本据我所知,最新的log4...原创 2018-05-10 21:05:18 · 4628 阅读 · 0 评论 -
从Java内存模型讲双重检查锁原理
什么是双重检查锁?双重检查锁(Double-Check Locking),顾名思义,通过两次检查,并基于加锁机制,实现某个功能。 要理解什么是双重检查锁,我们从常见的单例模式说起。看第一个例子: 上图中的单例模式一看就知道存在线程问题,如果两个线程:线程A和线程B,同时访问该类,线程A访问到第6行,在还没有实例化完成的时候,线程B访问到第5行,此时也会判断到instance=nul...原创 2018-05-12 13:26:08 · 252 阅读 · 0 评论 -
Disruptor系列2:Disruptor原理剖析
都说Disruptor是高性能、低延迟的内存队列,每秒可以处理600W的订单,但是它为什么这么快呢?这就需要我们从他的底层设计原理开始剖析。我觉得,学习了他的实现原理,对自身了解Java并发内存结构是有很大的好处的,因为它把如何基于Java内存结构实现高性能的并发操作,解决锁的性能开销问题发挥到了极致。无锁(Lock-Free)要想提高内存队列的性能,首先需要解决的就是并发环境下锁的开销问...原创 2018-05-21 08:52:33 · 3856 阅读 · 0 评论 -
Disruptor系列1:初识Disruptor
通过这篇文章来记录和分享对Disruptor的初步了解认识Disruptor框架。Disruptor是什么?Disruptor是一个高性能的异步处理框架,或者可以认为是线程间通信的高效低延时的内存消息组件,它最大特点是高性能,其LMAX架构可以获得每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。 它是如何实现高性能的呢?它由于JDK内置的队列有什么区别呢?JDK内置内存...原创 2018-05-10 09:34:45 · 2626 阅读 · 0 评论 -
在Hadoop项目中报java.lang.NoSuchMethodError:MoreExecutors.directExecutor()异常的解决方法
异常现象线上部署java项目,启动后报Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor() Ljava/util/concurrent/Executor;异常。异常排查通过该异常判断是guava版...原创 2018-05-23 14:58:17 · 3096 阅读 · 0 评论 -
基于JTS实现对空间绘图的WTK语言标记
在项目中用到在地图上绘图进行区域标记,为了便于存储这些区域的绘图信息,以及方便其他GIS工具识别,于是采用WTK标记语言作为空间图形存储,可以方便地将点、圆、多边形的经纬度转成可识别的字符串存储到数据库中,以及从数据库中读取这些数据,转换成经纬度上图。需要用到的jar包gt-api-19.1.jargt-main-19.1.jargt-metadata-19.1.jargt-re...原创 2018-07-24 09:20:40 · 822 阅读 · 0 评论 -
基于WatchService实现对目录下文件操作的实时监控
我们在做数据接入或者文件解析的时候,经常需要对目录下的文件进行监控和解析。在对文件监控时,以前的做法是通过定时轮询该目录下,获取该目录的文件,该方法会有延时。从 JDK 1.7 版本开始,提供了 WatchService 接口,基于操作系统原生文件系统,实现对文件创建、修改和删除操作的实时监控。但是需要注意的是,WatchService 只能对我们编写的程序启动后对文件的操作进行监视,对于目录...原创 2018-07-26 13:56:26 · 4219 阅读 · 0 评论 -
WebSocket快速上手
文章目录WebSocket快速上手1. WebSocket是什么?1.1. WebSocket连接过程1.2. WebSocket与HTTP对比1.3. WebSocket协议2. 快速上手2.1 服务端2.2 客户端2.2.1 浏览器客户端2.2.2 Java客户端WebSocket快速上手1. WebSocket是什么?WebSocket建立在TCP协议之上,并且与HTTP协议有着良好的...原创 2018-11-26 14:57:28 · 20889 阅读 · 0 评论