自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

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

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

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

2017-11-09 17:49:40 15675 72

原创 兄弟,抬杠吗?

兄弟,抬杠吗?当你和其他人争辩、争吵、音调偏高的时候,就得考虑一下我是不是在抬杠?是的,没错,你就是在抬杠!!!为什么要杠呢?无非是自己的观点、看法、做法、意见等,和其他人不一致,然后呢,又迫切的想要表达自己,或者想改变其他人,然而,别人也不是善茬儿,矛盾就此产生。双方各执一词星星之火,可以燎原,不知不觉间,就陷入上述的困境这有意无意的就杠上了有必要吗?我为什么要和你硬杠呢?利益?很大的利益吗?不!!!压根儿啥也没有!回头想想,让你陷入困境的起源,着实不起眼就比如说观

2021-11-23 18:05:54 296

原创 统计项目代码行数 intelliJ idea statistic 插件

任务需求是让你统计一下,现在涉及到的每个模块的代码的行数,这个任务怎么实现呢?哎,这idea竟然有个现成的插件,直接拿来用,就能实现对源码的简单分析和统计。直接在idea的插件仓库里面搜索“statistic”,然后,下载,安装,重启idea,找到statistatistic,然后refresh一下,就能看到项目的代码统计信息了。

2021-11-22 13:48:33 355 1

原创 2021新版intelliJ idea 单元测试设置jvm参数的地方

写了个junit test方法,想设置一下JVM的内存参数,竟然找不到入口,这个设置之前版本是摆在明面上的,现在把这个VM options默认给隐藏了,害得我在下面的environment variable这地方坑了很久,简直岂有此理。关键还是死活不管用,留个截图,以备不时之需。

2021-11-17 16:25:42 333

原创 Java定时线程实现:scheduleAtFixedRate 和 scheduleWithFixedDelay 的差别

Java实现定时任务,一般都是用一个线程,设置个时间,让他定时执行,注意力一般都是集中在这个线程的实现,很少考虑到具体定时执行线程的这个过程。scheduleAtFixedRate 和 scheduleWithFixedDelay 的差别大吗?要是不了解的话,还真会因为不了解两者的差别导致一些线上bug呢!正规的做法,咱要使用线程,就得正规的使用线程池来实现线程的调用,而不能图一时之快,手动的弄个线程就给他start了,这么操作是不妥当,坚决反对。而创建线程池又有讲究,期望自己手动设置一些参数,从而了解

2021-11-12 16:44:54 387

原创 maven 打包时候修改包名称带上git版本号和打包时间

使用 maven 插件 git-commit-id-plugin 可以获取项目的git信息,然后,使用这个信息,修改打包的名称,使其带上git版本号以及打包时间。

2021-11-12 15:19:16 54

原创 ElasticSearch 聚合查询语句 histogram 时序图例子

在es中按照时间字段,以2分钟为时间粒度,也就是把2分钟数据统计一下交易量,然后统计一整天的数据量,最后用这数据做个时序图。

2021-11-12 10:07:39 897

原创 kafka rebalance 总结说明图

用kafka的第一件事儿就得了解kafka的重平衡,即kafka的rebalance,这个很重要,不然这个kafka就会使不好的,出问题了,就理解不了,得了解一下什么是rebalance,能干啥,为啥要rebalance,rebalance的缺点和影响。

2021-11-04 10:11:01 1436

原创 一个Java程序的所有JVM参数 VM Flags

怎么看使用的是jdk 1.8ps -ef|grep xxx 找到pidjinfo pid就会展示出这个Java程序好多的信息,输出结果的最后面,有VM的参数,两行,VM Flags。下面是kafka服务服务的jvm参数,我给它切到两个列表里面展示一下。VM Flags:Non-default VM flags:非默认VM标志对应参数的理解-XX:CICompilerCount=4设置最大并行编译数,使用-XX:CICompilerCount=N来调整编译线程的数目

