• Redis总结

    Redis是基于内存数据库,操作效率高,提供丰富的数据结构(Redis底层对数据结构还做了优化),可用作数据库,缓存,消息中间件等。本文从数据结构,到集群,到常见问题逐步深入了解Redis。 高性能 单线程模型 基于内存操作 epoll多路复用模...
  • Nginx总结

    Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、...
  • Java单例总结

    单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局的访问点。 隐藏其所有的构造方法。 属于创建型模式。 单例模式的适用场景确保任何情况下都绝对只有一个实例。 ServletContext、Ser...
  • Java泛型梳理

    在java中,泛型算是必须要掌握的一块硬核知识,在很多地方都会用到,这块如果理解了,在阅读其他框架源码的时候会让你更容易一些。 关于泛型的解析上面,我们需要先了解一些类和接口,这些比较关键,这些都位于java.lang.reflect包中,类图如下:...
  • ThreadLocal分析

    ThreadLocal介绍ThreadLocal是什么ThreadLocal本地线程变量,线程自带的变量副本(实现了每一个线程副本都有一个专属的本地变量,主要解决的就是让每一个线程绑定自己的值,自己用自己的,不跟别人争抢。通过使用get()和set(...
  • Java-SPI机制

    随着应用程序越来越复杂,对于我们开发人员来说,如何实现高效的组件化和模块化已经成为了一个重要的问题。而 Java SPI(Service Provider Interface)机制,作为一种基于接口的服务发现机制,可以帮助我们更好地解决这个问题。这样...
  • 读《Effective Java》后六章

    第八章 Lambda 和 Stream在Java 8中,增加了函数接口(functional interface)、Lambda 和方法引用(methodreference),使得创建函数对象(function object)变得很容易。与此同时,还...
  • 读《Effective Java》前六章

    本书作者Joshua Bloch曾是Sun Microsystems的Java架构师,现在是Google的工程师。

    这是一本任何想要提高技能和编写更好代码的Java开发人员的必读之书。里面全是干货。

    “我很希望我10年前就能拥有这本书。有人可能认为我不需要任何Java方面的书籍,但是我需要这本书。”——Java之父James Gosling

  • 缓存设计中七大经典问题总结

    在缓存系统的设计架构中,还有很多坑,很多的明枪暗箭,如果设计不当会导致很多严重的后果。设计不当,轻则请求变慢、性能降低,重则会数据不一致、系统可用性降低,甚至会导致缓存雪崩,整个系统无法对外提供服务 接下来将对缓存设计中的7大经典问题,如下图,进行问...
  • 缓存设计考量点总结

    本文主要讲缓存的基本思想、缓存的优点、缓存的代价、然后介绍三种缓存读写模式、两种缓存分类方法、缓存设计架构考量点。 缓存的定义 缓存最初的含义,是指用于加速 CPU 数据交换的 RAM,即随机存取存储器,通常这种存储器使用更昂贵但快速的静态 RAM(...