Java

Java里面ThreadLocal源码分析以及如何产生的OOM

Java里面ThreadLocal源码分析以及如何产生的OOM
要解决线程安全问题首先要清楚线程安全问题是怎么产生的? 线程安全问题通常是多线程环境下,多个线程同时操作某一个变量未进行同步操作而导致的数据错误(只读除外)。 如何解决多线程安全问题呢? 1:进行变量的加锁同步,进行串行访问,每次只有一个线程可以操作变量。 2:控制变量只对一个线...

artisan 8个月前 (04-25) 305℃ 1评论 7喜欢

JVM虚拟机

如何精准排查线上JVM CPU占用百分百的原因

如何精准排查线上JVM CPU占用百分百的原因
对于线上服务难免会出现CPU占用百分之百的情况,此时就需要块找到问题所在,但是如何能够精准快速找到原因呢? 问题现象 收到监控报警,看了一下资源使用情况: 可以发现17629进程占用CPU资源接近百分之百,通常是存在问题的,但是如何精准判断到底是哪一行代码产生的问题呢? 排查问...

artisan 9个月前 (03-02) 1138℃ 0评论 8喜欢

MySQL

MySQL密码忘记重置密码

MySQL密码忘记重置密码
1: 停止现有MySQL服务进程,之后重新开启跳过验证的MySQL服务。 # 停止现有服务 service mysqld stop ; # mysqld --verbose --help 查看帮助,使用如下参数: # --skip-grant-tables Start with...

artisan 9个月前 (03-02) 330℃ 0评论 5喜欢

限流器

参见Eureka手撸微服务的限流器

参见Eureka手撸微服务的限流器
实现思路 Eureka官方实现参见:com.netflix.discovery.util.RateLimiter,该实现是基于令牌桶算法,主要思路如下: 1、每次进行acquire调用获取令牌时,会根据当前时间戳以及上次生成令牌时间戳的差值按照令牌频率生成对应的令牌。 2、将步骤...

artisan 10个月前 (02-19) 308℃ 0评论 4喜欢

Java

java中的Thread#join实现原理分析

java中的Thread#join实现原理分析
join方法是来至于Thread类,不同于wait,notify方法;当多个线程需要等待某一个线程执行结束继续执行时,就需要使用join方法, 示例1: public class ThreadJoin { public static void main(String[]...

artisan 10个月前 (02-19) 335℃ 0评论 3喜欢