![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高频面试栏
文章平均质量分 93
九转成圣
少年易老学难成,一寸光阴不可轻。未觉池塘春草梦,阶前梧叶已秋声。
展开
-
Java高频面试之基础篇
使用new关键字使用反射clone方法反序列化序列化:(方便在磁盘上存储或者在网络上传输)把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。利用ObjectOutputStream和ObjectInputStream序列化和反序列化时一定要实现Serializable接口,否则会报异常利用fastjson序列化字符串时不实现Serializable不会报异常@Dataperson.setName("张三三");原创 2024-03-07 08:13:03 · 1851 阅读 · 0 评论 -
50道SQL面试题
13、查询没学过"数学老师-杰斯"老师讲授的任一门课程的学生姓名(有意思 逆向思维更简单,先查出学过的,包括学了部分的和全部的,在用not in)40、查询选修“数学老师-杰斯”老师所授课程的学生中成绩最高的学生姓名及其成绩(数学老师可能教了多门课,某一门课的最高成绩可能并列多人)9、查询所有课程成绩都小于60分的学生的学号、姓名(有意思,如果不用max可能难度不小)1、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号。10、查询没有学全所有课的学生的学号、姓名(和6差不多)原创 2024-03-07 08:16:49 · 2158 阅读 · 0 评论 -
深入剖析Java常见编程陷阱与优化策略
两个线程并发执行下列代码,其中直接使用线程安全类ConcurrentHashMap的put方法时不需要考虑多线程间互相覆盖的问题。关于 hashCode 和 equals 的处理,下列哪些说法是正确的?Set中存的对象为自定义对象时重写hashCode 和 equals这两种方法。如果自定义对象作为Map的键,那么最好覆写hashCode和equals。下面选项中,请找出BigDecimal创建方法存在精度风险的选项?输出false false T。输出false 和 true。输出 false 0 T。原创 2024-03-07 08:15:31 · 1450 阅读 · 0 评论 -
深度剖析Java内存溢出:从堆到栈的全面解析
Java 内存溢出是指 Java 程序在运行过程中,超出了虚拟机(JVM)为其分配的内存范围,导致内存不足的异常情况。内存溢出主要分为以下几类:堆溢出、栈溢出、运行时常量池溢出、元空间溢出、直接内存溢出等。本文将对这些溢出类型进行详细分析,并提供示例代码来演示这些情况。原创 2024-03-07 08:14:36 · 1386 阅读 · 0 评论 -
Java高频面试之消息队列与分布式篇
消息队列的基本作用是提供可靠、高效、异步的消息通信机制,实现系统之间的解耦、异步处理、削峰填谷、数据分发和错误处理等功能。它在分布式系统、微服务架构和大规模应用中发挥着重要的作用。原创 2024-03-07 08:13:28 · 2285 阅读 · 0 评论 -
Java高频面试之并发篇
锁升级锁升级是指在多线程并发访问中,锁的状态从低级别的锁形式逐渐升级到高级别的锁形式,以提高并发性能和减少开销。无锁状态(01):初始状态下,对象没有被线程持有锁,任何线程都可以访问。偏向锁(101):当一个线程获得锁时,JVM会将锁标记置为偏向锁,并将线程ID记录在锁对象的对象头中。此时,其他线程可以继续访问该对象,无需进行同步操作(修改锁对象对象头中的线程id)。只有当线程竞争锁时(一个线程在同步代码外要进去,一个线程在同步代码里面),偏向锁会被撤销,锁状态升级为轻量级锁。原创 2024-03-07 08:12:29 · 1912 阅读 · 0 评论 -
Java高频面试之SSM篇
OOP将业务封装为对象(对象的属性与行为/方法),横切关注点跨越了对象的边界(多个对象之间有共同的行为)横切关注点:多个模块或组件共享的功能(方法),例如日志记录,事务管理,安全等。原创 2024-03-07 08:12:04 · 2143 阅读 · 0 评论 -
Java高频面试之Redis篇
按照这个核心思想,Redis 中的 LRU 策略,会在每个数据对应的 RedisObject 结构体中设置一个 lru 字段,用来记录数据的访问时间戳。缓存击穿是指在使用缓存系统时,某个热门数据过期或被删除后,恰好有大量的并发请求同时访问该数据,导致这些请求都无法命中缓存,直接访问后端存储系统,对后端系统造成巨大压力,可能引发系统崩溃或性能下降的问题。缓存雪崩是指在使用缓存系统时,缓存中大量的数据同时过期或失效,导致大量的请求直接访问后端存储系统,使得后端系统承受巨大的压力,甚至引发系统崩溃的现象。原创 2024-03-07 08:11:26 · 1861 阅读 · 1 评论 -
Java高频面试之Mysql篇
mysql是一个c/s架构的数据库管理系统,客户端可以是图形化界面,也可以是命令行或者java等程序服务端由一下组成部分可插拔的存储引擎文件系统与日志。原创 2024-03-07 08:10:51 · 2126 阅读 · 0 评论 -
Java高频面试之集合篇
如果不是队尾, 寻找元素 Node node(int index) 如果index < (size >> 1) 从头开始找,否则从末尾往前找(size >> 1 size的一半向下取整)table 的初始化时机是什么时候,初始化的 table.length 是多少、阀值(threshold)是多少,实际能容下多少元素。ArrayList 是基于Array实现的可以动态扩容的集合类,提供了更丰富的方法.ArrayList 不能存储基本类型(包装类)Iterator 和 Enumeration 接口的区别?原创 2024-03-06 10:57:34 · 2186 阅读 · 0 评论