自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

  • 博客(610)
  • 资源 (5)
  • 论坛 (5)
  • 收藏
  • 关注

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

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

2020-06-15 10:02:13 93904 137

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

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

2017-11-09 17:49:40 13302 68

原创 nacos一直频繁的打印日志 get changegroupkeys

正常情况下应该是30秒打印一次日志的,但是,重启了一下微服务之后,这个日志竟然疯狂输出。如下图。升级nacos版本不一定能解决问题,我这使用的是1.3.1的版本。生产环境,5个实例组成nacos集群,五个相同的微服务组成集群访问nacos,弄了不少的namespace,nacos的数据存在mysql数据库中。

2020-11-26 15:43:19 35

原创 spring boot/cloud 动态获取 服务器/ 客户端 的IP端口信息

获取当前启动模块的IP,端口,app名称,本地服务器名称等信息。服务器端口 port,appName,都是在boot启动文件中就有的,可以直接使用@Value获取。剩下的靠 InetAddress.getLocalHost()方法就好。除了获取服务器自己的IP,可能还是会需要获取到访问这个服务器的IP信息,记录一下请求都是谁来了。这时候需要使用到 ServerWebExchange.getRequest()..getRemoteAddress();然后在这个里面一通操作能拿到些请求发起方即客户端的一些信息,

2020-11-17 11:05:08 147

原创 spring cloud gateway 重定向到登陆页面的设置 继承GlobalFilter,自定义filter ,前端是vue实现的。

