捉虫大师 捉虫大师
4年前
实现一个比LongAdder更高性能的计数器有多难
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。强悍的LongAdderLongAdder是jdk8引入的适用于统计场景的线程安全的计数器。在此之前,实现一款线程安全的计数器要么加锁,要么使用AtomicLong,加锁性能必然很差,AtomicLong性能要好很多,但是在高并发、多线程下,也显得吃力。
Wesley13 Wesley13
3年前
java 面试知识点笔记(五)垃圾回收 中篇
StoptheWorldJVM由于要执行GC而停止了应用程序的执行(处于stoptheworld的状态时,除了GC的线程以外的所有线程都处于等待状态,知道GC完成)任何一种GC算法中都会发生多数GC优化通过减少stoptheworld发生的事件来提高程序性能,达到高吞吐低停顿的特点Safepoint:安全点
Backbone前端框架解读
在前端的发展道路中,前端框架元老之一jQuery对繁琐的DOM操作进行了封装,提供了链式调用、各类选择器,屏蔽了不同浏览器写法的差异性,但是前端开发过程中依然存在作用域污染、代码复用度低、冗余度高、数据和事件绑定烦琐等痛点。
zdd小小菜鸟 zdd小小菜鸟
2年前
分布式锁面试
分布式锁面试引言tex为什么要使用分布式锁?为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchroniz
线上FullGC问题排查实践——手把手教你排查线上问题 | 京东云技术团队
作者:京东科技韩国凯一、问题发现与排查1.1找到问题原因问题起因是我们收到了jdos的容器CPU告警,CPU使用率已经达到104%观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低CPU高内存型,所以此时考虑是FullGC引起的大量C
Wesley13 Wesley13
3年前
Android二维码扫码ZXing,barcodescanner和BGAQRCode
Android二维码扫码ZXing,barcodescanner和BGAQRCodeAndroid技术比较Android二维码扫描是一种常见的功能开发,但是技术选型不当会造成初期开发难度大、后期维护成本高。常见的Android二维码扫码解决方案很多,比如ZXing,barcodescanner和BGAQRCodeAndroid等等。以下给出这
Stella981 Stella981
3年前
PV 动态供给
前面的例子中,我们提前创建了PV,然后通过PVC申请PV并在Pod中使用,这种方式叫做静态供给(StaticProvision)。与之对应的是动态供给(DynamicalProvision),即如果没有满足PVC条件的PV,会动态创建PV。相比静态供给,动态供给有明显的优势:不需要提前创建PV,减少了管理员的工作量,效率高。
小万哥 小万哥
1年前
选择适合您网站的 SQL 托管:MS SQL Server、Oracle、MySQL
SQL托管如果您希望您的网站能够存储和检索数据,您的Web服务器应该能够访问使用SQL语言的数据库系统。以下是一些常见的SQL托管选项:MSSQLServerMicrosoft的SQLServer是一个流行的数据库软件,适用于具有高流量的数据库驱动网站。它
ElasticSearch集群灾难:别放弃,也许能再抢救一下 | 京东云技术团队
1前言Elasticsearch作为一个分布式搜索引擎,自身是高可用的;但也架不住一些特殊情况的发生,如:集群超过半数的master节点丢失,ES的节点无法形成一个集群,进而导致集群不可用;索引shard的文件损坏,分片无法被正常恢复,进而导致索引无法正常