2021-11-03 17:28:25 60

原创 Java 如何获取泛型T的T.class当参数

先说需求,本意是想在父类里面实现一些最基础的方法,然后子类只需要简单的继承,然后就可以有大部分方法可以使用了。我这儿实际就是一个crud的接口,然后给这个接口来个base实现,除非特殊需求,简单继承这个base实现就能实现model的crud。但是呢,find all方法内部需要一个使用另外一个方法,这个方法必须的传入T.class 当参数。看接口和他的base实现public interface CrudRepository<T> { Iterable<T> find

2021-10-29 15:22:15 86

原创 g1gc调优的一次实战记录

Java内存区域 或 Jvm 内存结构线程共享的堆方法区直接内存(非运行时数据区的一部分)线程私有的程序计数器虚拟机栈本地方法栈GC算法1,标记 -清除算法2,复制算法3,标记-压缩算法4,分代收集算法一般将堆分为新生代和老年代。新生代使用: 复制算法老年代使用: 标记 - 清除 或者 标记 - 整理 算法JDK 8 版本之后方法区(HotSpot 的永久代)被彻底移除了(JDK1.7 就已经开始了),取而代之是元空间G1 GCG1 GC是Java H

2021-10-24 21:43:16 1923

原创 java: You aren‘t using a compiler supported by lombok, so lombok will not work and has been disabled

本来项目运行好好的,但是不知道怎么回事儿,啥也没干,运行一个测试方法,死活就是运行不过。然后,就是lombook不管事儿了。也解释不了为什么,使用的是gradle工具来关联jar包的。compile 'org.projectlombok:lombok:1.18.20'不管我是reload 依赖,重新build项目,都不好使。然后就一直运行不成功。网上找了一圈,说是把版本降级,...

2021-10-22 13:46:46 77

原创 Java8 LocalDateTime 转时间戳 秒、毫秒

时间转秒和毫秒 private static final ZoneId ZONE_ID = ZoneOffset.systemDefault(); /** * 8小时的秒数 */ private static final int OFFSET = 8 * 60 * 60; /** * LocalDateTime -> 秒 * * @param localDateTime localDateTime *

2021-09-29 15:50:16 471

原创 Git服务器地址变了本地怎么办

因为chrome浏览器屏蔽了10080端口,导致git不能在chrome上打开了,那就修改一下端口。本地还有一大批项目代码呢,若是都再下载一次,属实太费时费力了。怎么修改本地的git地址和服务器一致呢?方法一 通过命令直接修改远程地址进入git_test根目录git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址git remote set-url origin http://192.168.100.235:9797/john/git_test.git

2021-08-11 10:42:47 90

原创 错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException

错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: slave192: slave192: 未知的名称或服务kafka启动的时在kafkaServer.out出这个错.解决方法:vi /etc/hosts把当前机器的IP和名称给添加到这个文件中,不需要重启服务器就能行。...

2021-07-15 14:26:03 115

原创 Java Linux下给程序加上gc日志打印的配置

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/ezdata/log/stat/stat-gc.log.$(date +%Y%m%d%H%M) -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M

2021-07-02 16:25:51 270 2

原创 java--并发 锁 Lock & Condition

并发编程的关键是什么 ?互斥同一时刻,只允许一个线程访问共享资源同步线程之间通信、协作JUC是通过Lock、Condition接口实现的管程Lock解决互斥Condition解决同步既生 synchronized 何生 Lock ?在JDK 1.5,synchronized性能差于Lock,但1.6后,synchronized被优化,将性能提高,所以1.6后又推荐使用synchronized。所以并不是因为性能问题才生的lock。问题的关键在于:死锁问题的破坏"不可抢占"条

2021-05-14 14:44:50 194

原创 String类为什么是final类型?

String类为什么是final类型?首先,先得清楚 final 这个关键字。final的出现就是为了为了不想改变,而不想改变的理由有两点:设计(安全)或者效率。final 修饰的类是不被能继承的,所以 final 修饰的类是不能被篡改的。了解了这一点,我们再看看问题:从设计安全上讲确保它们不会在子类中改变语义。String类是final类,这意味着不允许任何人定义String的子类。换言之,如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象。Str

2021-05-14 14:42:24 358

原创 Java signed unsigned long 无符号数和有符号数之间的转换测试

Java 中的long类型是64位,即64个二进制位在一起来表示一个数,但是64个bit位中,最顶上1个bit是标志位,用来表示正负数的,所以,他能表示的最大的正数,就是63个1,带上最高位是0,然而其他的平台是可以把64位全部用来表示数字的。没有把最高位当作标记位来用。怎么把这个无符号的数字变成Java能表示的long呢? @Test public void Max() { System.out.println(Long.MAX_VALUE); Syst

2021-04-28 14:25:58 386

原创 Java hashmap一个简单的for循环,竟然都可以给写成死循环,真佩服写这代码的人。

本意是在循环hashmap的时候,根据条件,把符合条件的kv键值对给删除掉。下面是错误代码,哎,就这个代码,竟然能陷入死循环。我也佩服,竟然能出现死循环,不得不佩服,道路千万条,代码不规范,错误就奇葩的一匹。

2021-04-23 10:02:44 217

原创 Java内存区域 或 Jvm 内存结构详解

Java 内存区域详解常见面试题基本问题介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)拓展问题String 类和常量池8 种基本类型的包装类和常量池一 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为

2021-04-22 10:50:41 206 2

原创 Java 现场排查CPU飙升占用过高的方法

linux 环境下,使用top -c 命令,查看服务器上各进程的CPU使用情况。b+ x,然后就能把所关注的行和运行的列给高亮了。如我第一张截图。然后q退出top命令,然后再top -Hp pid,我这就是 top -Hp 426476 查看单个进程里面是哪些线程在实际消耗CPU。选择占比较大的几个线程id,使用命令 printf "%x\n" 54956 把进程id给转成16进制使用jstack命令查看栈信息,具体:jstack 53514 | grep '0xd6ac' -A10-A10

2021-04-21 17:21:23 2239 8

原创 初识Flink 原理介绍、发展由来。

Apache Flink是什么?在当代数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题。随着雅虎对hadoop的开源,越来越多的大数据处理技术开始涌入人们的视线,例如目前比较流行的大数据处理引擎Apache Spark,基本上已经取代了MapReduce成为当前大数据处理的标准。但是随着数据的不断增长,新技术的不断发展,人们逐渐意识到对实时数据处理的重要性。相对于传统的数据处理模式,流式数据处理有着更高的处理效率和成本控制

2021-04-15 17:40:51 197

原创 Java代码实现计算2个日期时间相差几年几月几天,用的jdk1.8

用Java代码计算2个时间之间相差了几年几个月几天,返回结果是字符串的形式。下面是实现代码,测试代码,测试结果截图,代码分享链接。

2021-04-13 14:26:36 569 2

原创 macbook pro 2017版电池问题,八九十的电,用着忽然关机,再开机提示充电才行。

型号是 MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports) ,os版本是10.13.4,问题是没插电的时候,电池电量在还有7、80的时候,忽然他就直接黑屏关机了,再开机提示充电才行。然后插电之后,显示电量还在7、80左右的样子。这样的情况继续发展下去,就会遇到电池显示维修状态。这个是他产品问题。下面有个官网的计划链接,也可以跟着顺道换电池。我的不但过保质期了,而且还是港版的,不过还是给安排了,都给换了。适用于 MacBook、MacBook Air

2021-04-12 14:04:11 3611 10

原创 Java 对象何时进入老年代?

在jvm堆内存中分为年轻代与老年代,年轻代又分为Eden区与Survivor区.新对象的创建会分配在年轻代,那么对象何时进入老年代呢?又有什么样的对象适合放在老年代呢?YoungGC与FullGC简单区别YoungGC波及范围小(年轻代),且不会停止应用进程工作,YoungGC发生频率高,但是回收速度较快,对于程序运行没有太大影响.FullGC波及范围广(堆内存与方法区)会停止应用进程工作(视垃圾收集器而定),FullGC发生频率低,但是回收速度一般是YoungGC的十倍以上,对于程序运行影.

2021-04-02 11:11:31 523

转载 Java 中的伪共享详解

1. 什么是伪共享CPU 缓存系统中是以缓存行(cache line)为单位存储的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多线程情况下,如果需要修改“共享同一个缓存行的变量”,就会无意中影响彼此的性能,这就是伪共享(False Sharing)。2. 缓存行由于共享变量在 CPU 缓存中的存储是以缓存行为单位,一个缓存行可以存储多个变量(存满当前缓存行的字节数);而CPU对缓存的修改又是以缓存行为最小单位的,那么就会出现上诉的伪共享问题。Ca

2021-04-01 14:35:28 125 1

原创 Java 并发之 volatile 关键字全面总结

一、简介volatile是Java提供的一种轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。二、并发编程的3个基本概念1.原子性定义: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要...

2021-03-31 14:04:53 306 1

原创 kafka manager 中lag有正数、有0、有负数,都代表什么意思

kafka manager工具上有个指标lag,他是什么意思?正负代表什么意思?先看单词意思:滞后,(时间上的)间隔;正数:就是kafka数据积压了,往kafka进数据的速度,大于这个数据被消费的速度。a-b就是正数了。供大于求。负数:就是有时候,我刚刚取了a还没来得及做减法呢,b已经查过a了,导致结果是负数,说明kafka的消费者干活很快,分分钟就处理完消费的数据,供小于求。0:生产者和消费者速率基本相当,说明2者都工作正常。partition,分区的意思,logsize,每个分区的当前最

2021-03-30 14:58:16 2449 2

原创 kafka consumer rebalance & ConsumerRebalanceListener

在使用kafka的时候,就算前期不知道这个rebalance,后期肯定得遇到的,这个坑你跑不了,你后期肯定会想监测一下kafka的rebalance状态,也许这个时候,你会搜索到一个接口ConsumerRebalanceListener,在消费topic的时候,带上这个接口,说是在kafka进行rebalance的时候,会有一些操作的,但是,他讲真管用吗?实际测试先是简单的实现一个监听器,且不说网上的,在这个listener里面手动的提交和获取偏移量offset。package com.lxk

2021-03-23 17:11:21 480 1

原创 有颜值、会说话的文字,意境满满!

初闻不识曲中意,再听已是曲中人。 海中月是天上月,眼前人是心上人。 向来心是看客心,奈何人是剧中人。 理智上知道人生如戏,能以看客的心态看待世间一切人情冷暖。但是感情上却依然无法超脱,依旧为世事烦恼。 道理我懂,然并卵。 十八新娘八十郎,苍苍白发对红妆。鸳鸯被里成双夜,一树梨花压海棠。这个意境贼拉风。人穷志短,马瘦毛长 力微休负重,言轻莫劝人 蚊虫遭人打,只因嘴伤人 人穷别走亲,马瘦别走兵 一母养七儿,七儿

2021-03-19 16:22:47 402 1

原创 Flink java.lang.NoClassDefFoundError: org/apache/flink/api/common/functions/FlatMapFunction

初学flink,本地测试的时候,报错的解决方法:java.lang.NoClassDefFoundError: org/apache/flink/api/common/functions/FlatMapFunction

2021-03-18 10:04:20 545

原创 linux查看kafka版本号

1,进到kafka的安装目录2,执行下列语句:find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'kafka_2.12-1.0.0-javadoc.jar.asc就可以看到kafka的具体版本了。其中,2.12为scala版本,1.0.0为kafka版本。

2021-03-15 15:13:33 2707

原创 kafka streams 实时流式计算原理分析和总结

一、Kafka Stream背景1. Kafka Stream是什么Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature。它是提供了对存储于Kafka内的数据进行流式处理和分析的功能。Kafka Stream的特点如下:Kafka Stream提供了一个非常简单而轻量的Library,它可以非常方便地嵌入任意Java应用中,也可以任意方式打包和部署 除了Kafka外,无任何外部依赖 充分利用Kafka分区机制实现水平扩展和顺序性保证 通过可容错的s

2021-03-11 10:10:40 819 1

原创 ES聚合查询报 can‘t load fielddata on because fielddata is unsupported on fields of type x,use doc value..

在es5.6版本的时候,使用聚合语句查询es的时候,会出现异常,关键信息如下:can't load fielddata on because fielddata is unsupported on fields of type xxx, use doc value instead...主要是因为,es 索引的mapping里面的doc_values属性的值设置的是false。这个属性是干啥的呢?快速了解一下。字段的 doc_values 属性有两个值, true、false。默认为 true ,即开

2021-03-10 16:44:00 1162

原创 Nacos 知识点笔记

0.1、Nacos 名称由来Nacos 名字的由来: `Dynamic Naming and Configuration Service` 直译 `动态命名和配置服务`,取其中的na co 和 s。a0.2、Nacos 实现的功能:一、Nacos服务注册与发现1.1、Nacos服务端安装&启动前往 https://github.com/alibaba/nacos/releases ,下载安装包并解压。1.2、Nacos支持三种部署模式单机模式 - 用于测试和单机试用.

2021-03-01 14:27:32 1907 2

原创 build.gradle中的task里面重命名文件

在写完task之后,里面不是copy目的jar到一个目录去吗,这个是想重命名一下这个jar,怎么操作呢?// 项目的git信息 版本git号,任务执行时间。def gitInfo = gitHashAndBuildTime()static def gitHashAndBuildTime() { return "-" + getGitSHA() + "-" + releaseTime()}static def releaseTime() { return new Date()

2021-02-25 18:20:12 638

原创 spring mvc 项目之 Http项目转Https项目

Https证书准备开发环境下,可直接用JDK自带的keytool工具生成一个证书,正式环境可购买一个,配置过程是一样的:打开cmd命令行,输入以下命令:命令解释:-alias 证书别名-keypass 证书密码-keyalg 生证书的算法名称,RSA是一种非对称加密算法-keysize 密钥长度-validity 证书的有效期(单位:天)-keystore 生成的证书文件的存储路径-storepass 获取keystore信息的密码生成keystore证书的命令,在Linux下直..

2021-02-25 18:08:14 910

原创 spring mvc 之 login模块使用https,其他模块使用http的实现的坑。

关键描述:spring mvc 之 login登录模块使用https实现,登录成功之后,重定向到其他模块,其他模块的请求依旧使用http的实现,这里面涉及到cookie的坑。在浏览器的network里面看到 http only的关键词一.场景:  在企业内网应用,以及一些安全要求不高的网站会有一些https转http的需求,例如只是登陆https协议,其他请求都是走http协议,走http协议不再需要重新登陆一次。二.解决方案  Cookie时效:  当cookie是secure的情况下,当服务器

2021-02-25 17:54:20 150

原创 md 首行缩进

在要缩进的行开头加 &emsp;&emsp; 具体看下面md文件的图和实际md文件的展示效果图。

2021-02-08 17:54:15 543 2

大众点评sdk例子

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

2015-08-03

全国省市区sqlite数据库

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

2015-07-08

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

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

2017-01-13

guava-19.0.jar

guava-19.0.jar包

2016-10-26

SyslogWatcher

SyslogWatcher

2017-05-03

李学凯的留言板

发表于 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的粉丝

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