自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(541)
  • 资源 (49)
  • 收藏
  • 关注

原创 JVM内存区域与常见问题

一次方法调用会产生一个栈帧,如果出现递归死循环调用栈空间满了,会出现StackOutOfErrorException。这里先以JDK1.8 hotspot垃圾收集器为例,讲讲每块区域存储的数据以及可能会抛的异常。存放类class对象,会自己动态调整大小,满了会引发Full GC。记录线程代码执行的位置,cpu时间片轮转后在原来的位置继续执行。各内存区域划分为大小相等的Region,可预测的停顿时间。灰色,有指向黑色标记节点的引用,不是GC ROOT节点。存放对象实例,会出现内存溢出或内存泄露等情况。

2024-01-01 18:04:07 552

原创 RocketMQ原理解读

RocketMQ整个中间件可以分两块,一块是NameServer,保存注册上来的Broker地址信息,另一块是Broker,保存队列消息,直接与发送端或消费者通信。NameServer是一个AP模型的架构。关键代码?Broker是一个CP模型的架构。关键代码?主要涉及3个物理文件commit_log,单个文件1G大小,顺序写入,保持实际消息内容consume_queue,保存消息ID和队列消息存储的offset地址index_file,辅助队列消息轨迹搜索。

2023-12-20 19:06:05 410

原创 【微服务】服务间调用

当我们的应用从一个大单体拆分成多个微服务之后,服务间调用有多少种方式?服务间调用如果出现超时,如果避免雪崩,即如何做限流熔断机制,原理是什么?

2023-12-17 21:58:10 617

原创 Nacos讲解

在Nacos1.x版本,服务间消息通信采用HTTP1.1长轮询,而Nacos2.x升级为gRPC长连接后,除了推送性能提升,内存消耗也大幅降低。而作为配置中心,数据的实时性等不是首要的,但服务间配置信息不一致是不能接受的,Nacos采用JRaft协议实现AP模型。作为服务注册与配置中心,如果不可用,会直接影响到业务,Nacos采用自研的Distro协议实现AP模型;在微服务架构里边,我们主要用Nacos做两块应用,一块是服务注册与发现,一块是配置中心。

2023-12-16 21:15:33 382

原创 MyBatis原理解读

我们项目中多用MyBatis进行数据库的读写,开源的MyBatis-Plus框架对其进行了增强,使用上更加简单,我们之前的很多项目也是直接用的MyBatis-Plus。数据库操作的时候,简单的单表读写,我们可以直接在方法里链式组装SQL,复杂的SQL或涉及多表联合join的,需要在xml手写SQL语句,这些框架上怎么执行的呢?MyBatis其实用到了很多设计模式。MyBatis的二级缓存。

2023-12-15 23:36:55 371

原创 SpringBoot自动装配

该注解import的AutoConfigurationImportSelector会去扫描classpath路径下META-INF/spring.factories文件,通过类加载器进行bean的自动化配置。SpringBoot的自动配置,其实跟下代码很简单,算是框架提供的一个很重要的特性,我们封装的很多starter公共组件,也是基于SPI机制实现功能拓展。我们每个SpringBoot项目的启动类都会加上@SpringBootApplication注解。

2023-12-15 22:45:07 432

原创 谈谈系统的稳定性建设

随着前段时间阿里语雀、滴滴生产事故的发生,从招聘信息来看越来越多的中小企业开始重视系统的稳定性建设。那么,系统的稳定性建设会涉及哪些方面呢?

2023-12-15 17:09:08 343

原创 说说限流处理

实现org.springframework.cloud.gateway.filter.ratelimit.KeyResolver我们可以基于ip或请求参数等指定不同维度,然后在配置文件指定令牌生成的频率和桶的容量,定制自己的限流逻辑。对于限流,从一个完整的请求链路上来看的话,可以分几块,有nginx接入层网关的限流,微服务网关gateway的限流,在业务层我们也可以实现自己的限流逻辑,Redission和Google的Guava包本身也提供了一些限流工具。

2023-12-15 16:26:42 356

原创 Spring事务

