Ekko Blog

路漫漫其修远兮 ,吾将上下而求索

SpringBoot启动流程

SpringBoot启动流程

参考资料 SpringBoot启动流程 [TOC] SPI(Service provider interface) 是Java提供的一种为服务框架提供服务实现的机制。它允许框架在运行时动态地发现服务的实现,从而实现模块化设计。在Java中,SPI机制主要用于解耦API和实现,使得应用程序可以在不修改代码的情况下替换或扩展功能 核心思想是通过配置文件声明服务提供者的实现,Jav...

随笔

随笔

[TOC] 双重检锁 双重检锁,不是加2次锁,而是2次判空。可以是一种缓存穿透的解决方案 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public String getData(String key) { String value = stringRedisT...

文件系统

操作系统

参考一口气搞懂文件系统 [TOC] 文件系统的基本组成 文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件 文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,其组织的方式不同会形成不同的文件系统 Linux 最经典的一句话是:「一切皆文件...

Maven详解

maven

[TOC] maven仓库、maven仓库、官网 为什么需要Maven 一个 Java 项目需要确定引入那些依赖包,其次,要确定项目的目录结构,例如 src 存放 java 源码,resource 目录存放配置文件, bin 目录存放编译生成的 .class 文件 此外,海需要配置环境,例如 JDK 的版本,编译打包的流程, 当前代码的版本号 最后,除了使用 Eclip...

Linux常用命令

Linux

[TOC] Linux 常用命令 pwd显示当前目录路径 pwd [–help] [–version] –help 在线帮助 –version 显示版本信息 ls显示目录下文件 ls [-alrtAFR] [name…] -alrtAFR 含义 -a 显示所有文...

MessagePack

MessagePack Serialize

官网、github-msgpack-jackson、MessagePack:最可能取代JSON的存在 MessagePack 简介 It’s like JSON.but fast and small MessagePack 是一种有效的二进制序列化格式,可以在多种语言( 如 JSON )之间交换数据。但是它更快、更小,适合序列化传输大批量的数据 MessagePack 之所以...

Elasticsearch入门

Elasticsearch

聊聊 Elasticsearch 的倒排索引、「扫盲」 Elasticsearch、Elasticsearch就是这么简单 全文搜索引擎选 ElasticSearch 还是 Solr、Elasticsearch学习、个人博客-随风行云 Elasticsearch TermQuery 详解、ElasticSearch Java Api(一) ElasticS...

Quartz入门

Quartz

参考资料 入门Java开源任务调度框架-Quartz(前篇)、入门Java开源任务调度框架-Quartz(后篇) [TOC] Quartz 是什么 Quartz 是一款 Java 编写的开源任务调度框架,同时它也是 Spring 默认的任务调度框架。它的作用其实类似于 Java 中的 Timer 定时器以及JUC中的 ScheduledExecutorService 调度线...

mall项目框架整合篇

mall project

mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现,涵盖 RabbitMq、Elasticsearch、Redis等主流技术。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务...

面试问题java版-Ⅱ

Interview

[TOC] Spring的两种动态代理 JDK 动态代理 CGLib 动态代理 参考资料 博客、知乎AlanShelby、知乎 方法一:JDK动态代理 基于接口的 JDK 动态代理,针对目标对象的接口进行代理 ,动态生成接口的实现类 (必须有接口) 要点: 必须对接口生成代理 采用 Proxy 对象,通过 newProxyInstance 方法...