在gateway做权限设置和路由,转发请求到其他子服务模块,要是token超时了,则需要给重定向到登陆页面,前端使用vue.js实现。@Componentpublic class JwtTokenFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {

2020-11-17 10:54:37 124

原创 java storm streamId 使用的例子

Java storm 中有时候会遇到一个数据需要向后发几次,而且互不影响的。比如场景:从kafka spout里面消费数据,现在有几个 topology都是从kafka里面的同一个topic消费数据,进行后续处理的。这几个bolt都需要处理全量的数据,那就不能用相同的group id来消费来,一种简单粗暴的处理方式就是使用n个spout,单独的画topology图,但是这个会增加kafka服务器的读数据压力,相同的数据被不同的group id消费了n次。所以,最好的就是一个spout里面消费出来,然后在内存

2020-10-30 17:24:13 93

原创 spring cloud alibaba nacos config 从 nacos server上加载多个配置文件

在Spring cloud里面,使用spring.cloud.nacos.config可以把项目使用的配置放到nacos服务器上去管理,极大的方便了配置文件的修改管理还原备份复制等一系列后期维护动作。有nacos配置中心在,使得项目的配置维护变得方便了不少,这示范一下Spring cloud nacos config从一个和多个配置文件获取配置信息的例子。从一个配置文件中获取配置配置比较简单,在bootstrap.properties里面如下就行:spring.application.name

2020-10-26 16:02:59 249 1

原创 Java Storm 消费kafka数据即KafkaSpout的消费实例,还有 为啥要input.getString(4),这个4怎么来的。

使用kafka作为数据源,给storm的后续bolt提供数据的例子,还有 为啥要input.getString(4),这个4怎么来的。先看main方法,步骤很清新的。package com.lxk.storm;import com.lxk.storm.bolt.OutInfoBolt;import org.apache.kafka.common.utils.Utils;import org.apache.storm.Config;import org.apache.storm.Local

2020-10-13 14:45:31 62

原创 github上下载项目代码贼慢,使用的是https下载的,要不是试试 github desktop。

使用idea想把github上 的项目在另一个机器上下载下来,使用的是https的方式下载,选了目录之后,下载速度那是真的可怜,20kb/S,简直了,在网上搜了一下,说是修改hosts文件,我没实验,因为我有梯子啊,速度应该不慢才对,难道梯子没墙高?然后本地之前也曾经装过github desktop,然后把那个给卸载了,再下载个最新版本的github desktop,然后使用这个去下载,哇,速度瞬间就上来了。不是20kb/S了。就用图中这个去下载,不用上面那个https的地址,那个好慢哦,具体原因解

2020-10-12 21:35:12 175

原创 Java client 写 Kafka 失败的处理,client和server都得把配置参数优化一下

1,java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for topic-partion: 3000 ms has passed since batch creation plus linger time2,java.util.concurrent.ExecutionException:org.apache.kafka.common.er

2020-09-28 14:05:31 199

原创 kafka server/broker 服务端的参数配置说明

一、Kafka概述关于Kafka,我们在之前的文章里也介绍,简而言之Kafka是一个分布式消息引擎与流处理平台,经常用做企业的消息总线、实时数据管道,有时还可以当做存储系统来用。Kafka的设计遵循生产者消费者模式,其中生产者和消费者都属于客户端,服务端则是由多个broker实例组成,broker主要负责接收和处理来自客户端的请求,以及对消息进行持久化。基本架构如下:二、broker端核心参数1. broker.id参数说明:broker的唯一标识id,默认值为-1,如果不指定Kafka

2020-09-28 10:05:11 185

原创 Java kafka producer 的常用参数的意义说明及建议

生产端核心参数1. acks参数说明:这是一个非常重要的参数,表示指定分区中成功写入消息的副本数量,这是Kafka生产端消息的持久性(durability)保证。只有当leader确认已成功写入消息的副本数后,才会给Producer发送响应,此时消息才可以认为“已提交”。该参数影响着消息的可靠性以及生产端的吞吐量,并且两者往往相向而驰,通常消息可靠性越高则生产端的吞吐量越低,反之亦然。acks有3个取值: acks = 0:表示生产端发送消息后立即返回,不等待broker端的响应结果。通常此时

2020-09-26 22:25:53 130

原创 Java junit test Kafka producer send 数据没有到Kafka的topic的原因

一般发送数据到Kafka,就是new一个producer,然后简单到send就好了,就可以在kafka里面看到数据了,可以使用命令行的消费模式,但是你在写测试代码的时候,想看看数据是否真的写到kafka服务器了的时候,就发现,额,好像数据没发送到kafka服务器上似的,代码也看似没问题哦。生产端ProducerRecord经过序列化器、分区器处理后,并不是直接发往broker端,而是发送到客户端的消息缓冲池(Accumulator) 中,最后交由Sender线程发往broker端。

2020-09-26 14:22:56 240

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

一、什么是分布式系统拿一个最简单的例子,就比如说我们的图书管理系统。之前的系统包含了所有的功能,比如用户注册登录、管理员功能、图书借阅管理等。这叫做集中式系统。也就是一个人干了好几件事。后来随着功能的增多,用户量也越来越大。集中式系统维护太麻烦,拓展性也不好。于是就考虑着把这些功能分开。通俗的理解就是原本需要一个人干的事,现在分给n个人干,各自干各自的,最终取得和一个人干的效果一样。稍微正规一点的定义就是:一个业务分拆多个子业务,部署在不同的服务器上。 然后通过一定的通信协议,能够让这些子业务之

2020-09-18 17:57:05 928

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

1.CAP理论?C : Consistency 一致性,数据在多个副本之间似否能够保持一致的特性。 A: Availability 可用性,系统服务必须一直处于可用状态,对每个请求总是在指定的时间返回结果。 P:Partition tolerance 分区容错性,遇到分区网络故障时,仍能对外提供一致性和可用性的服务。 不能同时满足3个要求,只能满足其中的两个。 2.BASE理论?Basically Available(基本可用)、Soft state(软状态) 和 Eventuanl

2020-09-17 13:43:52 291

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

需求推动事物的前进,所有相关技术都是在某些需求的驱动下才孕育而出,而且不断的为了满足需求,不得不进一步加强完善,上来就说zookeeper是啥,作用是啥,干了什么,是开源的分布式应用协调系统”blabla,到底什么是分布式协调,为什么分布式就需要协调。不懂,也不见得好理解、好记忆,还是从需求分析来了解他的由来和作用,了解这个过程,在自己后期设计实现产品的时候,也会想的多一点。为什么需要 Zookeeper举个例子,来说明说明需求驱动技术不断升级完善加强。一个团队里面,需要一个leader,lead

2020-09-17 11:33:30 109

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

Java使用kafka的API来监控kafka的某些topic的数据量增量,offset,定时查总量之后,然后计算差值,然后就可以算单位间隔的每个topic的增量,kafka监控一般都是监控的吞吐量,即数据量的大小,而不在意这个count,数量。额,这个就是在意count。统计一下count。使用的jar依赖 compile group: 'org.apache.kafka', name: 'kafka_2.10', version: '0.8.0'Java代码import c

2020-09-16 22:16:28 450

原创 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)服务器上获得相同的测试结果。此外,在命令行中运行的测试将始终在IDE中运行。 IntelliJ IDEA:选择此选项可将测试过程委派给IntelliJ IDEA。在这种情况下,IntelliJ IDEA使用 JUnit 测试运行器,并且由于增量编译,测试运

