摘要:这次我们来说说我们的redis,在我们的redis的认知里,最熟悉的就是用redis作为缓存使用,还有我们的分布式session,其实还有很多redis的使用,还有redis的哨兵模式等等。 Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI  阅读全文
posted @ 2019-10-16 09:41 oO从零开始Oo 阅读 (258) 评论 (0) 编辑
摘要:这次我们来说一下我们的SpringBoot,现在SpringBoot已经成为趋势,在我这里我用三篇文章的形式来讲清楚我们的SpringBoot,大致分为,第一篇讲搭建,基本使用,第二篇三方集成,自动装配原理,第三篇,将main方法启动原理,总结史上最全的SpringBoot注解及其含义。后面有机会再 阅读全文
posted @ 2019-10-12 16:47 oO从零开始Oo 阅读 (239) 评论 (1) 编辑
摘要:上几次博客,我说了一下Zookeeper的简单使用和API的使用,我们接下来看一下他的真实场景。 一、分布式集群管理✨✨✨ 我们现在有这样一个需求,请先抛开Zookeeper是集群还是单机的概念,下面提到的都是以Zookeeper集群来说的。 1. 主动查看线上服务节点 2. 查看服务节点资源使用情 阅读全文
posted @ 2019-10-11 16:03 oO从零开始Oo 阅读 (208) 评论 (0) 编辑
摘要:说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据 阅读全文
posted @ 2019-10-09 15:01 oO从零开始Oo 阅读 (292) 评论 (3) 编辑
摘要:下文连接比较多啊,都是我过整理的博客,很多答案都在博客里有详细说明,理解记忆是最扎实的记忆。而且我的答案不一定是最准确的,但是我的答案不会让你失望,而且几乎每个答案都是问题的扩展答案。 1.JVM内存模型 答:http://urgr.cn/cxiaocai/p/11483629.h 阅读全文
posted @ 2019-10-09 08:56 oO从零开始Oo 阅读 (312) 评论 (0) 编辑
摘要:我们这次来叭叭一下Spring的源码,这次博客主要来说说Spring源码,先粗略的撸一遍,下篇博客选几个重点去说,由于过于复杂,我也是看了一点点,我们先来过一遍源码,然后上流程图,最后我们再回头总结一下,我们来循序渐进的叭叭一下。 我们来回顾一下上次Spring博客的内容,每次都有用到Annotat 阅读全文
posted @ 2019-10-08 14:12 oO从零开始Oo 阅读 (185) 评论 (0) 编辑
摘要:我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下。 统一异常处理 比如我们的运行时异常的500错误。我们来自定义一个类 将我们的类注入到我们的spring-mvc.xml内 我们让我们的代码运行时异常就可以跳转到我们的error页面上去了。 拦截器 还有我们常用的 阅读全文
posted @ 2019-10-08 14:01 oO从零开始Oo 阅读 (48) 评论 (0) 编辑
摘要:做过web项目的小伙伴,对于SpringMVC,Struts2都是在熟悉不过了,再就是我们比较古老的servlet,我们先来复习一下我们的servlet生命周期。 servlet生命周期 1)初始化阶段 当客户端向 Servlet 容器发出 HTTP 请求要求访问 Servlet 时,Servlet 阅读全文
posted @ 2019-10-08 07:45 oO从零开始Oo 阅读 (170) 评论 (0) 编辑
摘要:上次博客我们说了一下zookeeper的配置文件,以及命令的使用http://urgr.cn/cxiaocai/p/11597465.html。我们这次来说一下我们的zookeeper的集群配置和java的API相关操作。 集群: 一般情况下我们用zookeeper来做任务调度中心 阅读全文
posted @ 2019-09-29 17:34 oO从零开始Oo 阅读 (98) 评论 (0) 编辑
摘要:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。(百度百科)。ZooKeeper代码版本中,提供了 阅读全文
posted @ 2019-09-28 23:26 oO从零开始Oo 阅读 (45) 评论 (0) 编辑
摘要:上几篇博客我们大致讲了一下mysql的底层结构,什么B+tree,什么Hash需要回行啊,再就是讲了mysql优化的explain,这次我们来说说mysql的锁。 mysql锁 锁从性能上分为乐观锁(用版本对比来实现)和悲观锁,乐观锁的性能要比悲观锁高。 从对数据库操作的类型分,分为读锁和写锁(都属 阅读全文
posted @ 2019-09-27 13:19 oO从零开始Oo 阅读 (221) 评论 (0) 编辑
摘要:设计模式自身一直不是很了解,但其实我们时刻都在使用这些设计模式的,java有23种设计模式和6大原则。 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 其中包含 创建型模式,共五种:单例 阅读全文
posted @ 2019-09-23 20:21 oO从零开始Oo 阅读 (122) 评论 (0) 编辑
摘要:过去的几天里,我把JVM内部的垃圾回收算法和垃圾回收器。还剩下最后一个G1回收器没有说,我们今天数一下G1回收器和常见的参数配置。 G1回收器 G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器,以极高概率满足GC停顿时间要求的同时,还具备高吞 阅读全文
posted @ 2019-09-23 13:42 oO从零开始Oo 阅读 (207) 评论 (0) 编辑
摘要:今天我更新了一篇jvm垃圾回收的算法和垃圾回收器的内部逻辑,但是看的人不多啊......貌似大家还是比较喜欢看源码吧,毕竟实战要比理论用的多。 这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的spring的使用,别小看基础,保证有你没用过的注解和配置,走起。我们先来建立一个maven项 阅读全文
posted @ 2019-09-22 19:51 oO从零开始Oo 阅读 (349) 评论 (1) 编辑
摘要:接上次JVM虚拟机堆内存模型来继续说,上次我们主要说了什么时候可能把对象直接放在老年代,还有我们的可能性分析,提出GCroot根的概念。这次我们主要来说说垃圾回收所使用的的算法和我们的垃圾回收器,需要了解我们的可达性分析GCroot根是什么,还有我们的动态年龄判断和老年代分配担保机制,还不清楚咋回事 阅读全文
posted @ 2019-09-19 17:24 oO从零开始Oo 阅读 (154) 评论 (0) 编辑
摘要:这次我们来说说Mybatis的源码,这里只说执行的流程,内部细节太多了,这里只能授之以渔了。还是最近的那段代码,我们来回顾一下。 就是拿到流文件,也是我们主配置文件,进行流文件解析,传入到build内,构建成一个sqlSessionFactory,再由sqlSessionFactory得到sessi 阅读全文
posted @ 2019-09-18 13:03 oO从零开始Oo 阅读 (296) 评论 (0) 编辑
摘要:上次博客我们说了mybatis的基本使用,我们还捎带提到一下Mapper.xml中的select标签的useCache属性,这个就是设置是否存入二级缓存的。 回到我们正题,经常使用mybatis的小伙伴都知道,我们的mybatis是有两级缓存的,一级缓存默认开启,我们先来一下一级缓存吧,超级简单。一 阅读全文
posted @ 2019-09-17 14:22 oO从零开始Oo 阅读 (282) 评论 (0) 编辑
摘要:我们今天先来简单了解一下我们持久层框架,mybatis的使用。而且现在的注解成为趋势,我主要说一下注解方向的使用吧(配置文件也会说) 从使用角度只要是三个部分,mybatis-config.xml,mapper.xml,执行文件三个部分。 mybatis-config.xml: 主键标签为confi 阅读全文
posted @ 2019-09-16 21:46 oO从零开始Oo 阅读 (233) 评论 (0) 编辑
摘要:上次博客,我们说了jvm运行时的内存模型,堆,栈,程序计数器,元空间和本地方法栈。我们主要说了堆和栈,栈的流程大致也说了一遍,同时我们知道堆是用来存对象的,分别年轻代和老年代。但是具体的堆是怎么来存放对象的呢?什么时候可以将对象放置在老年代呢。下面我来看一下。 如果都为默认设置,大致就是这样的。假设 阅读全文
posted @ 2019-09-14 23:18 oO从零开始Oo 阅读 (164) 评论 (0) 编辑
摘要:还是我们上次的图,我们上次大概讲解了类加载子系统的执行过程,验证,准备,解析,初始化四个过程。还有我们的双亲委派机制。 我们这次来说一下运行时内存模型。上一段小代码。 运行main方法时,再简单不过了,创建Main对象,调用compute方法,返回结果,打印,打印数字2。 那么这一系列过程在jvm里 阅读全文
posted @ 2019-09-10 23:46 oO从零开始Oo 阅读 (41) 评论 (0) 编辑