摘要:前言:jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注意就很容易掉入到陷阱里面,导致程序抛出错误。jdk中的很多方法都不会做非null判断,可能设计jdk 阅读全文
posted @ 2020-08-31 21:09 Yrion 阅读(421) 评论(2) 推荐(3) 编辑
摘要:前言: 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库,主库的职能是负责写,从库主要是负责读,可以建立读库集群,通过读写职能在数据源上的隔离达到减少 阅读全文
posted @ 2020-07-31 12:39 Yrion 阅读(271) 评论(0) 推荐(0) 编辑
摘要:前言:最近在开发一个功能:动态展示的订单数量排名前10的城市,这是一个典型的Top-k问题,其中k=10,也就是说找到一个集合中的前10名。实际生活中Top-K的问题非常广泛,比如:微博热搜的前100名、抖音直播的小时榜前50名、百度热搜的前10条、博客园点赞最多的blog前10名,等等如何解决这类 阅读全文
posted @ 2020-06-30 21:13 Yrion 阅读(440) 评论(0) 推荐(4) 编辑
摘要:前言: 二分查找作为很常见的一种算法,基本思想是定义头和尾双指针,计算中间的index指针,每次去和数组的中间值和目标值进行比较,如果相同就直接返回,如果目标值小于中间值就将尾指针重新赋值为中间值-1,头指针不变,相当于从左边区域去找;如果目标值大于中间值就将头指针赋值为中间值+1,尾巴指针不变,相 阅读全文
posted @ 2020-05-30 02:15 Yrion 阅读(176) 评论(2) 推荐(0) 编辑
摘要:前言 从业快4年,最近愈发感觉到算法的重要性.作为一名后端开发,在实际工作中,算法的应用其实是十分多的,比如我们熟悉的LinkedList、jdk的底层排序,算法的重要性大家都有目共睹,也成了入职大厂不可或缺的基本能力。最近就听群里的伙伴说面试字节跳动的时候要求现场写出以k个为一组反转链表,如果不做 阅读全文
posted @ 2020-04-29 13:35 Yrion 阅读(379) 评论(0) 推荐(0) 编辑
摘要:前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。 本篇 阅读全文
posted @ 2020-03-24 22:10 Yrion 阅读(4803) 评论(13) 推荐(5) 编辑
摘要:前言:开闭原则一直是软件开发领域中所追求的,开闭原则中的"开"是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的,“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。对于一个高度集成化的、成熟、稳健的系统来讲,永远不是封闭、固守的,它需要向外提供一定的可扩展的能力,外部的实现类或者 阅读全文
posted @ 2020-02-09 21:41 Yrion 阅读(493) 评论(4) 推荐(0) 编辑
摘要:前言:在这个知识分享的爆炸时代,鉴于java生态的完整和繁荣,各种框架、中间件和工具包供我们使用。连新培训出来的人都知道ssm,微服务、集群、多线程、队列、高并发等技术,技术的间隔性正变得越来越小,仿佛我们只需要按部就班的去使用别人说的框架等技术就可以解决问题.如果刨除redis、rabbitmq、 阅读全文
posted @ 2020-01-05 18:03 Yrion 阅读(443) 评论(0) 推荐(3) 编辑
摘要:前言:之前写过如何安装ElasticSearch(以下简称ES)以及简单的crud的使用实例的博客,不过ElasticSearch的版本变化太快,像之前的5.6版本使用的TransPortClient目前已经无法使用了,官方的API变化较快.最近工作中需要用到ES作为查询的中间件,项目组长决定使用7 阅读全文
posted @ 2019-12-07 11:24 Yrion 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:前言:之前有写过一篇关于LRU的文章链接https://www.cnblogs.com/wyq178/p/9976815.html LRU全称:Least Recently Used:最近最少使用策略,判断最近被使用的时间,距离目前最远的数据优先被淘汰,作为一种根据访问时间来更改链表顺序从而实现缓存 阅读全文
posted @ 2019-11-04 23:15 Yrion 阅读(2058) 评论(0) 推荐(1) 编辑