2020-09-16 13:54:56 248

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

零、问题导读:1.hadoop有master与slave,Storm与之对应的节点是什么?2.Storm控制节点上面运行一个后台程序被称之为什么?3.Supervisor的作用是什么?4.Topology与Worker之间的关系是什么?5.Nimbus和Supervisor之间的所有协调工作有master来完成,还是Zookeeper集群完成?6.storm稳定的原因是什么?7.如何运行Topology?strom jar all-your-code.jar backtype.storm.M

2020-09-16 10:00:45 156

原创 Java Elastic search 常用查询

java Elastic 客户端基本使用引入jar compile 'org.elasticsearch:elasticsearch:5.5.0' compile 'org.elasticsearch.client:transport:5.5.0client基本使用得到clientSettings settings = Settings.builder().put("cluster.name", "lw-6-test").build();TransportClient

2020-09-15 16:55:43 708

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

1,Storm程序再Storm集群中运行的示例图如下:2,Storm的几个核心概念名词Nimbus:即Storm的Master,负责资源分配和任务调度。一个Storm集群只有一个Nimbus。 Supervisor:即Storm的Slave,负责接收Nimbus分配的任务,管理所有Worker,一个Supervisor节点中包含多个Worker进程。 Worker:工作进程,每个工作进程中都有多个Task。 Task:任务,在 Storm 集群中每个 Spout 和 Bolt 都由若干个任

2020-09-14 17:38:13 122

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

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

2020-09-08 15:47:08 499

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

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

2020-09-08 14:54:41 924

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

SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。Java实例代码,参见下面的github连接,下载下来,引入jar包,直接run可以的。国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位使用的依赖 // https://mvnrepository.com/artifact

2020-09-04 17:20:06 1294 1

原创 treemap 和 hashmap的效率比较

区别:1,hashmap是无序的,treemap是有序的,整个key是按照自然顺序来的。2,hashmap可以put一个null当key ,treemap却不支持。3,底层结构不一样,一个是数组➕红黑树,一个直接就是红黑树。但是hashmap是最最最常用的map集合,不考虑顺序的时候,他是首选,假如你希望有点顺序的话,想使用一下treemap,但是整个treemap和整个hashmap的效率到底差别多少,不太确定,万一整个treemap效率很低,那就影响程序性能了,那就不好了。测试一下,有个底。简单

2020-09-02 16:39:56 355

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

