Fork me on GitHub
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 30 下一页
摘要: Java 14 在 2020.3.17 日发布正式版了,但现在很多公司还在使用 Java 7 或 Java 8,每当看到 Java 又发布新版本心里就慌得一匹。不过此版本并不是 LTS (长期支持版) 版本,所以不要慌,我们先来了解一下好了,等 LTS 版本发布后再用也不迟。 版本说明 现在 Jav 阅读全文
posted @ 2020-03-22 17:57 磊哥|www.javacn.site 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一。不要向小强那样,因为一句:volatile 是轻量级的 synchronized,而与期望已久的大厂失之交臂。 volatile 有两大特 阅读全文
posted @ 2020-03-18 09:03 磊哥|www.javacn.site 阅读(1237) 评论(2) 推荐(4) 编辑
摘要: 面试问题 Redis 如何实现查询附近的人? 涉及知识点 1. Redis 中如何操作位置信息? 2. GEO 底层是如何实现的? 3. 如何在程序实现查询附近的人? 4. 在实际使用中需要注意哪些问题? 视频答案 视频地址:https://www.bilibili.com/video/av8936 阅读全文
posted @ 2020-03-09 13:48 磊哥|www.javacn.site 阅读(903) 评论(3) 推荐(0) 编辑
摘要: 本文以面试问题「Redis 中的过期元素是如何被处理的?」为切入点,用视频加图文的方式和大家聊聊 Redis 过期元素被处理的相关知识点。 涉及的知识点 1. 过期删除策略有哪些? 2. 这些过期策略有哪些优缺点? 3. Redis 使用的是什么过期策略? 4. Redis 是如何优化和执行过期策略 阅读全文
posted @ 2020-03-03 11:53 磊哥|www.javacn.site 阅读(662) 评论(1) 推荐(2) 编辑
摘要: 1 考察知识点 本题考察的知识点有以下几个: 1. Keys 和 Scan 的区别 2. Keys 查询的缺点 3. Scan 如何使用? 4. Scan 查询的特点 2 解答思路 1. Keys 查询存在的问题 2. Scan 的使用 3. Scan 的特点 3 Keys 使用相关 1)Keys 阅读全文
posted @ 2020-02-27 19:05 磊哥|www.javacn.site 阅读(1892) 评论(0) 推荐(3) 编辑
摘要: Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的 阅读全文
posted @ 2019-11-17 22:45 磊哥|www.javacn.site 阅读(3080) 评论(2) 推荐(2) 编辑
摘要: 1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期; pexpire key milliseconds:设置 key 在 n 毫秒后过期; expireat key timestamp:设置 key 在某个时间戳(精确 阅读全文
posted @ 2019-11-12 19:08 磊哥|www.javacn.site 阅读(3651) 评论(1) 推荐(0) 编辑
摘要: 作为关系型数据库中一项非常重要的基础功能——事务,在 Redis 中是如何处理并使用的? 1.前言 事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此客户端的其他命令。 事务也是其他关系型数据库,所必备的一项非常重要的能力。以支付 阅读全文
posted @ 2019-10-28 21:00 磊哥|www.javacn.site 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 《Java面试全解析》是我在 GitChat 发布的一门电子书,全书总共有 15 万字和 505 道 Java 面试题解析,目前来说应该是最实用和最全的 Java 面试题解析了。 我本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为 阅读全文
posted @ 2019-10-23 20:00 磊哥|www.javacn.site 阅读(2188) 评论(0) 推荐(1) 编辑
摘要: 在开始学习深克隆和浅克隆之前,我们先来看下面代码,有什么问题? 程序执行结果: 可以看出,如果使用等号复制时,对于值类型来说,彼此之间的修改操作是相对独立的,而对于引用类型来说,因为复制的是引用对象的内存地址,所以修改其中一个值,另一个值也会跟着变化,原理如下图所示: 因此为了防止这种问题的发生,就 阅读全文
posted @ 2019-09-18 09:31 磊哥|www.javacn.site 阅读(877) 评论(0) 推荐(0) 编辑
摘要: RocketMQ 是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在 2016 年底捐赠给 Apache 开源基金会成为孵化项目,经过不到一年时间正式成为了 Apache 顶级项目。早期阿里曾经基于 ActiveMQ 研发消息系统, 随 阅读全文
posted @ 2019-07-03 19:20 磊哥|www.javacn.site 阅读(7695) 评论(3) 推荐(2) 编辑
摘要: 如果使用 SpringBoot 多模块发布到外部 Tomcat,可能会遇到各种各样的问题。本文归纳了以下 8 个原则和发布时经常出现的 4 个问题的解决方案,掌握了这些原则和解决方案,几乎可以解决绝大数 SpringBoot 发布问题。 SpringBoot 多模块发布的 8 大原则 1 在发布模块 阅读全文
posted @ 2019-06-20 15:45 磊哥|www.javacn.site 阅读(2495) 评论(0) 推荐(2) 编辑
摘要: JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成。 首先来说 JVM 的组成分为,整体组成部分和运行时数据区组成部分,一般开发者关注的和面试官问的都是后者,但本文会详细讲解以上两个组成部分。 一、 阅读全文
posted @ 2019-04-10 09:01 磊哥|www.javacn.site 阅读(3585) 评论(0) 推荐(4) 编辑
摘要: 本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器。 分代收集器会把内存空间分为:老生代和新生代两个区域,而新生代又会分为:Eden 区和两个 Survivor区(From Survivor、To Survivor), 阅读全文
posted @ 2019-02-22 09:25 磊哥|www.javacn.site 阅读(2435) 评论(0) 推荐(1) 编辑
摘要: 全文共 2195 个字,读完大约需要 8 分钟。 如果垃圾回收的算法属于内存回收的方法论的话,那本文讨论的垃圾回收器就属于内存回收的具体实现。 因为不同的厂商(IBM、Oracle),实现的垃圾回收器各不相同,而本文要讨论的是 Oracle 的 HotSpot 虚拟机所使用的垃圾回收器。 常用垃圾回 阅读全文
posted @ 2019-02-13 09:53 磊哥|www.javacn.site 阅读(1694) 评论(1) 推荐(2) 编辑
摘要: 全文共 1890 个字,读完大约需要 6 分钟。 上一篇我们讲了垃圾标记的一些实现细节和经典算法,而本文将系统的讲解一下垃圾回收的经典算法,和Hotspot虚拟机执行垃圾回收的一些实现细节,比如安全点和安全区域等。 因为各个平台的虚拟机操作内存的方法各不相同,且牵扯大量的程序实现细节,所以本文不会过 阅读全文
posted @ 2019-01-25 08:09 磊哥|www.javacn.site 阅读(1056) 评论(1) 推荐(2) 编辑
摘要: 好的文章是能把各个知识点,通过逻辑关系串连起来,让人豁然开朗的同时又记忆深刻。 导读:对象除了生死之外,还有其他状态吗?对象真正的死亡,难道只经历一次简单的判定?如何在垂死的边缘“拯救”一个将死对象?判断对象的生死存活都有那些算法?本文带你一起找到这些答案。 在正式开始之前,我们先来了解一下垃圾回收 阅读全文
posted @ 2019-01-21 09:29 磊哥|www.javacn.site 阅读(995) 评论(0) 推荐(1) 编辑
摘要: 实现效果图: 上图合成了2个人视频,中途有1个人先离开之后又重新加入了房间。 一、业务场景 业务场景是这样的:多个用户(2 4人)直播的视频,合成为一个视频,这期间要满足2个条件:首先,录制途中可能有一个或多个用户不定次数的离线、重进(网络差和人为操作)的情况;第二,要保证合成的视频和录制的效果是一 阅读全文
posted @ 2019-01-16 19:13 磊哥|www.javacn.site 阅读(1331) 评论(4) 推荐(3) 编辑
摘要: 导读:详细而深入的总结,是对知识“豁然开朗”之后的“刻骨铭心”,想忘记都难。 Java虚拟机(Java Virtual Machine)下文简称jvm,上一篇我们对jvm有了大体的认识,进入本文之后我们将具体而详细的介绍jvm的方方面面,而本文主要讲的是jvm的组成,了解了它,就揭开了jvm的神秘面 阅读全文
posted @ 2019-01-13 19:21 磊哥|www.javacn.site 阅读(4525) 评论(0) 推荐(1) 编辑
摘要: 提到Java虚拟机(JVM),可能大部分人的第一印象是“难”,但当让我们真正走入“JVM世界”的时候,会发现其实问题并不像我们想象中的那么复杂。唯一真正令我们恐惧的,其实是恐惧本身。而作为整个JVM系列的首篇,本文将带你解除刚开始学习JVM时的种种疑惑。比如:什么是JVM?为什么学习JVM?怎么有效 阅读全文
posted @ 2019-01-06 18:40 磊哥|www.javacn.site 阅读(1655) 评论(0) 推荐(2) 编辑
摘要: 反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 一、反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射 阅读全文
posted @ 2018-12-11 18:33 磊哥|www.javacn.site 阅读(2255) 评论(0) 推荐(3) 编辑
摘要: 导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。 BIO、NIO、AIO 的区别是什么? 同/异步、阻/非阻塞的区别是什么? 文件读写最优雅的实现方式是什么? NI 阅读全文
posted @ 2018-12-04 17:40 磊哥|www.javacn.site 阅读(1453) 评论(1) 推荐(3) 编辑
摘要: 导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧! <! more Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并不属于Collection的子集,而是和它平 阅读全文
posted @ 2018-11-28 08:27 磊哥|www.javacn.site 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 一、Spring Boot 系列诞生原因 上学那会主要学的是 Java 和 .Net 两种语言,当时对于语言分类这事儿没什么概念,恰好在2009年毕业那会阴差阳错的先找到了 .Net 的工作,此后就开始了漫长的 .Net 编程之旅,说实话最初的“编程思想”的形成和确立都是在头几年做 .Net 的时候 阅读全文
posted @ 2018-11-24 22:31 磊哥|www.javacn.site 阅读(2105) 评论(0) 推荐(3) 编辑
摘要: 乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀...难理解?不存的!来,话不多说,带你飙车。 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题。 那什么是线程的安全问题呢? 一、线程安全问题的产生 线程安全问题:指的是在多线程编 阅读全文
posted @ 2018-11-22 09:34 磊哥|www.javacn.site 阅读(915) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 30 下一页