高并发场景下JVM调优实践之路
背景2021年2月,收到反馈,视频APP某核心接口高峰期响应慢,影响用户体验。通过监控发现,接口响应慢主要是P99耗时高引起的,怀疑与该服务的GC有关,该服务典型的一个实例GC表现如下图:可以看出,在观察周期里:平均每10分钟YoungGC次数66次,峰值为470次;平均每10分钟FullGC次数0
如何防止他人恶意调试你的web程序
前言看到社区很多都在讨论如何调试,如何高级的调试,以及一些调试的奇技淫巧,今天我想和大家聊聊,怎么禁止调试,禁止他人调试我们的程序为什么会有这篇文章呢,源自一次我寻找盗版电影的遭遇,一次好奇心的驱使下,由于
关于解决并发问题,99%的程序员都会忽略的一个重要方案!
在并发编程的世界里,共享变量的线程安全问题永远是一个无法避免且不得不面对的问题,如果只有读的情况,那么永远也不会出现线程安全的问题,因为多线程读永远是线程安全的,但是多线程读写一定会存在线程安全的问题。那既然这么说是不是通过只读
编程中 Stack 的三种含义,90%的程序员不知道~
学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。含义
深入理解编程艺术之策略与机制相分离
以下文章来源于极客重生,作者极客重生在现代操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。通常,机制处于一个系统的基层,而策略则处于系统的高层。在程
高并发存储优化篇:诸多策略,缓存为王
本文内容概述缓存是什么1.1.存储宕机的致命代价1.2.数据库性能为什么会下降1.3.缓存的类型一线研发最头疼的缓存问题2.1.缓存穿透2.2.缓存击穿2.3.缓存雪崩2.4.数据漂移2.5.缓存踩踏2.6.缓存污染2.7.热点key顶级缓存架构一览3.1.微博缓存架构演进3.2.知乎首页已读过滤缓
我被编程语言 PUA 了!用互联网黑话写代码,这操作简直太骚了!
从程序员Code到产品经理PPT的生态闭环,终于打通了。如果编程语言里都是“赋能”、“反哺”、“抓手”,会是啥样?我们不妨先来写个程序看看:怎么样,你看懂了吗?这段程序可不是乱写的,定义函数、条件判断一气呵成,
异步编程利器:CompletableFuture详解
前言最近刚好使用CompeletableFuture优化了项目中的代码,所以跟大家一起学习CompletableFuture。公众号:捡田螺的小男孩一个例子回顾Future因为CompletableFuture实现了Future接口,我们先来回顾Future吧。Future是Java5新加的一个接口
一个ThreadLocal和面试官大战30个回合
开场杭州某商务楼里,正发生着一起求职者和面试官的battle。面试官:你先自我介绍一下。安琪拉:面试官你好,我是草丛三婊,最强中单(妲己不服),草地摩托车车手,第21套广播体操推广者,火的传人安琪拉,这是我的简历,请过目。面试官:看你简历上写熟悉多线程编程,熟悉到什么程度?安琪拉:精通。对。。。,你
一位在谷歌工作 10 年工程师给技术人的职业建议
我在Google呆了10年半,离开时的头衔/职位是StaffSoftwareEngineer/Manager。大致分三期:前两年关注Linux桌面搜索产品和Google的开源项目;中间三年花了许多力气在Google中国相关的产品
为什么黑客从不用鼠标,一直在敲键盘?看完长见识了
来自公众号:安全狗在各种好莱坞大片里头,但凡需要“技术小子”表现一下如何用几分钟时间黑掉一个庞大IT系统的时候,里面的电脑都是这样的:1.文字处理软件从来不显示光标。2.所有的屏幕都显示1英尺高的字符。3高技术的计算机都有简单易用的图形界面。4.即便是没有图形界面,计算机也能正确理解自然语言并执行。
阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端
关于IO会涉及到阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO等几个知识点。知识点虽然不难但平常经常容易搞混,特此Mark下,与君共勉。1阻塞跟非阻塞1.1阻塞阻塞IO阻塞IO情况下,当用户调用read后,用户线程会被阻塞,等内核数据准备好并且数据从内核缓冲区拷贝到用户态缓存区后read
线程、进程、多线程、多进程、多任务,傻傻分不清?
可能学习嵌入式开发的读者都听说过这些专业名词,但又多少人理解了?首先,从定义开始,先看一下教科书上进程和线程定义:进程:资源分配的最小单位。线程:程序执行的最小单位。心中默念,啥啥啥,写的这是啥。1、进程进程是程序执行时的一个实例,即它是
为什么早期的 Windows 需要整理碎片
为什么这么设计(Why’sTHEDesign)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。记得十几年前还在用早期Windows系统的时候,每用一段时
跳来跳去,到底去大公司还是小公司?
职场生涯总会面临着选择,尤其对我们这些IT人来说,跳槽的频率应该是所有行业中相当大的了。那么我们跳来跳去,究竟该选择什么样的公司?大or小。工作三年多了,经历一大一小,最近也面
Reddit用户长文「哭诉」:我不是算法工程师,我是「调参侠」
首先,问你一个问题,你觉得自己是「调包侠」或者「调参侠」吗?我想不是每个人都有勇气回答,但这种焦虑确实存在每个从业人员心中。各大公司都在研发机器学习平台,想要把搭模块当做积木一样。前两年火爆的神经网络架构搜索
真是抓狂?!糟糕程序员的编程风格
有一种说法是,“一个伟大的程序员相当于10个平庸的程序员”。没有人愿意被贴上了糟糕程序员的标签,但一个可悲的事实是,很多开发人员没有意识到他们自己就属于这一群体。没有人愿意问自己:我是一个糟糕的开发人员吗?糟糕的开发人员如果你还是编程新手
为何程序员总喜欢写技术博客,看完恍然大悟...
程序员是孤独的侠客,一番缠斗后,勇猛战胜了一个惊天动地的Bug!没有掌声,没有迷妹,这些都没什么,因为我们还可以写博客!本文纯属娱乐,如有雷同,呵呵呵呵,祝大家周末愉快!漫画原创公众号:不会笑青年,授权转载请联系微信(laughyouth369),授权后,请在原创发表48小时后转载。
安居客小程序持续交付之路
导读随着小程序的日益发展,对于小程序付过程中的各种问题也越来越值得我们关注,本文介绍了安居客小程序持续交付从无到有的整个过程,以及过程中各阶段遇到的问题、思考及解决方案。背景安居客小程序业务覆盖新房、二手房、租房、商业地产四大核心领域,负责这四块业务的也是不同的团队;与此同时,目前活跃的小程序达到了
万字长文爆肝线程池
我们知道,线程需要的时候要进行创建,不需要的时候需要进行销毁,但是线程的创建和销毁都是一个开销比较大的操作。为