事务的传播机制,枚举定义了7种,如果不指定,默认是REQUIRED,比如父方法调用子方法,如果父方法已经有事务了,子方法就共用父方法的事务。如果子方法修改了事务的传播机制,改成REQUIRES_NEW,就不会共用父方法的事务,而是重新创建一个新的,实现上就是新建一个数据库连接去进行数据库操作,两个连接不互相影响。事务的隔离级别,MySQL的事务隔离级别都知道是4种,默认是RR,在一定程度上解决了幻读问题,有间隙锁、临键锁,容易导致数据库死锁,整个吞吐量也较低,所以有些并发高的业务或大厂会改成RC。

2023-12-13 22:14:43 397 1

原创 微服务网关Gateway

网关过滤器是配置在具体服务下的,只作用于配置对应的服务。如果参数是key-value结构的,可以实现org.springframework.cloud.gateway.filter.factory.AbstractNameValueGatewayFilterFactory抽象类,实际上也是继承了AbstractGatewayFilterFactory。如果需要自定义,同样实现org.springframework.cloud.gateway.filter.GlobalFilter,重写filter方法。

2023-12-13 19:48:29 750

原创 线程按顺序循环执行

假设有3个线程,依次打印A、B、C,按顺序循环打印100次。这个其实是线程通信,如果只是按顺序执行,用只有一个线程的线程池,依次提交线程任务就行,但是这里还不是每个线程只执行一次,需要循环重复打印。

2023-12-12 23:08:12 559

原创 Java线程状态

网上关于线程状态的文章很多,有的个别有些小差异。这个其实在线程类Thread里面已经定义了枚举类,直接进JDK源码看就好了。同时在Thread类里面可以看到很多操作方法都用了syntronized关键字修饰,最终是去调用native修饰的原生方法。对于接口阻塞,比如有线程死锁等情况可以用jstack工具查看线程状态。可以看到里面定义了6种,有的文章加了READY(就绪状态)。

2023-12-12 22:47:05 411

原创 Graalvm构建原生镜像

今天主要先跑下Spring3.0,体验下Graalvm构建原生镜像带来的性能提升。先看下GraalVM与JVM的性能对比:对比可以看到,最新支持 Spring Boot 3.0 基于 GraalVM 的 Spring Cloud Alibaba 应用会在启动速度、运行时内存占用和应用包大小方面得到大幅度降低。

2023-06-04 20:52:47 272

原创 VuePress搭建团结内部知识库

项目打包启动,布局是不是很熟悉的很多开源项目的guide start,后面只需要把页面文案和路由替换成自己的,然后不断添加Markdown文件,会自动生成html给浏览器渲染。node.js 推荐16.19.0版本,今天因为版本18.x比较新,很多兼容问题。后面是计划利用ChatGPT生成对应的主题文章,形成内部业务学习知识库。点击Quick Start,就是常规的侧边栏,右边是菜单对应的文章内容。用create-vuepress-site插件初始化项目。Windows系统调试如果出现。

2023-06-01 00:00:42 218

原创 从0到1接入钉钉消息通知

前段时间给项目接入监控告警,消息通知渠道选了钉钉。预算的原因内部办公刚从飞书转回钉钉,飞书消息通知之前就有一套了,测试钉钉从应用授权到消息测试花了不少时间。这里记录下从钉钉开放平台权限申请到消息接收全流程,给后面有同样需求的人少踩坑。

2023-05-28 12:15:11 1638

原创 clickhouse部署

从clickhouse官网下载二进制安装包解压安装tar -xzvf clickhouse-common-static-dbg-21.9.4.35.tgztar -xzvf ...sudo clickhouse-common-static-21.9.4.35/install/doinst.shsudo clickhouse-client-21.9.4.35/install/doinst.shsudo clickhouse-common-static-dbg-21.9.4.35/install/

2022-02-13 22:23:33 2469

原创 nginx: [error] open() “/run/nginx.pid“ failed (2: No such file or directory)

yum安装nginx后起不来nginx安装完默认启动脚本在/usr/sbin页面在/usr/share/nginx/html执行nginx -c /etc/nginx/nginx.confnginx -s reload

2021-11-10 11:17:04 3856

原创 从Nacos配置中心读取数据乱码

