推荐主题

最新发布

 2021-11-28 20:40  阅读(18)

背景前不久发过两篇关于分表的文章:一次分表踩坑实践的探讨分表后需要注意的二三事从标题可以看得出来,当时我们只做了分表;还是由于业务发展,截止到现在也做了分库,目前看来都还比较顺利,所以借着脑子还记得清楚来一次复盘。先来回顾下整个分库分表的流程如下:整个过程也很好理解,基本符合大部分公司的一个发展方向。很少会有业务一开始就会设计为分库分表,虽说这样会减少后续的坑,但部分公司刚开始都是以业务为主。直到

 2021-11-28 20:39  阅读(14)

一朋友和我讨论他前段时间面试某大公司的一题目:企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的us

 2021-11-28 20:37  阅读(12)

前言Java常用的设计模式收藏一波!!!一、单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧!public class Sin

 2021-11-28 20:36  阅读(16)

就现在经济大环境而言,很不乐观,程序员的日子也很不好过,无论是还在找工作的、还是已经入职多年、哪怕做到项目经理技术经理的,压力都异常巨大,似乎处处充满危机。但是,仔细分析一下,出路还是有的,甚至解决温饱、过上有房有车没贷款的生活也是很可能的。首先,在如今这个浮躁的社会,大多数人的心态也是浮躁的,只要你能潜下心来,深入研究某个技术,有了一技之长,温饱问题肯定就可以先解决了。1.一技之长新技术层出不穷

 2021-11-28 20:35  阅读(13)

最近正在考虑开发一款APP,今天就看到一款基于多端的UI调试工具,一套代码适应多端,真的是太棒了,下面分享给大家。前言该工具是大名鼎鼎的JetBrains公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kotlin编写响应式WebUI。JetpackCompose是用于构建原生界面的新款Andro

 2021-11-27 15:04  阅读(24)

前面刚说到GuavaCache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地缓存框架:CaffeineCache。它也是站在巨人的肩膀上-GuavaCache,借着他的思想优化了算法发展而来。本篇博文主要介绍CaffineCache的使用方式,以及CaffineCach

 2021-11-23 22:38  阅读(34)

需求介绍首先,介绍下什么是扫码登录。现在,大部分同学手机上都装有qq和淘宝,天猫等这一类的软件。而开发这些app的企业,都有他们相对应的网站。为了让用户在使用他们的网站时,登录更加方便和安全。这些企业提供了,使用手机,扫一扫,就可以登录的服务。网页登录时的效果如下:有很多小伙伴可能会感到很神奇,网页上只是显示了个二维码,它怎么就知道是哪个手机扫到了二维码,并且进行登录的呢?而且,登录完成以后,还能

 2021-11-23 22:37  阅读(34)

昨天我刷到武哥刷到了一篇美团技术团队的文章,作者云鹏2014年加入美团,先后参与了美团酒店供应链体系、分布式调度系统的建设。从一枚职场小白逐步成长为一名技术Leader。他分享了10条写给工程师的精进建议,我看了之后感触很深,在此分享给大家。文章很长,大概8000字,不过每条经验都值得反复琢磨,认真看完一定会有所收获。正文如下:作者:云鹏,2014年加入美团时间回到8年前,我人生中的第一份实习工作

 2021-11-22 22:31  阅读(50)

Hutool谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。(抄自作者简介)功能一个Java

 2021-11-22 22:30  阅读(41)

Transactional失效场景介绍第一种Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。例如以下代码。定义一个错误的@Transactional标注实现,修饰一个默认访问符的方法/** * @author zhoujy **/@Componentpublic class TestServiceImpl {    @Resource 

 2021-11-21 23:11  阅读(52)

今天介绍一个MyBatis-Plus官方发布的神器:mybatis-mate为mp企业级模块,支持分库分表,数据审计、数据敏感词过滤(AC算法),字段加密,字典回写(数据绑定),数据权限,表结构自动生成SQL维护等,旨在更敏捷优雅处理数据。主要功能字典绑定字段加密数据脱敏表结构动态维护数据审计记录数据范围(数据权限)数据库分库分表、动态据源、读写分离、数--据库健康检查自动切换。2、使用2.1依赖

 2021-11-21 23:10  阅读(48)

说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT*、不使用NULL字段、合理创建索引、为字段选择合适的数据类型.....你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅MySQL各组

 2021-11-18 23:05  阅读(96)

Java17已正式发布,该版本是自Java11以来的首个长期支持版本。Oracle还提议将JDKLTS发布的节奏从每三年一次改为每两年一次,并且每个LTS版本的服务时间至少8年以上。Java版本通常是6个月一更新,时间分别在3月和9月,而这些版本的支持时间基本在半年左右。Java各个版本的生命周期据Oralce官博透露,虽然6个月版本的使用人数在增长,但大部分组织及企业更倾向于把LTS版本用在生产

 2021-11-18 23:04  阅读(49)

按:系统架构经过多年演进,现在越来越多的系统采用微服务架构,而说到微服务架构必然牵涉到分布式,以前单体应用加锁是很简单的,但现在分布式系统下加锁就比较难了,我之前曾简单写过一篇文章,关于分布式锁的实现,但有一次发现实现的分布式锁是有问题的,因为出问题的概率很低,所以当时也没在意,前几天和朋友聊这个问题,想起来看过一篇文章,写的不错,今天特转载过来,希望能让更多的人看到,同时也加深一下记忆。原文链接

 2021-11-17 21:54  阅读(46)

对每一个程序员而言,故障都是悬在头上的达摩克利斯之剑,都唯恐避之不及,如何避免故障是每一个程序员都在苦苦追寻希望解决的问题。对于这一问题,大家都可以从需求分析、架构设计、代码编写、测试、codereview、上线、线上服务运维等各个视角给出自己的答案。我们大部分服务都是如下的结构,既要给使用方使用,又依赖于他人提供的第三方服务,中间又穿插了各种业务、算法、数据等逻辑,这里面每一块都可能是故障的来源