面试总结
文章平均质量分 90
咸鱼也有爱
真理无穷,每进一步,都有欢喜,Java后端,移动端开发,分享日常学习&工作所得
展开
-
MySQL如何实现数据排序
本文将带你熟悉MySQL进行数据排序的基本实现,助你更快更好地通过面试原创 2024-07-07 10:46:15 · 417 阅读 · 0 评论 -
面试总结之并发编程
每个线程都有一个成员变量ThreadLocalMap,当线程访问ThreadLocal修饰的共享数据时,该线程就会在自己的ThreadLocalMap中存储一份共享数据的副本,key指向ThreadLocal这个弱引用,value保存的是共享数据的副本,因为每个线程都有一份共享数据的副本,以此就解决了线程安全问题。在Thread的init()方法中,如果父线程的 inheritableThreadLocals 不为空,就把它赋给当前线程(子线程)的 inheritableThreadLocals。原创 2023-10-16 19:47:58 · 304 阅读 · 0 评论 -
一文带你深入理解MySQL的索引
如果你想理解一条查询SQL具体是怎么执行的,就需要完全彻底地理解索引,且清楚MySQL整个的层次结构,本文会对详细解释MySql的逻辑结构层次和MySql索引原创 2023-01-04 14:11:14 · 480 阅读 · 0 评论 -
详解MySQL事务与锁
事务和锁在 MySQL 中是非常重要的一部分,锁和事务对 MySQL 的数据访问并发有着举足轻重的影响,涉及到的知识篇幅很多,需要静下心好好反反复复几遍地细细品味。本文是对MySQL的事务和锁的整理,一些相关深入的细节,还是需要找到相关书籍来继续夯实原创 2022-12-30 14:09:14 · 888 阅读 · 0 评论 -
一文带你深入理解JVM面试中的知识点
GC:Garbage Collection(垃圾回收),所有具备动态内存分配能力的语言,都要面对的问题,不只是Java,包括Python、Go等其他语言。垃圾回收需要面对的三个问题:哪些内存区域需要回收.什么时候回收.如何回收(哪些对象需要清理,如何清理这些对象)CMS: Concurrent Mark Sweep,获取最短回收停顿时间为目标的收集器,第一款真正意义上的并发+并行收集器CMS的清理识别算法在多数情况下,使用标记-清除算法;少数时候,会使用标记-整理。原创 2022-12-23 20:01:20 · 357 阅读 · 0 评论 -
Java设计模式总结之单例模式
对于Java语言来说,通常包含有6大设计原则和23种设计模式,这些都是前辈们对于开发思想的结晶。我们学习和理解这些设计原则和设计模式,深入掌握其实现原理和使用场景,能够更好的设计我们的系统架构。编写出具有高性能、高并发、高可用、高可扩展性和高可维护性的代码。在Java的常见的23种设计模式中,大体上可以分为创建型模式、结构型模式和行为型模式三大类。如下就来详述单例模式的几种常见写法以及在框架或项目中的正确使用姿势原创 2022-11-03 23:13:27 · 121 阅读 · 0 评论 -
JavaSE基础回顾之反射知识点以及面试总结
Reflection(反射)是被视为`动态语言`的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性以及方法加载完类之后,在堆内存的方法区中就会产生一个Class类型的对象clazz(一个类只有一个Class对象),该对象包含了完整的类的结构信息,我们可以通过clazz对象看到类的结构原创 2022-11-02 10:31:01 · 123 阅读 · 0 评论 -
Java并发编程之CompletableFuture详解
在项目中经常会使用到CompletableFuture ,很多开源框架中也大量使用到了 CompletableFuture 。因此,专门写一篇文章来介绍这个 Java 8 才被引入的一个非常有用的用于异步编程的类。CompletableFuture 同时实现了 Future 和 CompletionStage 接口。原创 2022-09-22 20:40:31 · 3988 阅读 · 0 评论 -
Java IO模型详解
从应用程序的角度来解读一下 I/O,为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为 用户空间(User space) 和 内核空间(Kernel space ) 。平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。用户空间的程序不能直接访问内核空间。当想要执行 IO 操作时,由于没有执行这些操作的权限,只能发起系统调用,请求操作系统帮忙完原创 2022-09-14 21:12:11 · 221 阅读 · 0 评论 -
一文带你完全掌握MySQL索引
索引是一种用于快速查询和检索数据的数据结构,相当于字典的目录,常见的索引结构有B树、B+树和hash等原创 2022-09-14 10:53:09 · 618 阅读 · 0 评论 -
一文带你熟悉Redis网络模型原理
Redis 自 2009 年发布之后,其单线程网络模型的选择在社区中从未停止过讨论,多年来一直有呼声希望 Redis 能引入多线程从而利用多核优势,但是作者 antirez 是一个追求大道至简的开发者,对 Redis 加入任何新功能都异常谨慎,所以在 Redis 初版发布的十年后才最终将 Redis 的核心网络模型改造成多线程模式,这期间甚至诞生了一些 Redis 多线程的替代项目。虽然 antirez 一直在推迟多线程的方案,但却从未停止思考多线程的可行性,Redis 多线程网络模型的改造不是一朝一...原创 2022-08-15 12:32:50 · 667 阅读 · 0 评论 -
招银网络面试总结
经历过招银网络两轮面试后,部分面试题总结如下,题目不在多,而在于精,通过面试题回顾知识点,还是非常不错的复习方式呢,本文针对面试题进行了许多关联问题的扩展和总结。原创 2022-08-07 05:57:56 · 15994 阅读 · 0 评论 -
一文详解Redis缓存过期淘汰策略
一文带你详解Redis缓存过期淘汰策略,总体来说,可以从2个维度,四个方面来个8中淘汰策略分类过期键中筛选,volatile-ttl所有键中筛选,allkeys-lru、volatile-lru、allkeys-random、volatile-random、allkeys-lfu、volatile-lfulru(最近最久未使用的键删除)lfu(最低频次的键删除)random(随机删除)ttl(到了过期时间的键删除)...原创 2022-07-24 22:55:34 · 1561 阅读 · 0 评论 -
从青铜到王者,带你完成Redis分布式锁的实现和优化
在单机环境下,使用synchronized或lock就可保证线程安全,如果是分布式微服务,单机锁就会出现许多问题;使用Redis实现分布式锁(setnx --> setIfAbsent方法,设置过期时间);加锁后,业务逻辑执行完,一定要在finally代码块中释放锁,以免出现异常导致锁无法释放的情况;如果服务宕机,无法执行finally中释放锁的操作,导致REDIS_LOCK无法删除,所以需要设置锁的过期时间,且加锁和设置过期时间必须是原子操作............原创 2022-07-24 16:12:21 · 647 阅读 · 0 评论 -
Spring常见面试题总结(图文并茂,建议收藏)
3、@RestController和@Controller@RestController=@Controller+@RequestBody,单独使用@Controller,返回的是JSon或XML格式的数据,@RestController只返回对象,对象数据直接以JSON或XML的形式写入Http响应(Response)中4、Spring IOC和AOPSpring AOP:面向切面编程,能够将那些与业务无关,却被业务模块共同调用的责任或逻辑(事务处理、日志管理、权限控制等)封装起来,便于减少系统原创 2021-09-10 17:22:09 · 654 阅读 · 0 评论 -
2021年Java基础面试总结
1、Java 语言有哪些特点?1)简单易学;2)面向对象(封装,继承,多态);3)平台无关性(Java 虚拟机实现平台无关性,即针对不同操作系统都有其特定实现(Windows,Linux,macOS));4)具有可靠性;安全性;5)支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持,屏蔽了复杂的底层实现);6)支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支原创 2021-09-07 11:09:48 · 168 阅读 · 0 评论 -
全网最全Redis面试总结(图文讲解,建议收藏)
1、简单介绍一下 Redis 。Redis是使用C语言开发的数据库,但Redis的数据是存在内存中的(内存数据库),读写速度非常快,Redis被广泛应用于缓存方向,此外,还经常用来做分布式锁和消息队列。Redis提供了多种数据类型来支持不同的业务场景,Redis支持事务、持久化、Lua脚本、多种集群方案。2、说一下 Redis 和 Memcached 的区别和共同点。共同点:1)都是基于内存的数据库,一般都用来当作缓存使用,两者的性能都较高2)两者都有过期时间区别:1)Re原创 2021-08-21 21:22:23 · 903 阅读 · 0 评论