微服务项目配置从nacos读取,一直起不来nacos读取配置文件默认使用UTF-8,本地IDEA默认编码格式为GBK,编码不一致导致配置读取格式异常,像控制台打印的乱码启动参数添加 -Dfile.encoding=utf-8 指定格式...

2021-10-09 14:45:15 3967

原创 DataX之MysqlReader插件的使用

{ "job": { "setting": { "speed": { "record":100 } }, "content": [ { "reader": { "name": "mysqlreader", "parameter": {

2021-07-21 11:11:59 1263

原创 linux部署nodejs

wget https://cdn.npm.taobao.org/dist/node/v14.16.1/node-v14.16.1-linux-x64.tar.xztar -xvf node-v14.16.1-linux-x64.tar.xzmv node-v14.16.1-linux-x64.tar.xz nodejsln -s /usr/local/nodejs/bin/npm /usr/local/bin/ln -s /usr/local/nodejs/bin/node /usr/local/b

2021-05-26 10:35:11 303

原创 linux安装nginx

wget -c https://nginx.org/download/nginx-1.9.9.tar.gz解压#使用默认配置./configure#编译安装makemake install编译安装到/usr/local/nginx进入sbin目录#重启nginx,建议先停止,再启动./nginx -s stop./nginx#在rc.local增加启动代码即可vi /etc/rc.local#增加一行 /usr/local/nginx/sbin/nginx,增加后保存#设置执行

2021-04-16 12:40:53 159

原创 org.apache.rocketmq.client.exception.MQBrokerException: CODE: 1 DESC: the producer group[] not exist

如果生产者发送完调用了producer.shutdown();,mq会移除生产者组,在控制台查看Producer列表,看到的提示找不到生产者组的报错本地测试可以注释调producer.shutdown();就可以在控制台正常看到如下生产者组,生产环境不能注释...

2021-03-24 16:05:35 10626 5

原创 org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

ff

2021-03-24 15:49:08 741

原创 org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, mail-send

排查了几种情况最后确定是版本的问题,服务端部的是目前最新的4.8.0,而maven引的rocketmq-clients是4.3.0,升级工程依赖解决

2021-03-24 13:44:41 1028

原创 spark集成

选择hadoop对应版本的spark,配置spark环境变量本地启动./spark-shell --master local[2]

2021-03-21 20:45:38 180

原创 kafka集群

官网获取kafka二进制安装包下载地址配置kafka环境变量,与jdk配置方式一样解压修改config目录下的server.properties配置,对于kafka集群主要修改几个地方broker.id 为各个broker节点的id,所有集群不能重合listeners=PLAINTEXT://:port port为每个kafka节点启动的端口,默认9092log.dirs=/soft/data/kafka-logs log.dirs为日志数据存储的位置,不能放到tmp目录下,不然每次重启会被

2021-03-21 12:29:45 372

原创 flume跨服务器日志收集

通过avro收集本地flume-exec.log日志文件写入的数据到ha6服务器agent1.channels = memory-channelagent1.sources = exec-sourceagent1.sinks = avro-sinkagent1.channels.memory-channel.type = memoryagent1.sources.exec-source.channels = memory-channelagent1.sources.exec-source.t

2021-03-21 01:10:50 548

原创 flume监听日志文件

控制台监听打印flume-exec.log文件写入数据# Define a memory channel called ch1 on agent1agent1.channels.ch1.type = memoryagent1.channels.ch1.capacity = 1000agent1.channels.ch1.transactionCapacity = 100 # Define an Avro source called avro-source1 on agent1 and tell

2021-03-20 23:49:03 872

原创 org.apache.avro.AvroRuntimeException: Excessively large list allocation request detected: 1818848868

测试配置引用的官网上的案例flume接收nc消息异常这个异常,是配置错误导致的。遇到有两种情况会有该异常,一种是组件之间关系写错,如名为s1的sink用的是c1的channel,但被错误的写成不存在的c2,就会有该错。第二种是source接收的是字符串类型的数据,而配置成接收序列化后的数据avro,则会报这种异常,因此只需将source type改成 netcat即可修改avro为netcat...

2021-03-20 22:01:33 1677

原创 分布式日志收集Flume环境部署

获取最新flume二进制安装包apach flume解压到linux指定目录,复制conf目录下cp flume-env.sh.template flume-env.sh修改flume-env.sh指定的jdk路径类似jdk配置flume环境变量flume-ng version显示版本信息说明配置成功...

2021-03-20 18:17:59 331

原创 Map key action.type contains dots but no replacement was configured! Make sure map keys don‘t contai

Map key action.type contains dots but no replacement was configured! Make sure map keys don’t contain dots in the first place or configure an appropriate replacement!网上资料说是Mongodb数据写入key包含“.”,debug出来还真的有。配置转化器import org.springframework.context.annotati

2021-01-18 14:41:52 384

原创 The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxr-xr-x

启动hive报的异常使用hadoop fs -chmod -R 777 /tmp修改目录权限

2021-01-10 20:53:13 496

原创 There are 0 datanode(s) running and no node(s) are excluded in this operation.

hadoop dfsadmin -report查看磁盘使用情况节点下存储空间都是空的,很多资料说是hadoop namenode -format格式化多次造成spaceID不一致stop-dfs.sh 和 stop-yarn.sh 停止所有服务清除core-site.xml中配置的hadoop.tmp.dir对应文件,重新执行hadoop namenode -format再重启服务...

2021-01-03 20:33:50 348

原创 (org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby

下午在hadoop集群的一台只启动了NameNode的机器上装hive,元数据配置存的mysql,启动hive报了这个异常通过jps排查两台NameNode节点的zkfc都没启动,都是standby状态,这个是集群部署的顺序问题,两台NameNode先部署启动了,zk集群是后面部署在另外几台机器上的,这个顺序启动完zkfc没生效。在其他一台部署NameNode的机器上再执行hdfs zkfc -formatZK,然后start-dfs.sh重启,jps查看比原来多了DFSZKFailoverContr

2021-01-03 16:12:50 1697

原创 常用Docker命令

根据关键字批量删除镜像比如根据“goharbor/” 一次性删除多个镜像 docker rmi --force `docker images | grep goharbor/ | awk '{print $3}'`

2019-08-10 13:13:22 158

原创 js智能截取带前缀手机号的country code

手机号的解析引用了Google的两个工具包,项目地址:https://github.com/google/closure-libraryhttps://github.com/google/libphonenumber要求解析的手机号都是以+开头带country code,拼接上具体的手机号码.以下demo根据项目的demo改造,删除了一些不需要的依赖,对代码逻辑进行了精简,只输出解析后的数...

2019-06-27 18:09:28 1657

原创 MySQL8 读取json类型数据

比如现在有一张audit_records的表,里面的record_id是一个json类型的字段,有如下一些测试数据json类型的字段可以存JsonObject或JsonArray格式的数据.一个测试样例,查询jsonarray中id为6和jsonobject中id为9的记录SELECT * FROM audit_records WHERE table_name = 'app_in...

2019-06-11 16:57:30 2463

原创 linux停止阿里云盾服务

阿里云服务器上的AliYunDun长期占用5.7M的内存,小内存ECS服务器启动这个服务可能会导致大量读写操作变得很卡.关闭服务service aegis stop彻底删除服务chkconfig --del aegis...

2019-06-02 14:24:24 5099

转载 详细介绍Node.js中Promise对象的基本用法

什么是Promise?Promise是一个构造函数,方法有all、reject、resolve这几个,原型上有then、catch等方法。那么new Promise 出来的对象肯定就有then、catch方法。让我们new一个吧:var promise = new Promise(function(resolve, reject) { //异步操作 setTimeout(fu...

2019-05-09 14:48:25 2407

原创 打包maven项目并上传到私服

首先在本地maven的settings.xml添加私服地址和账号配置 <servers> <server> <id>snapshots</id> <username>linda</username> <password>xxx</password> </server&g...

2019-04-22 16:32:24 2700

你可能不知道的Notification用法

http://blog.csdn.net/lindonglian/article/details/43346549

2015-01-31

你可能不知道的Toast用法

http://blog.csdn.net/lindonglian/article/details/43340219

2015-01-31

Android官方API文档完整版.chm

中文完整的Android Api参考资料,开发Android最完整的参考资料,开发过程中遇到的问题都可以在上面找到根源

2015-01-30

子线程接收主线程发送的消息

http://blog.csdn.net/lindonglian/article/details/43316599

2015-01-30

管理MessageQueue的Looper使用

http://blog.csdn.net/lindonglian/article/details/43316239 不使用默认的looper

2015-01-30

管理MessageQueue的Looper

http://blog.csdn.net/lindonglian

2015-01-30

Message消息的两种发送方式样例send和post

http://blog.csdn.net/lindonglian/article/details/43315681

2015-01-30

Message的各种使用案例

http://blog.csdn.net/lindonglian/article/details/43303339

2015-01-30

AsynTaskProject

http://blog.csdn.net/lindonglian/article/details/43231487

2015-01-28

FileSaveToSDCard

http://blog.csdn.net/lindonglian/article/details/43226881 将数据保存的SDCard

2015-01-28

PopupWindow

http://blog.csdn.net/lindonglian/article/details/43205429

2015-01-27

写数据到手机内存

http://blog.csdn.net/lindonglian/article/details/43191629

2015-01-27

ProgressDialog应用实例

http://blog.csdn.net/lindonglian/article/details/43158929

2015-01-26

DateAndTimeDialog

http://blog.csdn.net/lindonglian/article/details/43159237

2015-01-26

AlertDialog

http://blog.csdn.net/lindonglian/article/details/43158633

2015-01-26

Android的SQLite详细应用实例

http://blog.csdn.net/lindonglian/article/details/43090901

2015-01-24

隐式Intent的应用

打电话、发短信、访问网页 http://blog.csdn.net/lindonglian/article/details/43064499

2015-01-23

用Android写的MP3Player

学习service的好例子,详情请睹http://blog.csdn.net/lindonglian/article/details/43063883

2015-01-23

标准struts2和mvc写的用户管理

标准struts2和mvc写的用户管理,最基本的添加、删除、修改、查询功能都有,已调好,非常适合入门

2014-11-19

struct2的jar包.rar

用structs2开发需要用到的jar包,包含5个

2014-10-29

netflix-statistics

netflix-statistics netflix-statistics netflix-statistics jar包

2018-07-27

redis客户端redis-desktop-manager

在win7上亲测可用redis-desktop-manager

2017-03-15

Notepad++主题样式配置文件stylers.xml

已配好的Notepad++主题样式文件

2016-07-26

gocode.exe

http://blog.csdn.net/lindonglian/article/details/50659776

2016-02-13

gocode.rar

http://blog.csdn.net/lindonglian/article/details/50659776

2016-02-13

go1.5.3.windows-amd64.msi

go1.5.3.windows-amd64.msi

2016-01-25

editplus-go.stx

让editplus支持Go语言编写的go.stx文件

2016-01-22

绿色版超小截图Screener

绿色版超小截图Screener

2015-12-15

Package Control.sublime-package

Package Control.sublime-package

2015-12-15

commons-pool-1.6.jar

commons-pool-1.6.jar用于redis池

2015-11-16

工作流流程设计器

activiti-designer-5.15.0.zip工作流流程设计器

2015-09-12

slf4j-1.7.12.zip

slf4j-1.7.12.zip,目前官方最新的jar包,需要就下吧

2015-07-30

slf4j-1.6.1.zip

slf4j-1.6.1.zip,需要就下吧,官方的,东西很全

2015-07-30

log4j-1.2.17.zip

这个用到的都知道,log4j-1.2.17.zip,目前最新的jar

2015-07-30

axis2-1.6.2-war.zip

Web services之Axis插件,

2015-05-27

人人分享接口开发包

人人分享接口开发包

2015-02-28

QQ和QQ空间分享接口开发包

这里有QQ和QQ空间分享接口开发包免积分提供下载,就不用到开发平台去找了

2015-02-28

ActionMode和PopupMenu应用

http://blog.csdn.net/lindonglian/article/details/43915751

2015-02-23

Android实现二级菜单和标题栏菜单

http://blog.csdn.net/lindonglian/article/details/43908147

2015-02-22

Menu应用实例

http://blog.csdn.net/lindonglian/article/details/43907303

2015-02-22

空空如也

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

TA关注的人

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