【JVM详解】多图详解JVM运行流程及内存区域

前言

前提扼要:我认为快速学习新知识的办法是,将知识点信息转成生动形象的图来加深理解。其次是采用费曼学习法,用自己理解的话教会其他人。所以文章都会尽量采用图片讲解,在末尾处用问答的方式,将本文知识点整合,尽量保证问答之间连续性和逻辑性。

​ Java虚拟机是Java语言的一大特点,也为Java提供了跨语言的特性,一次编译,多次运行。避免底层技术的复杂性和不同系统带来的差异性的影响,所以虚拟机有自己一套内存区域管理,区别于系统的内存。另外一大特性是回收对象,也就是我们常说的垃圾回收器。如今很多应用对程序的性能、稳定性和扩展性方面会有了极高的要求,如果开发人员不了解虚拟机诸多技术特性的运行原理,就无法写出最适合虚拟机运行和自优化的代码。这也是我们学习虚拟机的原因,知其然而知其所以然。那虚拟机是如何将Java文件执行输出结果的呢?Java内存区域长啥样?垃圾回收器是如何回收对象的呢?接下来我会一一来解答,按照惯例,画一张Java虚拟机结构流程图。如下图:


 【MySQL详解】MySQL架构之SQL语句执行的全过程

前言

了解MySQL服务器执行一条SQL语句全过程,必须先了解MySQL体系架构,每个部分有哪些组件、具体功能和作用。为了讲解连贯性,会根据客户端与服务器建立连接,发送语句到返回数据的过程讲解。如果对某个部分的组件不太了解,不要慌,先记住功能作用,我会专门对复杂的组件再开多一篇文章来讲解,到时候带着目的去看,更容易理解。记住,不懂不熟悉的组件不要慌。本文默认只考虑InnoDB存储引擎。


 【MySQL详解】查询优化器是如何工作的

前言

查询优化器是专门负责优化查询语句的优化器模块,还可以通过分析各种统计信息,基于成本考虑给出最优的查询计划,explain是查询优化器分析出来的结果,通常我们在优化语句时都会查看explain具体查询细节。

MySQL的优化器主要是将SQL经过语法解析/词法解析后得到的语法树,通过MySQL的数据字典和统计信息的内容,经过一系列运算,从而得出一个执行计划树的构成。之后MySQL按照执行树的要求,计算得出结果。也就是说优化器的输入是一个语法树,输出是一个执行树(也称为执行计划)

由上可知,查询优化器分别基于规则对语句优化,另一个是基于成本优化查询方法。那本文将会对基于成本优化进行讲解,首先我们得知道什么是成本,查询中有哪些成本?


 【Redis详解】实际应用场景之缓存和分布式锁-(四)

本文的内容主要介绍redis实际开发中的应用,内容如下:

  • 首先讲一下最常见的应用-缓存,redis基于内存之上,读取速度快,所以大部分应用会把redis当作缓存,缓冲热点数据。其次会讲redis缓存在运行时,产生的一些问题。
  • 然后是redis实现分布式锁的具体方案。

 【Redis详解】主从复制-哨兵-集群-(三)

本文的主要内容,在集群模式中涉及的功能,但不会讲解每个功能详细操作命令:

  • 复制
  • Sentinel哨兵
  • 集群模式

 【Redis详解】单机数据库功能实现-(二)

话不多说,直接上本文的主要内容,单机数据库中六大功能的实现:

  • 过期键删除策略
  • 持久化
  • 内存淘汰机制
  • 事件
  • 客户端服务器

 【Redis详解】底层数据结构-(一)

话不多说,直接上本文的主要内容:

  • 首先介绍六种基础数据结构:动态字符串,链表,字典,跳跃表,整数集合和压缩列表,以及两种高级数据结构位图(BitMap)、HyperLogLog。
  • 其次会介绍Redis的数据类型对象:字符串对象(String)、列表对象(List)、哈希对象(Hash)、集合对象(Set)和有序集合对象(ZSet),以及高级数据类型布隆过滤器(BloomFilter)
  • 最后以问答形式,分析数据类型对象对应的应用场景。


 【Redis详解】Redis系列目录

首先讲一下为什么想写Redis详解这一些系列的文章。因为在互联网应用中,缓存成为高并发架构的关键组件。想用费曼学习法加深对Redis理解和巩固,所以在输出内容的同时,尝试教会别人是一种能够快速掌握知识的方法。

系列目录


 【多图预警!】HashMap原理和主要流程详解

1.前言

HashMap是开发中最常用的键值对集合类,也是面试中经常被问及的一个知识点,也是衡量java基础是否扎实的标准之一,是每个JAVA初学者入门必须跨过的槛。所以HashMap重要性不言而喻,需要彻底掌握。 但在开始学习HashMap时,如果文章中有一大堆源码和一大段文字,会让读者阅读起来十分枯燥以及苦涩难懂。特别是不太了解HashMap的读者,但为了深入理解肯定要结合源码学习。 所以打算先介绍HashMap流程,熟悉主要操作的流程步骤,再结合源码,加深对HashMap的理解。分为两篇文章讲解:
第一篇(本文)是介绍HashMap主要操作的流程。
第二篇是结合源码深入理解。
本文为第一篇文章,尽量以简短的文字+图片讲解HashMap,力求达到通俗易懂,也会叠加一小部分代码,方便第二篇文章源码阅读。


 《贫穷本质》-读书心得

如何摆脱贫穷陷阱

讲的是为什么贫穷的人很难摆脱贫穷的陷阱? 而图中S曲线是贫穷陷阱的来源,当将来收入低于现在收入时,随着时间推移只会越来越穷。将来收入取决于消费习惯,教育,健康,理财等方面。比如贷款给穷人,小额贷款对穷人的帮助,贷款后会在必要时储蓄、争取机会并更加努力的工作,他们不再混日子,而是朝着他们自己想要的一种生活迈进。减少了不必要的支出、盲目消费,学会节衣缩食,从而充分利用新的机会,对自己的目标有了更好的了解。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×