摘要: 之前面试中被问到这个问题,当时不屑(会)回答,下来特意查了查,整理如下。 Java 中为我们提供了两种比较机制:Comparable 和 Comparator,二者都是用来实现对象的比较、排序。 下面分别对Comparable 和 Comparator做具体介绍并总结。 Comparable Com 阅读全文
posted @ 2022-12-21 21:28 kisshappyboy 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 关于怎么实现承载更多用户量的系统,一直是我重点关注的一个技术方向。改造架构提高承载力,通常来讲分为两个大方向,互相配合实现。 硬件架构改进,主要是使用阿里云这种多组件的云环境:通过负载均衡SLB,模版克隆的云服务器ECS,云数据库RDS,共享对象存储OSS等不同职责的云产品组合实现。 软件架构优化, 阅读全文
posted @ 2022-12-21 21:17 kisshappyboy 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 注:单点登录原理是一个重要知识点,也常被问及,很多童鞋照葫芦画瓢搭建过单点登录,但是被问到原理时可能说不出来,下面简单介绍,抛砖引玉,希望对大家有所帮助。 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环 阅读全文
posted @ 2022-12-21 21:13 kisshappyboy 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 在日常开发中,我们使用 Redis 存储 key 时通常会设置一个过期时间,但是 Redis 是怎么删除过期的 key,而且 Redis 是单线程的,删除 key 会不会造成阻塞。要搞清楚这些,就要了解 Redis 的过期策略和内存淘汰机制。 Redis采用的是定期删除 + 懒惰删除策略。 定期删除 阅读全文
posted @ 2022-12-21 21:01 kisshappyboy 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 创建线程有几种不同的方式?你喜欢哪一种?为什么? 有三种方式可以用来创建线程: 继承Thread类 实现Runnable接口 应用程序可以使用Executor框架来创建线程池 实现Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继 阅读全文
posted @ 2022-12-21 20:46 kisshappyboy 阅读(13) 评论(0) 推荐(0) 编辑