Go能实现AOP吗?
hello~大家好,我是小楼,今天分享的话题是Go是否能实现AOP?背景写Java的同学来写Go就特别喜欢将两者进行对比,就经常看到技术群里讨论,比如Go能不能实现Java那样的AOP啊?Go写个事务好麻烦啊,有没有Spring那样的@Transactional注解啊?遇到这样的问题我通
基准测试神器JMH —— 详解36个官方例子
简介基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。而JMH是一个用来构建,运行,分析Java或其他运行在JVM之上的语言的 纳秒/微秒/毫秒/宏观 级别基准测试的工具。JMH is a Java harness for bu
cpu分析利器 — async-profiler
简介async-profiler是一款采集分析java性能的工具,翻译一下github上的项目介绍:❝async-profiler是一款没有Safepoint bias problem的低开销java采集分析器,它利用HotSpot特殊的api来收集栈信息以及内存分配信息,可以在OpenJ
一种极致性能的缓冲队列
背景在多线程下的生产者-消费者模型中,需求满足如下情况:对生产者生产投递数据的性能要求非常高多个生产者,单个(多个也可以,本文只介绍单个的情况)消费者当消费者跟不上生产者速度时,可容忍少部分数据丢失生产者是单条单条地生产数据举个日志采集的例子,日志在不同的线程上生
Cobar提出的一种在分库场景下对Order By / Limit 的优化
Cobar 虽然是一款“古老”的数据库中间件,但目前不少公司仍然在用它,且它包含了不少有意思的算法和实现,今天就来分享 Cobar 提出的一种在分库场景下对 Order By / Limit 的优化。原算法描述参考:https://github.com/alibaba
如何监控 Log4j2 异步日志遇到写入瓶颈
在之前的一篇文章中(一次鞭辟入里的 Log4j2 异步日志输出阻塞问题的定位),我们详细分析了一个经典的 Log4j2 异步日志阻塞问题的定位,主要原因还是日志文件写入慢了。并且比较深入的分析了 Log4j2 异步日志的原理,最后给出了一些解决方案。
Redis——由分布式锁造成的重大事故
前言基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台的稀缺性啊!
一文详解JDK中的ThreadLocal(全网最透彻易懂)
一文详解JDK中的ThreadLocal(全网最透彻易懂) 1 ThreadLocal概述​ ThreadLocal 提供了一种变量与线程绑定的机制,通常把这种机制称为线程本地变量,在线程调用栈(方
这次调优横跨java和Groovy(SimpleTemplateEngine)
一、前言最近给客户调优过程中,频繁遇到java调用groovy的情况,在排查过程中也发现了一些相关的性能瓶颈。其中比较突出的是调用groovy api时导致的频繁类加载问题,就这个问题在本地模拟了客户
改善 Kubernetes 上的 JVM 预热问题
JVM 预热是一个非常头疼而又难解决的问题。本文讨论了在运行在 Kubernetes 集群中的 Java 服务如何解决 JVM 预热问题的一些方法和经验。 作者:Vikas Kumar 翻译:Bach
记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!
原文链接:https://blog.csdn.net/github_38592071/article/details/114909690首先说下问题现象:内网sandbox环境API持续1周出现应用卡
java中WAITING状态的线程为啥还会消耗CPU
原文链接:https://juejin.cn/post/6844904001067040781 背景刚刚过去的双十一, 公司订单量又翻了一倍. 就在老板坐在办公室里面偷偷笑的同时,坐在工位上的我们却是
使用NMT和pmap解决JVM资源泄漏问题
编者按:笔者使用JDK自带的内存跟踪工具NMT和Linux自带的pmap解决了一个非常典型的资源泄漏问题。这个资源泄漏是由于Java程序员不正确的使用Java API导致的,使用Files.list打
记一次 JNI 导致 Java fd 泄漏的排查过程
来源:https://maoxian.de/2018/05/1485.html前几天接到反馈,线上某机器上的服务在进行后端调用的时候失败了。查看日志是端口分配失败。通过 netstat -nulp
高并发服务优化篇:详解RPC的一次调用过程
只要涉及到分布式服务,就绕不开RPC调用。RPC是什么,我认为大部分同学都能说出个一二三。那么RPC一次调用,到底经历了哪些过程?一直在说RPC耗时优化,那到底时间耗在了哪里? 本篇带大家一起来梳理清
一次鞭辟入里的 Log4j2 日志输出阻塞问题的定位
问题现象线上某个应用的某个实例突然出现某些次请求服务响应极慢的情况,有几次请求超过 60s 才返回,并且通过日志发现,服务线程并没有做什么很重的操作。这种情况断断续续持续了半小时左右。 核心问题定位由
日常Bug排查-系统失去响应-Redis使用不当
前言日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材^_^。 Bug现场开发反应线上系统出现失去响应的现象,收到业务告警已经频繁MarkAndSwe
久等了,网传字节跳动总结的设计模式出版了!
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`来自延迟满足的幸福`可能你的生活里很多
性能调优必备利器之 JMH
if 快还是 switch 快?HashMap 的初始化 size 要不要指定,指定之后性能可以提高多少?各种序列化方法哪个耗时更短?无论出自何种原因需要进行性能评估,量化指标总是必要的。在大部分场合
面试官一个线程池问题把我问懵逼了。
前几天,有个朋友在微信上找我。他问:why哥,在吗?我说:发生肾么事了?他啪的一下就提了一个问题啊,很快。我大意了,随意瞅了一眼,这题不是很简单吗?结果没想到里面还隐藏着一篇文章。故事,得从这个问题说
年纪轻轻,为什么要搞中间件开发?“路怎么走,让你们自己挑”
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`年纪轻轻,为什么要搞中间件开发?`五年
90%的程序员,都没用过多线程和锁,怎么成为架构师?
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)Github:[https://github.com/fuzhengwei/CodeGuide/w
一个困扰我122天的疑问。#论程序员,你曾遇到关于性能的那些事#
众所周知,编程是一门玄学。本文主要是描述输出语句、sleep以及Integer对线程安全的影响。第一次碰到这个问题是122天之前,当时就觉得很奇怪。至于为什么还有Integer?我也不知道,可能是玄学
这个Bug的排查之路,真的太有趣了。 #论程序员,你曾遇到关于性能的那些事#
在《深入理解Java虚拟机》一书中有这样一段代码:```public class VolatileTest { public static volatile int race = 0; p
一次代码评审,差点过不了试用期!
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`好的代码往往也很好看`代码是给机器运行
Java GC详解 - 最全面的理解Java对象结构 - 对象指针 OOPs
最近在抽时间阅读 JDK 的源码,主要是 GC 还有 Safepoint 相关的源码,发现很多我在之前拜读网上各种 JVM 原理大作时候的由于没有看源码导致我对于底层原理的误解。果然,一百个人读水浒传
Java常用的几种属性拷贝工具类使用总结
Java属性拷贝工具类使用总结对项目中经常使用的属性拷贝工具类进行总结:- org.apache.commons.beanutils.BeanUtils- org.apache.commons.bea
数学,离一个程序员有多近?
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn) 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`数学离程序员有多近?`ifelse也
怎么排查CPU飙升
怎么排查CPU飙升线上有些系统,本来跑的好好的,突然有一天就会出现报警,CPU使用率飙升,然后重启之后就好了。例如,多线程操作一个线程不安全的list往往就会出现这种现象。那么怎么定位到具体的代码范围
Java踩坑记系列之Arrays.asList
java.util.Arrays.asList()可以方便的把一个数组转成ArrayList集合来使用,但是如果对集合使用增加或删除元素的操作将会报错,如下:```javaList list = Ar
如何使用Eclipse内存分析工具定位内存泄漏
本文以我司生产环境Java应用内存泄露为案例进行分析,讲解如何使用Eclipse的MAT分析定位问题 背景11月10号晚上8点收到报警邮件,一看是OOM打开公司监控系统查看应用各项指标发现JVM中老年
小心递归中内存泄漏
前段时间由于业务需要,需要从数据库中查询出来所有满足条件的数据,然后导入到文件中。于是随便写了个程序,查询出所有满足条件然后再写入文件。但是实际上线后却发现,程序刚开始运行马上看到部分数据写入到文件,
无异常日志,就不能排查问题了???
小声逼逼众所周知,日志是排查问题的重要手段。关于日志设计,以及怎么根据从【用户报障】环节开始到秒级定位问题这个我们下一期说(绝非套路),这一期,主要讲一下,在没有异常日志的情况下,如何定位问题。没有日
JFR 定位因为 SSL 导致 CPU Load 飚高的问题
问题场景在某一时刻,某个微服务的某个实例 CPU 负载突然飚高:同时建立了很多数据库链接:其他实例没有这个现象。 问题定位由于建立了很多数据库链接,猜想可能是数据库比较慢,查看数据库这段时间的 SQL
记一次线上服务内存泄漏问题排查始末
故障案发缘起网关上线一周以来,运行一直稳定,从未出现CPU飙高的情况。发生故障的当天,CPU开始缓慢上升,但是上升的过程并不是直线,而是有下降,CPU下降一些后突然继续上升,到后期,CPU飙高速度开始
没想到,这么简单的线程池用法,深藏这么多坑
又又又踩坑了生产有个对账系统,每天需要从渠道端下载对账文件,然后开始日终对账。这个系统已经运行了很久,前两天突然收到短信预警,没有获取渠道端对账文件。本以为又是渠道端搞事情,上去一排查才发现,所有下载
我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏
从一个BUG说起前段时间翻到了一个 JDK 有点意思的 [BUG](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8137185),带大家一
JAVA线上故障排查套路
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基
记一次MapReduce的内存溢出
背景:最近使用MapReduce做离线数据清洗,在map段做简单的数据过滤,有经纬度的发送到reduce端,没经纬的过滤掉。reduce端将数据整理出来,按业务模型拼接成字符串写入HDFS。供hive
一次资源泄露问题排查纪录
问题背景前不久技术学院负责人让我帮助维护下⼤讲堂、积分管理等⼏个系统。这些系统功能都已经很稳定,也不会再有新的功能开发,但是⼤讲堂系统自上线后,每过⼀段时间就会出错,导致学员⽆法报名课程,希望我帮助解
一次 Java 内存泄漏排查过程,涨姿势
人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误
JVM调优实战:解决CMS concurrent-abortable-preclean LongGC的问题
背景 多个业务线的应用出现LongGC告警最近一段时间,经常收到CAT报出来的Long GC告警(配置为大于3秒的为Longgc)。 分析前的一些JVM背景知识回顾 JVM堆内存划分- 新生代(You
Google Guava之RateLimiter核心源码解读(中)
RateLimiter是Google Guava框架的一个限速器,通常用于控制对某个资源的访问速率。限速常见的有两种实现方式,一种是令牌桶,另一种是漏桶。RateLimiter选择了令牌桶作为其底层实
一次诡异的垃圾回收耗时问题排查实践
之前的博文中说过最近在查一个问题,花费了近两个星期,问题算是有了一个小结,是时候总结一下了。排查过程走了很多弯路,由于眼界和知识储备问题,也进入了一些思维误区,希望此问题能以后再查询此类问题时能有所警
线程说:不是我想爆炸,只怪你Nd4j没用好
一、项目介绍 web_rec_comm_ctr 背景:去年接手了一个排序服务,用于播单、声音、主播排序。接手以来处理过内存溢出问题,后面也没再出现过其他状况。但是最近该项目用于离线任务计算后,出现了问
什么会导致Java应用程序的CPU使用率飙升?
问题 无限循环的while会导致CPU使用率飙升吗?经常使用Young GC会导致CPU占用率飙升吗?具有大量线程的应用程序的CPU使用率是否较高?CPU使用率高的应用程序的线程数是多少?处于BLOC
记一次线上服务不可用问题分析
问题描述线上接口服务隔一天就不能访问,重启大法好,只要重启就可以调用,间隔半天又会出现这种情况,由于该服务是mocker代理服务,所以开了443、80、11181等端口,但是只有80端口才会被阻塞,其
消失的Java进程-Linux OOM Killer
在一台虚拟机上执行docker java应用,每隔一段时间就会出现java进程消失、而且没有任何jvm error log的情况。略一寻思,应该是遇到网上常说的Linux OOM的情况:虚拟机10G,
神奇的"僵尸"进程问题
现象描述大概1个月多以前 在启动脚本中增加了tail -f,用来启动后追踪日志判断是否启动成功,后发现无法执行shutdown.sh(卡住 利用curl) 然后无奈使用kill -9,但通过ps -e
一次“内存泄漏”引发的血案
对性能不佳的Ark Server进行了改造和重写。重编发布一段时间后,结果发现新发布的Svr的机器内存一直在上涨。如下图示:观察后,第一反应是完了,一定存在内存泄露。花了3、4天时间,使用各种办法进行

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,作为一个ios、androd和web兼容的开发平台,Flutter赢得了很多大厂前端工程师的喜爱,而掌握熟练的Flutter开发和优化技术也是进入阿里系、美团、携程、京东、腾讯等公司必不可少的敲门砖,本周的专题给大家带来的就是Flutter的应用实战,希望大家在阅读的同时多多思考!
8篇文章9513阅读量
如果想透析Linux,深入操作系统的本质,阅读源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。透过阅读Linux源码的方式,我们学习到的不光是Linux相关的知识,在我看来更具价值的是学习和体会它们的编程技巧以及对计算机的理解。
8篇文章20826阅读量