徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态代理、网络传输、动态加载、反射这些知识点。发现这些知识都了解一些。所以就想着试试自己实现一个简单的RPC框架...

2019-01-22 13:32:18

阅读数 10

评论数 0

徒手撸一个简单的IOC

徒手撸一个简单的IOC Spring框架中最经典的两个就是IOC和AOP,其中IOC(Inversion of Control)是什么呢?控制反转,简单来说就是将控制实体Bean的动作交给了Spring容器进行管理。再简单点来说就是例如之前想用一个类,必须new一个,但是使用了Spring那么直接...

2019-01-25 16:13:12

阅读数 8

评论数 0

Mysql查询带树状结构的信息

Mysql查询带树状结构的信息 在Oracle中有函数应用直接能够查询出树状的树状结构信息,例如有下面树状结构的组织成员架构,那么如果我们想查其中一个节点下的所有节点信息,在Oracle中可以直接用下面的语法可以进行直接查询。 START WITH CONNECT BY PRIOR 但是在M...

2019-01-22 13:33:06

阅读数 6

评论数 0

不学无数——Gson源码解析

Gson 在用Gson解析时传过来的Json串时,如果将其解析为对象A,而这个对象A继承了对象B。这两个对象都有属性名为name的值,那么在进行解析的时候就会报如下错误。 Exception in thread "main" java.lang.IllegalA...

2018-10-18 09:55:17

阅读数 18

评论数 0

不学无数——适配器模式

适配器模式 智者千虑必有一失,愚者千虑必有一得 在我们开发过程中也会经常碰到一些给原有的系统加一些功能,所以不管前期我们呢可行性、需求分析和系统设计处理的多好,随着时间的推移,总会出一些“意外”。因此我们该如何处理掉这些“意外”呢?聪明的程序员们就想到了许多的补救模式,其中适配器模式就是补救模...

2018-10-12 17:57:17

阅读数 8

评论数 0

不学无数——Mybatis解析判断表达式源码分析