如何科学的解释RPC说起RPC,就不能不提到分布式,这个促使RPC诞生的领域。假设你有一个计算器接口,Calculator,以及它的实现类CalculatorImpl,那么在系统还是单体应用时,你要调用Calculator的add方法来执行一个加运算,直接new一个CalculatorImpl,然后调用add方法就行了,这其实就是非常普通的本地函数调用,因为在同一个地址空间,或者说在同一块内存,所以通过方法栈和参数栈就可以实现。现在,基于高性能和高可靠等因素的考虑,你决定将系统改造为分布式应

2020-08-25 18:10:31 132

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

单例模式这东西简单,也是平时写代码最常用的一个模式了。虽然你知道单例模式的要点。1.私有(private)静态(static)的单例对象(object)2.构造函数(struct)私有化-----可在构造方法初始化单例对象3.提供对外(public),静态方法获得单例对象你也知道最常见的就是使用双重旋锁来判断对象是否已经初始化了,来控制有且只有一个单利会被初始化。但是,下面这个代码的单例模式有问题,看看能看出来哪有问题不?看不出问题的,还请继续往下看吧。public class Sender

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

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

使用fastjson在转换的时候,com.alibaba.fastjson.JSONException: unclosed string : 十 at com.alibaba.fastjson.parser.JSONLexerBase.scanString(JSONLexerBase.java:1001) at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:485) ...

2020-08-20 14:12:45 1799

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

学习一下秒杀系统的设计,以及需要考虑的问题,学习一下模块化正文首先设计一个系统之前,我们需要先确认我们的业务场景是怎么样子的,我就带着大家一起假设一个场景好吧。我们现场要卖100件婴儿纸尿裤,然后我们根据以往这样秒杀活动的数据经验来看,目测来抢这100件纸尿裤的人足足有10万人。任何系统我们开始设计之前我们都应该去思考会出现哪些问题?这里我罗列了几个非常经典的问题:问题高并发:是的高并发这个是我们想都不用想的一个点,一瞬间这么多人进来这不是高并发什么时候是呢?是吧,秒杀的特点

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

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

1,下载服务源文件下载地址:https://github.com/alibaba/nacos/releases我测试下载的某云盘地址:链接:https://pan.baidu.com/s/1_I5yX578x1nY4ZZ_u-WU7A 密码:27ue2,安装放到Linux服务器上,解压,tar xzvf nacos-server-1.3.1.tar.gz ,然后 cd nacos/bin 然后运行Linux下的启动脚本,./startup.sh...

2020-08-17 16:43:28 383 1

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

