netty 学习

netty 是一款高性能的java 网络应用框架,好多RPC框架也都是基于netty进行开发的,比如dubbo。netty中使用了阻塞和非阻塞的api,用户可以根据需求来选择。此外还提供了多种协议的支持,比如:http,ssl,websocket等,用户也可以根据自己的需求,实现自己的协议。

springboot 集成 mybatis

springboot 配置简单,mybatis 也提供了跟springboot集成的工具包,使得mybatis的配置更简单

java 解决空指针的方案-optional

在java的编码中我们会经常遇到空指针的情况,为了解决空指针问题,我们经常需要使用if进行判断处理,我们代码中应该是我们的业务代码,而不是大量的对于空指针的校验代码。为了解决这个问题,在jdk 8 的版本中,官方为我们提供了Optional这个类的用来解决空指针的问题。

Java SPI 服务发现机制

SPI 全称是 Service Provider Interface,是java提供的一个服务发现提供机制,可以用来动态的启用和替换框架。在很多的开源框架中都使用了该机制,Dubbo中就大量的使用了该机制。

java 面试题

用来记录面试过程中遇到的问题,为本人自己的理解和网上搜集,有错误的还请指出

swift macos 纯代码自定义窗体

网上的资料大部分都是使用storyborad进行开发,我刚学习swift就想自己用代码实现一个窗体的实现,所以有了这篇文章。
因为刚开始学习,所以好多地方我只是知道要这么写,不知道原理,所以有了解的可以一起交流下,github地址,欢迎留言。

希尔排序

希尔排序是插入排序的一种,又称缩小增量排序,是对插入排序的一个改进。

插入排序

往一个有序数组中插入元素

选择排序和冒泡排序

选择排序和冒泡排序有些相似,所以把它们两个放在一起写,记录下