-
Docker安装hexo编译环境
hexo编译打包静态页面需要依赖node,npm等环境,为了不污染本地环境,考虑用docker拉取ubuntu来搭建hexo编译环境,用来编译博客,以下记录详细过程。 123456// 拉取镜像,运行镜像,并进入docker pull ubuntu:... -
Springboot自定义指标并使用Prometheus监控预警
spring套件为我们提供了很多starter,其中spring-boot-starter-actuator支持指标采集,本文介绍使用Prometheus监控Spring Boot提供的默认指标,以及自定义业务指标,并使用Prometheus进行监控... -
Go channel和select
channel是指定类型的值的线程安全队列, channel的最大用途是goroutines之间进行通信。 goroutines通信时使用ch<-value将值写入channel,使用value<-ch从channel中接收值。 chan... -
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》笔记
本书作者Joshua Bloch曾是Sun Microsystems的Java架构师,现在是Google的工程师。
这是一本任何想要提高技能和编写更好代码的Java开发人员的必读之书。里面全是干货。
“我很希望我10年前就能拥有这本书。有人可能认为我不需要任何Java方面的书籍,但是我需要这本书。”——Java之父James Gosling