手写源码
通过自己手写源码,深入理解框架源码(SpringMvc,ORM,RPC,Tomcat)
蓝星花
用代码编写我们的青春年华!
展开
-
第九篇 - 手写心跳检测
Github源码下载:https://github.com/chenxingxing6/sourcecode/tree/master/study-net一、前言1.1 什么是心跳检测在分布式系统中,分布在不同主机上的节点需要检测其他节点的状态,如服务器节点需要检测从节点是否失效。为了检测对方节点的有效性,每隔固定时间就发送一个固定信息给对方,对方回复一个固定信息,如果长时间没有收到对方...原创 2019-12-19 20:20:28 · 760 阅读 · 0 评论 -
第八篇 - 手写Redis(Java实现)
Github源码下载:https://github.com/chenxingxing6/sourcecode/tree/master/code-redis一、前言Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、key-value数据库。它通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Hash),列...原创 2019-12-06 19:49:15 · 3563 阅读 · 1 评论 -
第七篇 - 手写Aop(面向切面编程)
Github源码下载地址:https://github.com/chenxingxing6/sourcecode/tree/master/code-springaop一、前言AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Sprin...原创 2019-10-21 20:26:23 · 954 阅读 · 0 评论 -
第六篇 - 手写基于接口实现动态代理
Github源码下载地址:https://github.com/chenxingxing6/sourcecode/tree/master/code-proxy一、前言我们知道常见的动态代理有两种实现方式,基于jdk实现动态代理,基于cglib实现动态代理。本篇博客将自已模仿jdk实现接口动态代理,自己手写源码,实现一个接口的动态代理。二、实现接口动态代理如果不了解jdk动态代理的,...原创 2019-10-19 12:29:48 · 411 阅读 · 1 评论 -
第一篇 - 手写SpringMvc框架
一、前言SpringMVC是Spring框架的一个模块,是基于mvc的webframework模块。mvc是一种设计模式,即model-view-controller,mvc在b/s系统下的应用如下图所示。SpringMvc原理图:二、手写SpringMvc...原创 2019-09-17 21:34:23 · 532 阅读 · 8 评论 -
第二篇 - 手写Tomcat服务器
1.前言花了快2天的时间了,终于完善了我这个MyTomcat。到目前来说,我感觉还可以吧,当然我希望感兴趣的小伙伴们,你们可以在我这个基础上继续完善,你们可以把解析jsp功能加进去,还要一个较严重的问题就是,中文字符会乱码。总之,希望对路过的小伙伴们有帮助。2.MyTomcat介绍2.1 项目目录结构2.2 配置环境变量Mytomcat_home配完之后重启电脑,使配置生效。...原创 2019-09-17 22:02:18 · 545 阅读 · 2 评论 -
第三篇 - 手写ORM框架
一、前言ORM对象关系映射(Object Relational Mapping),用于实现面向对象编程语言里不通类型系统的数据之间进行转换。简单来说,ORM就是通过使用描述对象和数据库之间映射的元数据,将程序中的对象与关系数据库进行相互映射。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设...原创 2019-09-19 15:18:57 · 810 阅读 · 0 评论 -
第四篇 - 手写RPC框架
Github源码下载地址:https://github.com/chenxingxing6/myrpc一、前言RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外的为这个交互作用编程,如果涉及的软件采用面向对象编程(...原创 2019-10-01 21:36:25 · 452 阅读 · 0 评论 -
第五篇 - 手写Tomcat(基于Netty)&热部署
Github源码下载地址:https://github.com/chenxingxing6/sourcecode/tree/master/code-netty-tomcat一、前言原创 2019-10-09 19:56:02 · 1044 阅读 · 0 评论