自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

原创 IntelliJ IDEA使用教程 (总目录篇)

IntelliJ IDEA使用教程 (总目录篇)

2020-06-15 10:02:13 88837 126

原创 听说有些老铁,要感谢下大师兄?里边请,聊一聊人生。

老铁,既然都点进来啦,那先别着急着走。 来啊,看茶!!! 少年,我看你骨骼精奇,是万中无一的武学奇才,如果有一天,让你打通任督二脉,那还不飞龙上天哪!!! 正所谓:我不入地狱,谁入地狱,警恶惩奸,维护世界和平这个任务就交给你了,好吗? 这本《如来神掌》是无价之宝。 (看法宝......二维码....

2017-11-09 17:49:40 12815 66

原创 分布式系统中的CAP理论

一、什么是分布式系统 拿一个最简单的例子,就比如说我们的图书管理系统。之前的系统包含了所有的功能,比如用户注册登录、管理员功能、图书借阅管理等。这叫做集中式系统。也就是一个人干了好几件事。 后来随着功能的增多,用户量也越来越大。集中式系统维护太麻烦,拓展性也不好。于是就考虑着把这些功能分开。通...

2020-09-18 17:57:05 719 0

原创 Zookeeper高频面试题36问(附答案)

1.CAP理论? C : Consistency 一致性,数据在多个副本之间似否能够保持一致的特性。 A: Availability 可用性,系统服务必须一直处于可用状态,对每个请求总是在指定的时间返回结果。 P:Partition tolerance 分区容错性,遇到分区网络故障时,仍能对...

2020-09-17 13:43:52 51 0

原创 Zookeeper(动物园管理员)为什么需要他?分布式协调系统

需求推动事物的前进,所有相关技术都是在某些需求的驱动下才孕育而出,而且不断的为了满足需求,不得不进一步加强完善,上来就说zookeeper是啥,作用是啥,干了什么,是开源的分布式应用协调系统”blabla,到底什么是分布式协调,为什么分布式就需要协调。不懂,也不见得好理解、好记忆,还是从需求分析来...

2020-09-17 11:33:30 46 0

原创 Java kafka监控 topic的数据量count情况,每个topic的Summed Recent Offsets(总结最近的偏移量)

Java使用kafka的API来监控kafka的某些topic的数据量增量,offset,定时查总量之后,然后计算差值,然后就可以算单位间隔的每个topic的增量,kafka监控一般都是监控的吞吐量,即数据量的大小,而不在意这个count,数量。额,这个就是在意count。统计一下count。 ...

2020-09-16 22:16:28 60 0

原创 No tests found for given includes: [com.xxx.smm.kafka.KafkaTopicCountMonitorTest.test](filter.inc

idea 在 springboot + Gradle test时报错:No tests found for given includes 解决图 Gradle:IntelliJ IDEA使用Gradle作为默认测试运行器。结果,在持续集成(CI)服务器上获得相同的测试结果。此外,在命令行中...

2020-09-16 13:54:56 37 0

原创 Java Storm 原理、组件、概念介绍、hello world Java项目分享

零、问题导读: 1.hadoop有master与slave,Storm与之对应的节点是什么? 2.Storm控制节点上面运行一个后台程序被称之为什么? 3.Supervisor的作用是什么? 4.Topology与Worker之间的关系是什么? 5.Nimbus和Supervisor之间的所有协...

2020-09-16 10:00:45 59 0

原创 Java Elastic search 常用查询

java Elastic 客户端基本使用 引入jar compile 'org.elasticsearch:elasticsearch:5.5.0' compile 'org.elasticsearch.client:transport:5.5.0...

2020-09-15 16:55:43 108 0

原创 Java Storm Hello World 入门起手例子

1,Storm程序再Storm集群中运行的示例图如下: 2,Storm的几个核心概念名词 Nimbus:即Storm的Master,负责资源分配和任务调度。一个Storm集群只有一个Nimbus。 Supervisor:即Storm的Slave,负责接收Nimbus分配的任务,管理所有W...

2020-09-14 17:38:13 83 0

原创 Spring cloud nacos config 配置中心例子

Spring cloud 集成 nacos config配置中心的例子,自定义 dataId groupId namespace

2020-09-08 15:47:08 165 0

原创 Spring boot nacos config 配置中心的例子,自定义dataId groupId namespace

使用nacos作为配置中心,在非spring项目,直接使用nacos的 Java sdk也还是简单的。 nacos Java SDK 1.3.1 来实现配置管理 要是套上Spring的情况下。这个例子就是Spring boot + nacos来实现配置中心。好多例子都是只一个dataId,带上...

2020-09-08 14:54:41 156 0

原创 sm2 sm3 sm4 加密解密 Java实现

SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。 Java实例代码,参见下面的github连接,下载下来,引入jar包,直接run可以...

2020-09-04 17:20:06 347 0

原创 treemap 和 hashmap的效率比较

区别:1,hashmap是无序的,treemap是有序的,整个key是按照自然顺序来的。2,hashmap可以put一个null当key ,treemap却不支持。3,底层结构不一样,一个是数组➕红黑树,一个直接就是红黑树。 但是hashmap是最最最常用的map集合,不考虑顺序的时候,他是首选...

2020-09-02 16:39:56 136 0

原创 什么是RPC Remote Procedure Call 翻译成中文就是远程过程调用

如何科学的解释RPC 说起RPC,就不能不提到分布式,这个促使RPC诞生的领域。 假设你有一个计算器接口,Calculator,以及它的实现类CalculatorImpl,那么在系统还是单体应用时,你要调用Calculator的add方法来执行一个加运算,直接new一个CalculatorIm...

2020-08-25 18:10:31 97 0

原创 一个假的单例模式,虽然有双重加锁的代码,但还是假的单例。

单例模式这东西简单,也是平时写代码最常用的一个模式了。虽然你知道单例模式的要点。 1.私有(private)静态(static)的单例对象(object) 2.构造函数(struct)私有化-----可在构造方法初始化单例对象 3.提供对外(public),静态方法获得单例对象 你也知道最常见的就...

2020-08-24 17:15:00 316 1

原创 fastjson com.alibaba.fastjson.JSONException: unclosed string : 十

使用fastjson在转换的时候, com.alibaba.fastjson.JSONException: unclosed string : 十 at com.alibaba.fastjson.parser.JSONLexerBase.scanString(JSONLexerBase.jav...

2020-08-20 14:12:45 627 0

转载 学习一下秒杀系统的设计,以及需要考虑的问题

学习一下秒杀系统的设计,以及需要考虑的问题,学习一下模块化 正文 首先设计一个系统之前,我们需要先确认我们的业务场景是怎么样子的,我就带着大家一起假设一个场景好吧。 我们现场要卖100件婴儿纸尿裤,然后我们根据以往这样秒杀活动的数据经验来看,目测来抢这100件纸尿裤的人足足有10万人。 任...

2020-08-18 14:35:59 352 3

原创 nacos Java SDK 1.3.1 来实现配置管理

1,下载服务 源文件下载地址:https://github.com/alibaba/nacos/releases 我测试下载的某云盘地址:链接:https://pan.baidu.com/s/1_I5yX578x1nY4ZZ_u-WU7A 密码:27ue 2,安装 放到Linux服务器上,...

2020-08-17 16:43:28 270 0

原创 当Java jvm 一个线程OOM的时候,其它线程还能运行不?这个进程会gg不?

当一个Java程序报OOM的异常的时候,程序会gg吗?是只有一个线程gg呢,还是整个进程gg呢? /** * JVM 堆内存溢出后,其他线程是否可继续工作 * * @author LiXuekai on 2020/7/27 */ public class WhenOom { ...

2020-07-27 16:40:18 197 0

原创 Java 一个进程支持多少个线程同时运行的测试 Java max running thread count test

测试一下一个Java程序能同时造多少个线程,一起运行。直到 java.lang.OutOfMemoryError: unable to create new native thread看其它文章说 -Xms -Xmx设置heap的大小以及 -Xss 设置单个stack的大小对这个数有影响,我在 -...

2020-07-27 15:46:25 125 0

原创 Java 解析xml 使用SAXReader获取所有标签的key和value的代码实例

Java中使用SAXReader获取xml信息中所有标签的key和value,若是有二级或者继续嵌套,也可以递归获取的代码实例 package com.lxk.jdk.file.xml; import com.google.common.collect.Maps; import org.do...

2020-07-26 17:52:44 279 0

原创 java kafka 生产者和消费者的代码实例

生产者 import com.google.common.collect.Lists; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Produ...

2020-07-26 17:35:28 283 0

转载 Kafka消费者-从Kafka读取数据

(1)Customer和Customer Group (1)两种常用的消息模型 队列模型(queuing)和发布-订阅模型(publish-subscribe)。 队列的处理方式是一组消费者从服务器读取消息,一条消息只由其中的一个消费者来处理。 发布-订阅模型中,消息被广播给所有的消费者,...

2020-07-26 17:24:55 140 0

转载 Kafka生产者-向Kafka中写入数据

(1)生产者概览 (1)不同的应用场景对消息有不同的需求,即是否允许消息丢失、重复、延迟以及吞吐量的要求。不同场景对Kafka生产者的API使用和配置会有直接的影响。 例子1:信用卡事务处理系统,不允许消息的重复和丢失,延迟最大500ms,对吞吐量要求较高。 例子2:保存网站的点击信息,允许...

2020-07-26 17:16:29 243 0

原创 Runtime.getRuntime().addShutdownHook()

解决 the application appears to have started a thread ... but failed to stop it,this is very likely to create a memory leak.这个警告 RunTime.getRunTime()....

2020-07-16 13:51:17 110 0

原创 volatile关键字是否真的理解了,就看怎么回答这个问题。

问题: a,b,c三个变量,其中c是volatile的,a,b是普通变量, a = 1, b = 2, c = 3, c写入之后,a,b的值也会被刷入缓存吗,还是c写入之前所有在cpu缓存的数据都会被刷入内存,还是只刷入和c在同一个缓存行的数据? 答: 要按happens bef...

2020-07-08 15:49:04 231 0

原创 G1 GC 全称Garbage-First Garbage Collector 的全面全方位总结
原力计划

关键描述 G1是一种服务器端的垃圾收集器,应用在多处理器和大内存环境中,在实现高吞吐量的同时,尽可能的满足垃圾收集暂停时间的要求,全堆操作(例如全局标记)与应用程序线程并行执行。这样可以防止与堆或活动数据大小成比例的中断。 G1收集器的设计目标是取代CMS收集器,它同CMS相比,在以...

2020-07-02 10:13:41 336 0

原创 concurrent 和 parallel; 并发和并行的区别

在看g1gc文章的时候,把concurrent and parallel phases翻译成并发和并行阶段,感觉这2个词不是一个意思吗?为啥他原始文档要强调这2个词呢。深究一下,果然不是一个意思。 总体概念: 在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调用机制有多种形式(大...

2020-06-28 17:16:30 147 0

翻译 G1 GC 调优学习 了解有关如何调整和调整G1 GC以进行评估,分析和性能的信息。

G1 GC是Java HotSpot虚拟机的低暂停,服务器风格的分代垃圾收集器。G1 GC使用并发(concurrent)和并行(parallel)阶段来实现其目标暂停时间并保持良好的吞吐量。当G1 GC确定需要进行垃圾收集时,它将首先收集存活数据最少的区域(垃圾优先处理)。 垃圾收集器(GC)...

2020-06-27 15:37:56 344 0

翻译 G1 GC 全称 Garbage-First Garbage Collector

介绍 Oracle JDK 7.4或更高版本完全支持Garbage-First(G1)垃圾收集器。G1收集器是server-style的垃圾收集器,适用于具有大内存的多处理器计算机。它极有可能满足垃圾回收(GC)暂停时间目标,同时实现高吞吐量。全堆操作(例如全局标记)与应用程序线程并行执行。这样...

2020-06-27 14:39:09 148 0

原创 elastic search 查询2个字段值的差 大于某个值,再带点查询条件的语句

带了个查询条件:字段 a的值等于 xxxx,然后 字段a 的值减去 字段 b字段的值的差,大于10的结果

2020-06-24 17:44:17 642 0

原创 maven 项目pom.xml中获取git 信息--git-commit-id-plugin 插件

使用maven项目+git来管理项目,现在想在发版的时候,知道包实际使用的git记录的版本号。 <plugin> <groupId>pl.project13.maven</groupId> &l...

2020-06-18 15:29:18 359 0

原创 gradle git 版本号--自定义打jar包的name

以前这个gradle都是给Android使用的,万万没想到,Java的其它项目也能使用,甚至能替代maven或者说maven和gradle项目是可以互相转换的。还有就是在使用svn来管理项目的时候,每个svn版本都对应一个数字,但是换了git之后,每个提交记录就不是简单的生成个int数字,还是递增...

2020-06-17 17:09:41 232 0

原创 Java 字符串常量池到底是在PermGen方法区、是在heap堆里面、还是在Metaspace 元空间里面呢?

要是没有实践过别人书本上的理论的话,就还是会说常量池在方法区里面,要是知道方法区已经随jdk升级,被逐步干掉的话,就会看到有的文章说移动到heap堆里面了,还有极少的说移动到Metaspace里面了,产生了分歧。这个时候就需要实践出真知了。 /** * 测试 常量池在分区的位置 * * ...

2020-06-15 17:59:33 645 3

原创 Java 内存分区之什么是 CCS区 Compressed Class Space 类压缩空间

了解到什么是ccs区,一般都是实际执行了jstat -gc 之后,看Java堆的gc相关的几个分区的gc信息,前面的s0,s1,e区,o区,还好猜,研究过分区的,不难猜出来这个分区是啥意思,M区虽然不知道是Metaspace元空间,但是错把这个M区当成Method area 方法区,也说的过去。这...

2020-06-15 15:47:50 409 1

原创 Java 内存分区之 堆外内存 Metaspace 元空间 取永久代PermGen 而代之

在稍微了解Java内存分区的时候,大多数文章都是出自深入理解jvm这本书,上来就是给你分了 程序计数器,Java虚拟机栈,本地方法栈,堆,方法区,还有个直接内存,还说方法区里面有个常量池。在写这本书的时候,jdk还在1.6,但是现在2020年jdk都已经jdk14了,虽然还没普及jdk14,但是估...

2020-06-15 11:50:42 382 0

原创 -xms和-xmx设置完之后,堆的大小就真的是设置的大小吗?

前面看了jdk的几个查看jvm信息的命令,然后只看不动手,不用回头就忘记的干干净净了。还是实际使用一下,然后顺便结合着jvm的内存分区,再深层次的记录一下几个分区的名称、大小、gc器、等等。 首先,查看一个进程,筛选一个进程,就可以使用jps -mvl ,m让他带上方法参数,v带上设置的jvm参...

2020-06-13 17:33:56 381 0

原创 Java内存中指令重排序导致的线程问题,以及 volatile 作用之禁止内存指令重排序的代码实例

一般在看JMM(Java内存模型)的时候,里面有代码会因为种种原因优化,导致指令重排。也没实际见过。也没法验证这个说法。 说是volatile这个关键词可以1,禁止指令重排,2,内存可见。这都是理论,回头就忘记了。 下面用实际例子,切身体会一下他这个重排序。 这个Java代码例子充分的见识了指...

2020-06-12 12:33:06 179 0

原创 Java 之 jstack的使用:Java栈追踪工具

jstack命令打印指定Java进程、核心文件或远程调试服务器的Java线程的Java 栈跟踪。对于每个Java框架,将打印完整的类名、方法名、字节码索引(BCI)和行号(如果可用)。使用-m选项,jstack命令使用程序计数器(PC)打印所有线程的Java和本机帧。对于每个本机帧,打印距离PC最...

2020-06-11 16:35:38 200 0

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