随笔分类 -  面试题总结

对自己面试经历和他人面试遇到的题目进行总结
摘要:分布式系统的session共享问题 目前大多数大型网站的服务器都采用了分布式服务集群的部署方式。所谓集群,就是让一组计算机服务器协同工作,解决大并发,大数据量瓶颈问题。但是在服务集群中,session共享往往是一个比较头疼的问题。因为session是在服务器端保存的,如果用户跳转到其他服务器的话,s 阅读全文
posted @ 2022-08-28 18:24 JustJavaIt 阅读(298) 评论(0) 推荐(0) 编辑
摘要:什么是Elasticsearch? Elasticsearch 是一个分布式的、RESTful 风格的、基于Lucene(Apache的开源搜索引擎类库,提供了搜索引擎的核心API)的开源搜索和数据分析引擎。可以帮助我们从海量数据中快速找到需要的内容。 官网地址: https://www.elast 阅读全文
posted @ 2022-07-22 17:12 JustJavaIt 阅读(56) 评论(0) 推荐(0) 编辑
摘要:回顾概念​ 我们先来回顾这个问题中涉及的几个名词概念,再来分析问题。 内存泄漏相关概念 内存泄露 (memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 是指你向系统申请分配内存进行使用(new), 阅读全文
posted @ 2022-06-18 16:07 JustJavaIt 阅读(936) 评论(0) 推荐(2) 编辑
摘要:什么是ThreadLocal? 官方介绍 /** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread tha 阅读全文
posted @ 2022-06-18 15:16 JustJavaIt 阅读(662) 评论(0) 推荐(0) 编辑
摘要:在《深入理解Java虚拟机中》关于Java堆内存有这样一段对逃逸分析的描述: 那么究竟怎么理解逃逸分析?我们先来看一个例子 运行期优化示例 两层循环,内层循环创建1000次对象,外层循环对内层循环进行计时统计。 public class JIT1 { public static void main( 阅读全文
posted @ 2022-04-16 08:34 JustJavaIt 阅读(239) 评论(1) 推荐(1) 编辑
摘要:一.输入网址(URL) URL 当我们想要打开一个页面时,很简单的会想到去输入一个网址,比如说(www.baidu.com)这里俗称的网址其实就是URL(统一资源定位符,Uniform Resource Locator)用于定位互联网上资源,俗称网址。 URL格式 protocol://host.d 阅读全文
posted @ 2022-03-12 13:34 JustJavaIt 阅读(774) 评论(0) 推荐(0) 编辑
摘要:本篇内容为线程专题 -- 线程的创建,状态,工作过程中的部分内容。 在项目实践中经常会遇到一个场景,就是需要等待某几件事情完成后才能继续往下执行,比如多个线程加载资源,需要等待多个线程全部加载完毕再汇总处理。Thread类中有一个join方法就可以做这个事情, join方法则是Thread类直接提供 阅读全文
posted @ 2022-02-14 20:45 JustJavaIt 阅读(173) 评论(0) 推荐(0) 编辑
摘要:Runnable 的缺陷 (1)不能拿到任务的返回结果 第一个缺陷,对于 Runnable 而言,不能拿到任务的返回结果,虽然可以利用其他的一些办法,比如在 Runnable 方法中写入日志文件或者修改某个共享的对象的办法,来达到保存线程执行结果的目的,但这种解决问题的行为效率着实不高。 实际上,在 阅读全文
posted @ 2022-02-13 20:48 JustJavaIt 阅读(290) 评论(0) 推荐(0) 编辑
摘要:本篇内容为线程专题 -- 线程的创建,状态,工作过程中的线程创建方式的部分内容。 JAVA中有三种线程创建的方式: (1)实现Runnable接口的run方法。 (2)继承Thread类并重写run的方法。 (3)使用FutureTask方式(实现Callable接口的方式)。 说明:在《Java并 阅读全文
posted @ 2022-02-13 17:47 JustJavaIt 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:分区表的理论知识请查看我的另一篇博文,谢谢——分区-理论 需求说明 广告投放系统中监测链接表的数据以每天500w+的速度递增(用户每次点击广告生成),但是热点数据就10天左右,其余都是没用的历史数据。采用定时任务Delete的方式,只是做了逻辑上的标记删除,在磁盘上数据并没有被真正删除。同时通过De 阅读全文
posted @ 2021-09-05 21:40 JustJavaIt 阅读(484) 评论(0) 推荐(0) 编辑
摘要:对理论不感兴趣?那直接看分区实战吧--分区实战 目的 分区表的主要目的是方便数据的维护,而不是提升 MySQL 数据库的性能。 《高性能MySQL》中:分区的一个主要目的是将数据按照一个较粗的粒度分在不同的表中,这样做可以将相关的数据放在一起,另外,如果想一次批量删除整个分区的数据也会变得很方便。 阅读全文
posted @ 2021-09-05 21:14 JustJavaIt 阅读(827) 评论(0) 推荐(0) 编辑
摘要:MySQL的基本架构示意图 大体来说,MySQL可以分为Server层和存储引擎层两部分。 Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器 阅读全文
posted @ 2021-07-31 23:15 JustJavaIt 阅读(338) 评论(1) 推荐(0) 编辑
摘要:MySQL的基础架构 详细介绍请查看我的另一篇文账—— MySQL的基础架构 一条SQL查询语句是如何执行的? 查询语句:select * from T where ID=10; 1.客户端通过连接器连接服务器。 2.服务器先检查查询缓存,如果命中了缓存,直接返回缓存中的结果。否则进入下一个阶段。 阅读全文
posted @ 2021-07-31 22:46 JustJavaIt 阅读(453) 评论(0) 推荐(0) 编辑
摘要:我们都知道 HashMap 不是线程安全的,而 ConcurrentHashMap 和 Hashtable 它们两个确实都是线程安全的,那它们有哪些不同点呢? 出现的版本不同 Hashtable 在 JDK1.0 的时候就存在了,并在 JDK1.2 版本中实现了 Map 接口,成为了集合框架的一员。 阅读全文
posted @ 2021-07-25 18:04 JustJavaIt 阅读(433) 评论(0) 推荐(0) 编辑
摘要:为什么 Map 桶中超过 8 个才转为红黑树? 我们知道Java8后,当Map链表长度大于或等于阈值TREEIFY_THRESHOLD(默认为 8)的时候,如果同时还满足容量(数组的长度)大于或等于 MIN_TREEIFY_CAPACITY(默认为 64)的要求,就会把链表转换为红黑树。同样,后续如 阅读全文
posted @ 2021-06-25 12:47 JustJavaIt 阅读(3714) 评论(1) 推荐(3) 编辑
摘要:过期策略是在正常情况下清除过期键,内存淘汰策略是在非正常情况下为了保证 Redis 顺利运行的保护策略。 过期策略 我们在新增 Redis 缓存时可以设置缓存的过期时间,该时间保证了数据在规定的时间内失效,可以借助这个特性来实现很多功能。对于已经过期的数据,Redis 将使用两种策略来删除这些过期键 阅读全文
posted @ 2021-06-21 15:30 JustJavaIt 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:token 什么是 token ? token 是验证用户身份的凭证,我们通常叫它:令牌。 最简单的token组成: uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,以哈希算法压缩成一定长的十六进制字符串)。 token 特点 无状态、可扩展、支持移动端设备、支持跨程序调 阅读全文
posted @ 2021-06-11 10:19 JustJavaIt 阅读(88) 评论(0) 推荐(0) 编辑
摘要:本章中我们主要理解以下几个问题: (1)基于主键索引和普通索引的查询有什么区别? (2)怎么理解回表? (3)怎么理解索引覆盖? 索引结构示例分析 在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。 InnoDB使用了B+树索引模型,所以数据都是存储在B+树中的 阅读全文
posted @ 2021-06-08 23:21 JustJavaIt 阅读(883) 评论(0) 推荐(2) 编辑
摘要:线程安全? 《Java并发编程实战(Java Concurrency In Practice)》的作者Brian Goetz为“线程安全”做出了一个比较恰当的定义:“当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协 阅读全文
posted @ 2021-06-08 22:18 JustJavaIt 阅读(210) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示