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