Mybatis解析判断表达式源码分析 在我们开发过程中用Mybatis经常会用到下面的例子 Mapper如下 Map<String ,String > testArray(@Param("array") String ...

2018-10-12 17:56:36

阅读数 12

评论数 0

不学无数——JAVA中NIO再深入

JAVA中NIO再深入 在上一章节的JAVA中的I/O和NIO我们学习了如何使用NIO,接下来再深入了解一下关于NIO的知识。 缓冲器内部的细节 Buffer由数据和可以高效地访问及操作这些数据的四个索引组成。这四个索引是 mark:标记,就像游戏中设置了一个存档一样,可以调用reset()方法...

2018-09-27 17:56:23

阅读数 41

评论数 0

不学无数——Java中IO和NIO

JAVA中的I/O和NIO I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。 什么是I/O I/O ? 或者输入/输出 ? 指的...

2018-09-21 17:51:49

阅读数 16

评论数 0

不学无数——Mybatis自动映射器Mapper原理分析

在使用MyBatis时,有时候会想,为什么只写一个接口没有编写任何的实现类,但是就能返回接口的实例,并且调用接口的方法返回数据库中的数据?此时脑海中浮现了写动态代理时候的记忆,记得动态代理也是接管了接口,不需要实际的代理角色。然后经过源码的Debug发现果然是运用了动态代理的技术。如果对于动态代理...

2018-09-21 17:51:05

阅读数 32

评论数 0

不学无数——装饰模式

装饰模式 在开始之前 我们可以用一个简单的例子引出来装饰模式,在小的时候,相信大家都有过这样的经历:小学每年会有好几次的考试,如果有一次成绩非常差,而且考完以后学校会有个很损的招,就是打印出来成绩单,然后让家长签字。那么拿着这个成绩单,肯定是不会直接告诉家长成绩什么的,肯定是会加一些,例如,语文考...

2018-09-18 19:06:57

阅读数 10

评论数 0

不学无数——个人搭建的博客已经好了,欢迎访问

新的博客的地址 http://modouxiansheng.top/,在csdn中也会更新文章,有感兴趣的小伙伴可以进去看看。有什么问题可以随时指出来。

2018-09-17 20:41:19

阅读数 14

评论数 0

不学无数——Spring注入后反射的空指针异常

Spring注入后反射的空指针异常 自动装配是在spring环境下当使用该类的实例时由spring容器完成了类的实例化过程,包括对依赖对象的实例化过程。 而通过反射创建实例时,是根据你调用的构造函数完成的实例化过程,没有容器的自动化创建实例了,所以需要自己对依赖对象进行注入。 所以依赖s...

2018-09-17 20:40:20

阅读数 109

评论数 0

不学无数——记一次常见异常而导致的Debug源码之旅

1. 出现的异常以信息 代码如下: Mapper接口中的代码: List<String> queryTransCdByType(String type); MapperXML中的SQL代码: <select id=...

2018-09-12 16:44:59

阅读数 19

评论数 0

不学无数——组合模式

组合模式 在DebugMybatis的源码时,在DynamicSqlSource.getBoundSql动态获取sql的时候,Debug会发现相同的方法但是进去的实现类却不相同,不明白为什么会这样,于是上网查了资料说是运用了组合的设计模式。 1. 数据结构 聊组合模式为什么会聊到数...

2018-09-11 20:45:12

阅读数 23

评论数 0

不学无数——Java动态代理

动态代理 1. 什么是动态代理 在上一章节中,我们讲的是代理其实都是静态代理,动态代理是在运行阶段动态的创建代理并且动态的处理对所代理方法的调用。在动态代理上所做的所有调用都会被重定向到单一的调用处理器中。在现在很流行的Spring中有一个AOP(面向切面)的其中核心实现技术就是动态代理的...

2018-09-07 15:23:18

阅读数 28

评论数 0

不学无数——Java代理模式

1. 代理 Provide a surrogate or placeholder for another object to control access to it(为其他对象提供一种代理以控制对这个对象的访问) 1.1 什么是代理 代理是基本的设计模式之一,它是你为了提供额外...

2018-09-06 14:04:12

阅读数 31

评论数 0

不学无数——InterruptedException异常

InterruptedException异常 在了解InterruptedException异常之前应该了解以下的几个关于线程的一些基础知识。 线程的状态 线程在一定的条件下会发生状态的改变,下面是线程的一些状态 初始(NEW):新建一个线程的对象,还未调用start方法 运行(...

2018-09-05 20:57:37

阅读数 26

评论数 0

不学无数——反射和内省的区别

反射和内省的区别 内省是基于反射实现的,主要用来操作JavaBean,通过内省可以很方便的动态获得bean的set/get方法,属性,方法名,他相当于是反射的工具类一样 1. 反射 反射其实简单来说就是通过类的名字获得对于这个类的描述,这种描述包括方法、构造器、属性的描述。举个例...

2018-09-04 20:25:21

阅读数 32

评论数 0

不学无数——初识反射

反射:运行时的类信息 运行时类型信息使得你可以在程序运行时发现和使用类型信息 1. Class对象 通过Class对象可以在运行时发现一个对象完整的类继承结构 类是程序的一部分,每一个类都会有一个Class对象。换句话说既每编写一个新的类,就会产生一个Class对象。而...

2018-09-04 20:25:02

阅读数 32

评论数 0

不学无数——SpringBoot入门Ⅷ

SpringBoot–Actuator 1. 初识Actuator 在开发过程中,项目被放置到生产服务器上运行时,有可能需要我们全方位的监控应用服务的运行情况。此时SpringBoot提供了Actuator模块进行监控和管理 2. 使用方法 在gradle中添加依赖 comp...

2018-09-04 20:24:39

阅读数 15

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