面试题:再谈Synchronized实现原理!
线程安全是并发编程中的重要关注点。造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。关键字 Synchronized可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块。
分享几个工作中实用的代码优化技巧!
之前分享一篇代码优化的文章:条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码!今天再次分享一些我日常工作中常用的代码优化技巧,希望对大家有帮助!
一个提高效率的工具,正则表达式,值得学习一下!
在工作中一般使用正则表达式来匹配,替换,检索文本,可以大大提高了工作效率!
面试题:在日常工作中怎么做MySQL优化的?
MySQL常见的优化手段分为下面几个层面:SQL优化、设计优化,硬件优化等,每个大的方向中又包含多个小的优化点,下面一一分享!
分享一些工作中常用的工具软件,值得收藏!
我之前分享过一篇:分享一些常用的网站和工具,值得收藏!,今天再分享一波关于工作中常用的工具软件!
关于并发编程,你必须要知道的Future机制!
当做一定运算的时候,运算过程可能比较耗时,有时会去查数据库,或是繁重的计算,比如压缩、加密等,在这种情况下,如果我们一直在原地等待方法返回,显然是不明智的,整体程序的运行效率会大大降低。我们可以把运算的过程放到子线程去执行。
分享一些常用的网站和工具,值得收藏!
前言这篇文章主要分享一些我经常使用的网站和Chrome插件,希望对大家有帮助!觉得有收获,希望帮忙点赞,转发!
来自读者的面试题:谈谈Spring用到了哪些设计模式?
前几天,一位读者面阿里被问到一个问题:Spring框架用到了哪些设计模式?,答的不是很好,于是打算写篇文章讲讲这个!
美团面试题:缓存一致性,我是这么回答的!
一道之前的面试题:如何保证缓存和数据库的一致性? 来自:社招一年半面经分享(含阿里美团头条京东滴滴)文章首发在公众号,之后同步掘金和个人网站!!下面介绍几种方案(大家回答的时候最好根据自己的业务,结合下面的方案)
动态代理总结,面试你要知道的都在这里,无废话!
面试题:讲讲jdk动态代理,cglib区别,实现原理,优缺点,怎么实现方法的调用的,来自:社招一年半面经分享(含阿里美团头条京东滴滴),这篇文章教你怎么回答,全程少废话,总结干货
面试题:Redis如何实现分布式锁!
之前的个人网站已经下线了,https://upheart.cn/,维护太花时间了,之后会把网站内容全部搬到公众号中,内容也会比网站内容更丰富,更全面,带大家真正的吊打面试官!之后分享的面试系列文章,主要是对之前面经的答案总结
Switch竟然会报空指针异常,学到了!
前几天重新看 《阿里巴巴Java开发手册》有一条这样的规约:为什么《阿里巴巴Java开发手册》规定String类型参数要先进行 null 判断,出于好奇,打算研究一下!,强迫症,没办法!
关于主从延迟,一篇文章给你讲明白了!
在实际的生产环境中,由单台MySQL作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面,因此,一般来说都是通过集群主从复制(Master-Slave)的方式来同步数据,再通过读写分离
慢查询引发的车祸现场,案例分析!
前几天帮公司解决线上慢SQL告警问题,遇到了几个case。下面我会结合case案例分析自己这段时间在工作上遇到的慢查询谈谈数据库如何优化慢查询。一般我们遇到的慢sql都是索引没有正确使用导致的,所以我先介绍下索引相关知识
关于内存安全问题,你应该了解的几点!
Java在内存管理方面是要比C/C++更方便的,不需要为每一个对象编写释放内存的代码,JVM虚拟机将为我Java在内存管理方面是要比C/C++更方便的,不需要为每一个对象编写释放内存的代码,JVM虚拟机将为我们选择合适的时间释放内存
实现异步编程,这个工具类你得掌握!
在日常的Java8项目开发中,CompletableFuture是很强大的并行开发工具,其语法贴近java8的语法风格,与stream一起使用也能大大增加代码的简洁性,大家可以多应用到工作中,提升接口性能,优化代码
这些线程安全的坑,你在工作中踩了么?
我们知道多线程能并发的处理多个任务,有效地提高复杂应用程序的性能,在实际开发中扮演着十分重要的角色但是使用多
Spring奇技淫巧之扩展点的应用
最近在看公司项目和中间件的时候,看到一些Spring扩展点的使用,写篇文章学习下,对大家之后看源码都有帮助
面试题:Kafka如何保证高可用?有图有真相
Kafka从0.8版本开始提供了高可用机制,可保障一个或多个Broker宕机后,其他Broker能继续提供服务
高效使用内存,这些你得知道
减少堆内存的使用可以更高效使用内存,堆内存用的越少,堆被填满的几率就越低,新生代回 收的次数更少,对象的晋升年龄也就不会很频繁地增加,这意味着对象被提升到老年代的 可能性也降低了,因此, Full GC会减少,降低了GC发生的频率