• Java 8 新特性一

    学习必须往深处挖,挖的越深,基础越扎实! Java 现在发布的版本很快,每年两个,但是真正会被大规模使用的是 3 年一个的 LTS 版本。 每 3 年发布一个 LTS(Long-Term Support),长期维护版本。意味着只有Java 8 ,Ja...
  • Java 9 ~ Java 21 的新特性

    学习必须往深处挖,挖的越深,基础越扎实! Java 现在发布的版本很快,每年两个,但是真正会被大规模使用的是 3 年一个的 LTS 版本。 每 3 年发布一个 LTS(Long-Term Support),长期维护版本。意味着只有Java 8 ,Ja...
  • Elasticsearch总结

    结构化数据和非结构化数据 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:又可称为全文数据,不定长...
  • Go实现端口扫描

    端口扫描基本原理 向目标主机的某个端口,发送建立链接的请求,如果对方开放了这个端口,就会响应;如果没有没开放,则不会响应。 根据这个原理,向一些常用的端口逐个建立链接,就能知道对方开放了哪些端口。 端口扫描方法TelnetWindows系统自带...
  • Docker安装Hexo编译环境

    hexo编译打包静态页面需要依赖node,npm等环境,为了不污染本地环境,考虑用docker拉取ubuntu来搭建hexo编译环境,用来编译博客,以下记录详细过程。 123456// 拉取镜像,运行镜像,并进入docker pull ubuntu:...
  • 再次通过行为型模式视角回顾Go

    行为模式(Behavioral Pattern) 主要关注对象之间的职责分配和通信方式 行为型模式的核心是思想是通过定义对象之间的交互方式,实现系统功能,降低对象耦合度 行为型模式-责任链模式避免请求的发送者和接收者之间耦合,将这些对象连成一条链,并...
  • 再次通过结构型模式视角回顾Go

    结构型模式主要关注如何将类或者对象组合成更大的结构,以便在不改变原有类或者对象的情况下,实现新的功能或者优化结构。 结构型模式核心思想是通过组合(Composition)而不是继承(Inheritance)来实现代码的复用和扩展 代理,桥接,组合,装...
  • 再次通过创建型模式视角回顾Go

    创建型模式主要目标是提供一种灵活方式创建对象,同事隐藏创建的具体细节,降低代码耦合度,提高复用性和可维护性。 创建型模式-单例单例模式,Singleton, 确保只有一实例,并提供全局访问点。 使用场景:配置管理,日志记录, 数据库连接池等。 glo...
  • 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...