当一个Java程序报OOM的异常的时候,程序会gg吗?是只有一个线程gg呢,还是整个进程gg呢?/** * JVM 堆内存溢出后,其他线程是否可继续工作 * * @author LiXuekai on 2020/7/27 */public class WhenOom { public static void main(String[] args) { new Thread(() -> { List<byte[]> list

2020-07-27 16:40:18 224

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

测试一下一个Java程序能同时造多少个线程,一起运行。直到 java.lang.OutOfMemoryError: unable to create new native thread看其它文章说 -Xms -Xmx设置heap的大小以及 -Xss 设置单个stack的大小对这个数有影响,我在 -Xms 10m,1g,6g -Xss170k, 10m,100m,都是在4075左右就OOM拉。测试环境,jdk1.8 ,mac os

2020-07-27 15:46:25 163

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

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

2020-07-26 17:52:44 448

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

生产者import com.google.common.collect.Lists;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.ProducerRecord;import org.junit.Test;import java.util.List;import java.util.Properties;import static org.a

2020-07-26 17:35:28 470

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

(1)Customer和Customer Group(1)两种常用的消息模型队列模型(queuing)和发布-订阅模型(publish-subscribe)。队列的处理方式是一组消费者从服务器读取消息,一条消息只由其中的一个消费者来处理。发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息。(2)Kafka的消费者和消费者组Kafka为这两种模型提供了单一的消费者抽象模型:消费者组 (consumer group)。 消费者用一个消费者组名标记自己。 一个.

2020-07-26 17:24:55 407

转载 Java kafka producer 发送数据

(1)生产者概览(1)不同的应用场景对消息有不同的需求,即是否允许消息丢失、重复、延迟以及吞吐量的要求。不同场景对Kafka生产者的API使用和配置会有直接的影响。例子1:信用卡事务处理系统,不允许消息的重复和丢失,延迟最大500ms,对吞吐量要求较高。例子2:保存网站的点击信息,允许少量的消息丢失和重复,延迟可以稍高(用户点击链接可以马上加载出页面即可),吞吐量取决于用户使用网站的频度。(2)Kafka发送消息的主要步骤消息格式:每个消息是一个ProducerRecord对象,必须指定

2020-07-26 17:16:29 484

原创 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().addShutdownHook的作用就是在JVM销毁前执行的一个线程.当然这个线程依然要自己写.有时候我们用到的程序不一定总是在JVM里面驻守,可能调用完就不用了,释放资源.利用这个性质,如果我们之前定义.

2020-07-16 13:51:17 128

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

问题: a,b,c三个变量,其中c是volatile的,a,b是普通变量, a = 1, b = 2, c = 3, c写入之后,a,b的值也会被刷入缓存吗,还是c写入之前所有在cpu缓存的数据都会被刷入内存,还是只刷入和c在同一个缓存行的数据?答: 要按happens before来考虑这种问题,不要想着(cache),Java的修正过的内存模型其实基本点很简单,同一线程内的副作用按程序顺序发生,所以a、b、c的赋值如果是在同一线程内按这个顺序写的,实际执行就要按照这个...

2020-07-08 15:49:04 248

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

关键描述 G1是一种服务器端的垃圾收集器,应用在多处理器和大内存环境中,在实现高吞吐量的同时,尽可能的满足垃圾收集暂停时间的要求,全堆操作(例如全局标记)与应用程序线程并行执行。这样可以防止与堆或活动数据大小成比例的中断。 G1收集器的设计目标是取代CMS收集器,它同CMS相比,在以下方面表现的更出色:* G1是一个有整理内存过程的垃圾收集器,在回收垃圾的时候会压缩存活对象。不会产生很多内存碎片。* G1的Stop The World(STW)更可控,G1在停顿时间上添加...

2020-07-02 10:13:41 439

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

在看g1gc文章的时候,把concurrent and parallel phases翻译成并发和并行阶段,感觉这2个词不是一个意思吗?为啥他原始文档要强调这2个词呢。深究一下,果然不是一个意思。总体概念:在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调用机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent)。而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方式叫做并行(p

2020-06-28 17:16:30 195

SyslogWatcher

SyslogWatcher

2017-05-03

Java开发手册(阿里巴巴-公开版)

阿里巴巴 JAVA 开发手册 阿里巴巴 JAVA 开发手册 编程规约 异常日志 MYSQL 规约 工程规约 安全规约

2017-01-13

guava-19.0.jar

guava-19.0.jar包

2016-10-26

大众点评sdk例子

大众点评sdk例子,里面还有个中平台的例子,我用的是安卓平台的,经测试可行。里面还有个oAuthu授权的例子,也是可以用的,在adt上可以运行。需要自己申请app key和 app secret

2015-08-03

全国省市区sqlite数据库

全国省市区sqlite数据库,数据全,体积小。好的话,给好瓶。

2015-07-08

李学凯的留言板

发表于 2020-01-02 最后回复 2020-04-16

org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to

发表于 2017-04-06 最后回复 2019-03-30

博客评论中的<>会被转义,怎么防止特殊符号被转义

发表于 2017-10-31 最后回复 2017-12-27

我发现个写博客的bug

发表于 2017-01-22 最后回复 2017-02-24

我的博客被封了,说是什么敏感词问题。求管理员速度给我解除封印啊。急急急。

发表于 2017-02-20 最后回复 2017-02-20

空空如也

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

TA关注的人 TA的粉丝

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