• Algorithm | QuickSort 快速排序


  • Data structure | Minimum Spanning trees 最小生成树


  • Algorithm | Merge Sort 并归排序


  • Algorithm | Insert Sort 插入排序


  • Data structure | HashMap


  • Data structure | Directed Graph


  • Data structure | Concurrent HashMap


  • Backend | Netty Conclusion

    Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty整合了nio的基础设施,并且提供了对于多种协议,相比于Tomcat只对HTTP进行支持,Netty易于我们扩展自己的第三方协议并且稳定性较强。这篇文章是基于《Netty权威指南》的总结,中间的代码参考了nettybook2项目,这两个都在引用中给了连接。


  • Concurrency | volatile, Szychronized关键字

    volatile和szychronized关键字均Java中用于多线程并发。在初期学习这两个关键字的时候已经写了一些总结,可以参见[MultiThreadAndLock v1.0](https://github.com/Seanforfun/JavaCore/blob/master/Conclusions/MultiThreadAndLock.txt), 但是几乎时隔一年,我再次翻阅这部分的内容,发现总结的部分多有疏漏,一些概念还是发生了混淆所以在本文中将会着重指出自己的一些疏漏并且加以梳理。


  • Design Pattern | Visitor Pattern 访问者模式

    访问者模式是一种将数据操作与数据结构分离的设计模式


  • Design Pattern | Template Method 模板方法

    定义一个算法中的操作框架,而将一些步骤延迟到子类中。使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。可以理解成接口方法的延伸。


  • Design Pattern | Strategy Pattern

    策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。


  • Design Pattern | State Pattern 状态模式

    允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。状态模式是一种对象行为型模式。对象的行为依赖于它的状态,并且可以在运行时根据状态改变行为。代码中包含大量与对象状态有关的if/else语句,这些条件对应于对象的各种状态,这些冗余条件语句的出现导致代码的可维护性和灵活性变差,这种情况适合使用状态模式进行优化。


  • Spring| Spring高级属性

    Spring的高级属性讲解。


  • Spring Cloud | Spring Cloud Zuul 路由网关

    在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。


  • Spring Cloud | Spring Cloud Sleuth 服务追踪


  • Spring Cloud | Spring Cloud Ribbon

    Ribbon是一个Client端的负载均衡器。Ribbon可以控制Http和TCP的行为,实现在微服务端的负载均衡。在同一个服务多次启动的时候,会形成一个集群,而Ribbon的作用就是使服务在集群中负载均衡。


  • Spring Cloud | Spring Cloud注册与发现:Eureka

    注册与发现又可以被理解为服务的治理,我们通过这个构架可以实现各个微服务的自动化的注册与发现。主要分成两个步骤:服务注册和服务发现。


  • Spring Cloud | Spring Cloud Hystrix


  • Spring Cloud | Spring Cloud Ribbon

    Ribbon是一个Client端的负载均衡器。在同一个服务多次启动的时候,会形成一个集群,而Ribbon的作用就是使服务在集群中负载均衡。