自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

  • 博客(617)
  • 资源 (5)
  • 收藏
  • 关注

原创 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 3882 8

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

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

2021-04-15 17:40:51 752

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

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

2021-04-13 14:26:36 2562 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 15407 25

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

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

2021-04-02 11:11:31 1466

转载 Java 中的伪共享详解

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

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

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

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

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

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

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

2021-03-19 16:22:47 623 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 1839 1

原创 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 17122

原创 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 4317 3

原创 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 4766

原创 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 3575 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 1574

原创 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 2981 1

原创 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 718

原创 md 首行缩进

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

2021-02-08 17:54:15 4921 7

原创 集群、分布式、微服务、区别

集群、分布式、微服务、区别单机结构  一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。  那么,单机结构有啥缺点呢?单机的处理能力毕竟是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。此时便出现了集群模式。集群结构  单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提

2021-02-08 17:48:21 368 3

原创 fastjson JSONException: autoType is not support. string

fastjson在转json为map的时候,即发序列化的时候,出异常了:JSONException: autoType is not support. string。是因为json字符串中有个特殊的key “@type”,这个导致反序列化失败了。比如下面的。{ "mapping":{ "transRef":{ "@type":"string" } }, "start_at":1610513218, "stream.

2021-01-14 17:00:52 1394

原创 md(markdown)文件table表中换行、竖线|转义

在md中创建表格,会遇到表格内容需要有竖线,这个竖线会个table的竖线冲突,还有就是表格太小,希望可以手动安排换行。1,竖线的不冲突解决方法:把竖线| 替换成 &#124;2,table表格中实现手动换行,使用 <br>下面是效果展示图...

2021-01-06 16:29:45 7179

原创 Linux常用命令合集、备忘录、记事本、online记录

总结常用的Linux下的命令,不论简单与否,弄个记事本备忘录啥的,忘记了,也有个在线的文档可以看,我这就简单一个table到底了。命令含义ntpdate 1.cn.pool.ntp.org校正服务器时间同网络时间一致netstat -tunlp | grep 8088查看端口被占用否top -cshift + m 按照内存排序shift + p 按照cpu排序b + x 正在运行的和排序的那一列加黑按键盘数字“1”,可监控每个逻辑CPU的状况通过”shift + &

2021-01-05 16:43:56 1946 3

原创 jdk自带jvm常用命令总结

Linux 下JDK自带的排查jvm信息的几个命令常用形式jps (java ps)命令含义jps输出pid和进程简单名称jps -l输出pid和完全的包名,应用主类名,jar的完全路径名jps -m输出main method的参数jps -v输出pid name 输出jvm参数jstat命令含义jstat -gc pid 1s 100一秒一次,执行100次,单位都是 kbjstat -gccap

2021-01-05 14:32:49 503 2

原创 Flume 原理解析

flume:水道;笕槽;引水槽,source:水源,channel:水渠,sink:水槽一、Flume简介Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。重构后的版本统称为 Flume NG(next generation);Flume 纳入 apache 旗下,改名为 Apache Flume。二、Flume特点flume是

2020-12-04 17:43:02 863

原创 flume ChannelSelector -- channel 选择器

首先是flume中三个组件的单词的意思,flume:水道;笕槽;引水槽,source:水源,channel:水渠,sink:水槽。见文知意,就是水从源头流出来,经过水渠或者管道,最终流到终点,也就是水槽了。之前总是flume的叫着,也不知道是啥意思,今天查了一下,再看其他几个组件的意思,这个工具的功能不言而喻了,就是针对像水一样的数据流处理的。flume channel selectors允许给一个source可以配置多个channel的能力。这种模式有两种方式,一种是用来复制(Replication),

2020-12-04 15:03:51 2701

原创 gradle repository 设置国产阿里镜像仓库地址,加速下载jar包

gradle使用的不多,大都是之前使用的maven,知道maven可以设置阿里的镜像仓库地址,加快jar包下载的速度。换到gradle之后,也有这么个设置,可以使得gradle项目的jar包下载速度加快,可以分分钟的下载完jar包。只需要简单的设置一下仓库设置。//做全局配置allprojects { apply plugin: 'idea' apply plugin: 'maven' apply plugin: 'java' tasks.withType(Java

2020-12-02 15:19:26 4224 1

原创 flume 1.6 发数据到kafka的kafka sink的配置

数据经过flume发送到kafka的配置,flume版本是1.6的时候的配置例子agent.sources = s1agent.channels = c1agent.sinks = k1agent.sources.s1.type = spooldiragent.sources.s1.channels = c1agent.sources.s1.spoolDir = /root/data/ttmagent.sources.s1.selector.type = com.x.y.collecto

2020-12-01 09:45:59 1508 1

原创 Java storm中,在bolt之间传递自定义对象数据的时候,自定义model需要实现序列化接口才行。

Java strom在 bolt spout之间传递信息的时候,当传递一些简单的数据结构,比如字符串,map等是可以在下一个bolt里面get 之后,直接转成map的,但是要是传个对象的话,在下一个bolt使用,在emit的时候,new Values(自定义对象)RepeatEvent repeatEvent = (RepeatEvent) input.getValueByField(CustomConstants.REPEAT_EVENT);理论上是可以的,但是有个前提,你这个对象要实现序列号接

2020-11-30 16:00:06 572

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

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

2020-11-26 15:43:19 10389 11

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

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

2020-11-17 11:05:08 5352

原创 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 8949 5

原创 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 4656 2

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

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

2020-10-12 21:35:12 699

原创 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 2824

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

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

2020-09-28 10:05:11 4059 1

原创 Java kafka producer 的常用参数的意义说明及默认值

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

2020-09-26 22:25:53 5223

原创 Java Kafka producer 同、异步发送数据,原理分析和差别:producer.send()和producer.send().get()

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

2020-09-26 14:22:56 4873

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

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

2020-09-18 17:57:05 5795

原创 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 2800

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

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

2020-09-17 11:33:30 862

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

Java使用kafka的API来监控kafka的某些topic的数据量增量,offset,定时查总量之后,然后计算差值,然后就可以算单位间隔的每个topic的增量,kafka监控一般都是监控的吞吐量,即数据量的大小,而不在意这个count,数量。额,这个就是在意count。统计一下count。总结最近的偏移量---Summed Recent Offsets.使用的卡夫卡版本的截图。

2020-09-16 22:16:28 6301 3

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

空空如也

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

TA关注的人

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