- 博客(175)
- 资源 (14)
- 收藏
- 关注
原创 JAVA并发编程系列之Semaphore信号量剖析
候选人,心中万马奔腾!!!吐了一口82年老血,当场砸电脑回家!原因是:腾讯T2面试,现场限时3分钟+限最多20行代码,模拟地铁口安检进站。其中安检入口10个,当前排队人数是100个,每个人安检进站耗时5秒。开始吧!
2024-09-18 16:30:05 569
原创 一文400字看懂,如何评估系统负载指标load average
但是很多人工作10年也未必知道这个指标load average的含义,到底多少表示系统已经忙不过来?
2024-09-12 19:06:23 221
原创 JAVA并发编程ReentrantLock核心原理剖析
之前JAVA并发编程系列文章里,有说过JUC的灵魂是AQS,那么AQS的思想优秀实践者ReentrantLock是怎么实现AQS的呢?让我们一点点剖析里面的源码逻辑,一看究竟
2024-09-12 17:16:43 1265
原创 lunix磁盘IO await until问题实战排查-实用命令集合
es集群,当出现大量读写,以及磁盘故障时候,会出现写入慢问题,运维需要排查系统故障原因。本文基于实战排查lunix磁盘IO await until问题,分享部分常用实用命令。
2024-09-10 17:02:20 271
原创 JAVA并发编程AQS原理剖析
很多小朋友面试时候,都会被面试官问:说一下AQS原理。面对并发编程基础和面试经验,拉丁解牛专栏采用通俗简洁无废话无八股文方式剖析原理和源码,让天下没有难啃的技术。
2024-09-10 16:47:38 1097
原创 JAVA并发编程-一文看懂全部锁机制
曾几何时,面试官问:java都有哪些锁?小白,一脸无辜:用过的有synchronized,其他不清楚。面试官:回去等通知!今天庖丁解牛通俗直白的梳理,各种锁有什么区别、优缺点、什么场景可以用,让小白再也不怕面试官八股文拷打。
2024-09-09 16:32:45 967
原创 日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
这样配置后,日常堆栈打印效果是这样的,报错输出的堆栈,没有携带trace_id信息,这样在做日志筛查时候,非常不方便。不能快速定位异常代码位置。在日常项目开发中,我们会自定义一个traceId方便,链路追踪。在log4j2.xml 我们可能是这样去配置日志打印格式。我们可以通过%xthrowable 配合{suffix(pattern)}使用,在每个堆栈帧的末尾添加trace_id输出。添加后,验证效果,堆栈信息末尾都添加了traceId。
2024-09-05 16:40:56 436
原创 JAVA并发编程volatile核心原理
上文说到synchronized,,虽然被评为并发全能王,不过用起来也是格外注意,不能搞大力出奇迹那一套,容易出现性能问题。比如synchronized是无法控制阻塞时长,阻塞不可中断问题;以及锁范围,修饰方法或代码块,要精细,仅修饰需要并发控制部分,降低锁粒度。文末再总结一下,synchronized和volatile的区别,先进入正题,聊聊正主:volatile。volatile是轻量级的并发解决方案,不会阻塞线程,是一种简单的同步机制。
2024-09-05 16:33:01 1121
原创 JAVA并发编程synchronized全能王的原理
说到JAVA并发,相信很多人第一印象想到的就是synchronized,然后就是volatile、JUC、CAS、线程池、AQS、阻塞队列等等这些关键字工具类、原理思想。但这些都离不开并发编程的三大特性:原子性、可见性、有序性。
2024-09-04 10:18:16 1100
原创 Springboot 修改Tomcat版本 修复Tomcat CVE-2024-21733 漏洞
修改Springboot Tomcat内置版本,修复Tomcat 漏洞,网络安全问题
2024-08-15 09:57:23 638
原创 一文看懂volatile
volatile是java提供的弱同步机制,只能用来声明变量。回顾一下,Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程马上就能看到。比如:用volatile修饰.
2021-12-14 15:55:39 256
原创 一文解决JAVA并发安全问题
项目场景:并发的应用场景,在开发过程会经常遇到。 例如:服务应用启动后,需要简单统计接口的总访问量;实时更新订单状态,成交总额。问题描述:比如统计接口访问次数,如下的实现,在并发访问下,统计是不准确的 。 private int viewCount = 0; private void addViewCount(){ viewCount++; }复制代码比如A、B两个线程同时访问,各自从JVM主存中加载变量viewCount到线程内存里viewCo
2021-12-13 13:57:20 771
原创 ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C heade
/usr/local/lib/python3.7/site-packages/empyrical/utils.py:32: UserWarning: Unable to import pandas_datareader. Suppressing import error and continuing. All data reading functionality will raise errors; but has been deprecated and will be removed in a later
2021-09-15 15:48:19 1869
原创 几句话告诉你,spring 如何解决循环依赖问题
1、两种情况,循环依赖无解在Spring IoC的使用场景中有两类循环依赖是无解的:1.1 构造器的循环依赖构造器要调用构造函数new 一个对象出来,而参数又依赖于另一个对象。创建类A依赖于类B,new 的时候去创建类B发现类B不存在就会出错拋出 BeanCurrentlyInCreationException 异常。1.2 prototype 原型bean循环依赖原型bean的初始化过程中不论是通过构造器参数循环依赖还是通过set方法产生的循环依赖也会抛出异常。2、一种情况,循环依赖可解si
2021-08-17 11:10:23 342
原创 @Value是如何将外部化配置注入到spring bean中
有三种注入方式,分别是基于配置文件注入、基于非配置文件注入、默认值注入。1、配置文件基于配置文件注入,顾名思义起源头来自于配置文件。这些配置文件诸如application.properties或自定义的*.properties文件。例如,application.properties配置文件中定义属性值的形式如下:user.name=admin假设存在自定义配置文件my.properties,配置文件中定义的属性如下:user.password=123456如果需要做在类中使用这两个配置值如何做
2021-08-11 18:06:22 316
原创 Spring @Resource与@AutoWired的区别
@Resource与@AutoWired的区别定义方不同@AutoWired 是spring定义的注解,@Resource是JSR-250定义的注解。自动装配默认方式不一样@AutoWired是byType,而@Resource默认byName自动装配。包含的参数数量不一样@Autowired只包含一个参数:required,表示是否开启自动准入,默认是true。而@Resource包含七个参数,其中最重要的两个参数是:name 和 type。通过byName制定名字自动装配不一样@Auto
2021-08-10 18:08:17 129
原创 【MySQL】深入浅出InnoDB存储引擎(一)
undo 文件和redo log文件 、bin log 文件首先,我们看一下一条update sql在mysql中是如何执行的。update user set name='a' where id=1
2021-07-15 16:54:33 145
原创 powermockito的使用技巧
当IT中有些依赖组件无法正常集成,需要mock支持测试,可以使用power mockito。特别注意: 当对一个对象进行powermockito,应该在prepare方法,统一mock这个对象。然后在其他方法,分别进行调用when,否则,多个方法内进行mock,会出错。比如有个 Service处于IT case的底层,普通的mock根本mock不进去,但我们又不能为了集...
2019-03-06 21:00:09 2484
原创 junit使用
常用几个方法,assertTrue()、assertFalse()、assertEqual()、还有抛出的异常@Test(expected= 异常类.class)。还有几个常用注解,@Before、@BeforeClass、@After、@AfterClass、@PrepareForTest、@Test等。下面具体介绍,fail()用法。摘自//www.cnblogs.co...
2019-03-06 20:56:20 321
原创 linux命令
1、管道命令 : |这个 |竖杆就是管道。它的作用就是将前一个命令的输出,变成下一个命令的输入,仅此而已,veryeasy。比如,cat 1.txt | grep hello,这个的意思就是将 cat 1.txt 输出的内容,给grep hello命令。总的就是,显示输出1.txt的内容,并搜索查找是否hello。2、grep 命令 grep用来搜索文本内容。...
2019-03-06 20:55:15 247
原创 mysql忘记密码简洁的办法和远程连接mysql数据库命令
1、首先在root用户下,停止mysql服务。 sudoservice mysql stop2、跳过密码进入mysql sodomysqld --skip-grant-tables3、重新设置密码 新开一个client,普通用户即可。 直接用命令mysql 就可以进入mysql, 然后用这个命令修改mysql密码 update use...
2019-03-06 20:54:18 420
原创 echo命令和awk命令
echo用来输出内容,比如,echo -e ‘hello linux system\nmy name is bigboy.’。-e,表示若输出内容有特殊符号,则按特殊符号输出。上个命令的输出是:hello linux systemmy name is big boy.若没有-e,比如echo -e ‘hello linuxsystem\nmy name is big boy.’则把\n...
2019-03-06 20:53:19 7283
原创 kafka监控获取指定topic的消息总量
import kafka.api.PartitionOffsetRequestInfo;import kafka.common.TopicAndPartition;import kafka.javaapi.OffsetResponse;import kafka.javaapi.PartitionMetadata;import kafka.javaapi.TopicMetadata;im...
2019-03-06 20:51:47 13650 1
原创 ELK Stack - 插件X-Pack
安装安装 X-Pack 前必须安装 ES 和 Kibana ,我们使用的是 5.2.1 版本 集中式日志分析平台 - ELK Stack - 部署篇。X-Pack 我们也使用 5.2.1,我们来讲讲如何离线安装吧。Step1. 下载 X-Pack Zip 文件:https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-5.2.1....
2019-02-22 14:13:56 498
原创 Linux中各种 command not found问题解决
原因是环境变量没有配置好,这里一般有两种解决方法,第一,可以切换到root用户执行命令,第二种,就是配置用户的环境变量,其指令如下:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin...
2019-02-14 18:31:03 44711 3
原创 ES线程池设置以及EsRejectedExcutionException排查
每个Elasticsearch节点内部都维护着多个线程池,如index、search、get、bulk等,用户可以修改线程池的类型和大小,线程池默认大小跟CPU逻辑一致。一、查看当前线程组状态 curl -XGET 'http://localhost:9200/_nodes/stats?pretty'"thread_pool" : { "bulk" : { ...
2019-01-18 16:21:14 5140
转载 Java中的时间与时区__java
转:https://yq.aliyun.com/ziliao/245667 摘要: 本文讲的是Java中的时间与时区__java, 0. 前言: 时间格式: //世界标准时间,其中T表示时分秒的开始(或者日期与时间的间隔),Z表示这是一个世界标准时间 2017-12-13T01:47:07.081Z //本地时间,也叫不含时区信息的时间。时间格式://世界标准时间,...
2019-01-11 14:21:53 4246
转载 Kafka Broker配置(0.10版)
转自:http://orchome.com/472基本配置如下:broker.id log.dirs zookeeper.connect下文将详细论述了主题级别配置和默认值。名称 描述 类型 默认 有效值 重要程度 zookeeper.connect zookeeper host string string ...
2018-12-29 10:33:48 541 3
转载 JVM垃圾回收器 CMS和G1的区别
转自:https://www.cnblogs.com/rgever/p/9534857.htmlCMS:以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现过程:1、初始标记:独占PUC,仅标记GCroots能直接关联的对象2、并发标记:可以和用户线程并行执行,标记所有可达对象3、重新标记:独占CPU(STW),对并发标记阶段用户线程运行产生的垃圾对象进行标记修正...
2018-12-25 17:18:50 2021
原创 bash: useradd: command not found如何解决
由于,‘su root’或者'sudo su'只改变root权限不改变环境变量,而‘su -root ’指令就可以。‘su -root’可以取得ROOT用户的权限和环境。所以需要再执行一项:su -即可解决。...
2018-12-25 11:42:51 3130
转载 Performance optimization for Apache Kafka - Brokers
转自:https://www.cloudkarafka.com/blog/2018-09-12-performance-optimization-apache-kafka-brokers-cloudkarafka.htmlThe Kafka Broker is the central part of Kafka. It receives and stores log messages unti...
2018-12-24 14:56:42 321
转载 httpclient http连接池示例
package connect.http.sink;import java.io.IOException;import java.io.InterruptedIOException;import java.io.UnsupportedEncodingException;import java.net.UnknownHostException;import java.util.Array...
2018-12-21 15:31:45 404
原创 elasticsearch 出现yellow 分片有unassigned现象原因
可以通过命令或url查询看到具体的原因: curl XGET 'http://ip:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason' | grep UNASSIGNED查询结果,最后一列就是原因:fxcl-2018-12-18 1 r UNASSIGNED NOD...
2018-12-19 18:35:19 2811
转载 XShell上传、下载文件
在我们的项目开发中借助XShell,使用Linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器。 其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混): sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。 ...
2018-12-18 09:53:28 1174
原创 Java RMI:rmi Connection refused to host: 127.0.0.1异常解决
最近在尝试使用jmx exporter + prometheus + grafana 去监控kafka。其中在部署的时候,遇到了一些坑。我们采用的是比较复杂、不被推荐看好的httpserver方式部署。官方不推荐这样部署,但是我们认为,这种非侵入的采集方式非常灵活,好更新维护,对kafka影响降到最低。解耦的部署我们非常喜欢。效果很好。当中也踩到坑,就是httpserver形式,会有...
2018-12-17 19:09:38 2900
转载 Elasticsearch 5.X集群多节点角色分析
转自:https://blog.csdn.net/laoyang360/article/details/782904841、问题引出 ES5.X节点类型多了ingest节点类型。 针对3个节点、5个节点或更多节点的集群,如何配置节点角色才能使得系统性能最优呢? 2、ES2.X及之前版本节点角色概述3、ES5.X节点角色清单 由于其他几...
2018-12-17 14:09:43 349
转载 国内大神开源 Kafka 监控系统Eagle 使用教程
转自:https://www.cnblogs.com/smartloli/p/9371904.html1.概述 最近有同学留言反馈了使用Kafka监控工具Kafka Eagle的一些问题,这里笔者特意整理了这些问题。并且希望通过这篇博客来解答这些同学的在使用Kafka Eagle的时候遇到的一些困惑,同时也给出一些定位分析Kafka Eagle异常的时的解决办法。2.内容...
2018-12-07 18:00:53 6098
原创 __consumer_offest的副本因子
__consumer_offest不受server.properties中num.partitions和default.replication.factor参数的制约。相反地,它的分区数和备份因子分别由offsets.topic.num.partitions和offsets.topic.replication.factor参数决定。这两个参数的默认值分别是50和1,表示该to...
2018-12-07 14:01:50 286
docker全部学习资料个人总结
2017-09-07
hive学习资料大全 实战优化资源
2017-09-07
maven权威指南,最全资料
2017-09-07
power mockito学习资料
2017-09-07
activeMq资料学习
2017-09-07
python学习笔记
2017-09-07
shell命令常用shell命令
2017-09-07
storm学习资料
2017-09-07
在线通讯,多人聊天,在线客服弹窗源码
2012-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人