基于接口,而非实现编程 public interface ImageStore {String upload(Image image, String bucketName);Image download(String url);}public class AliyunImageStore implements ImageStore {//…省略属性、构造函数等…public String upload(Image image, String bucketName) {createBucketIfNotExisting
多线程&并发设计原理 目录前言多线程&并发设计原理1 多线程1.1 Thread和Runnable1.1.1 Java中的线程1.1.2 Java中的线程:特征和状态1.1.3 Thread类和Runnable 接口1.1.4 Callable1.2 synchronized关键字1.2.1 锁的对象1.2.2 锁的本质1.2.3 实现原理1.3 wait与notify1.3.1 生产者−消费者模型1.3.2 为什么必须和synchronized一起使用1.3.3 为什么wait()的时候必须释放锁1.3.4 wait(
数据结构与算法 目录前言第一部分 数据结构与算法概述第1节 数据结构的概念1.1 什么是数据结构1.2 常见的数据结构第2节 算法的概念2.1 什么是算法2.2 常见算法第3节 算法复杂度3.1 时间复杂度3.2 空间复杂度第二部分 数据结构与算法基础第1节 线性表1.1 数组1.2 链表1.3 栈1.4 队列第2节 散列表第3节 递归第4节 二分查找第三部分 数据结构与算法高级第1节 树第2节 排序1.1 冒泡排序1.2 快速排序1.3 堆排序1.4 计数排序1.5 桶排序第3节 字符串匹配第4节 图第5节 算法思维贪心
微服务架构 目录前言1、微服务1.1 概述1.2 优点1.3 缺点1.4 微服务与微服务架构1.4.1 微服务1.4.2 微服务架构1.4.3 SpringCloud和SpringBoot区别?1.4.4 SpringCloud对比Dubbo2、微服务架构项目3、搭建项目3.1 父工程3.2 创建服务中心3.3 创建微服务3.4 分库、3.5 订单分表3.7 网关3.8 高并发redis4、IDEA集成Docker部署微服务4.1 开启远程访问4.2 Docker的Maven插件4.3 执行命令前言文章内容输出来
idea写sql的xml中,使用映射时property字段报红提示Inspection info:Under construction 解决方法出现这个原因,是我们之前用过一个插件——mybatis-plugn!!!选择关闭该插件,一切正常!
MySQL高级 目录前言1.MySQL架构组成1.1 高级MySQL介绍1.2 MySQL逻辑架构1.2.1 MySQL架构体系介绍1.3.2 配置文件&数据文件2.MySQL的备份与恢复2.1 为什么要进行数据备份2.1.1 数据库备份的应用场景2.2 数据备份的类型2.2.1 按照业务方式分2.2.2 备份的组合方式2.3 MySQL冷备份和热备份2.3.1 冷备份2.3.2 热备份2.4 实战演练2.4.1 冷备份实战2.4.2 热备份实战3.MySQL查询和慢查询日志分析3.1 SQL性能下降的原因3.2
ShardingJDBC 目录前言1.ShardingJDBC1.1 分库分表方式回顾1.2 分库分表带来的问题1.2.1 事务一致性问题1.2.2 跨节点关联的问题1.2.3 分页排序查询的问题1.2.4 主键避重问题1.3 ShardingJDBC 简介1.3.1 什么是ShardingJDBC## 1.3.2 Sharding-JDBC主要功能1.3.3 Sharding-JDBC与MyCat的区别1.4 Sharding-JDBC入门使用1.4.1 搭建基础环境1.4.2 分片规则配置(水平分表)1.4.3 编写程序1.4.
MyCat 目录前言1.海量存储问题1.1 背景描述1.2 分库分表1.2.1 什么是分库分表1.2.2 分库分表的方式1.2.2.1 垂直分库1.2.2.2 垂直分表1.2.2.3 水平分库1.2.2.4 水平分表1.3 如何实现分库分表2. MyCat2.1 什么是MyCat2.2 MyCat支持的数据库2.3 MyCat 概念说明2.3.1 MyCat的分片策略2.4 MyCat的下载和安装2.4.1 安装环境2.4.2 MyCat安装2.5 MyCat核心配置2.5.1 schema.xml配置2.5.2 se
Docker 目录前言一、Docker简介1.1 虚拟化技术1.2 什么是Docker1.3 容器与虚拟机比较1.4 Docker 基本概念2.1 安装2.2 Docker守护进程相关命令2.3 镜像加速的2个方案三、Docker常用命令3.1 镜像相关命令3.2 容器相关命令3.2.1 查看容器3.2.2 创建与启动容器3.2.3 停止与启动容器3.2.4 文件拷贝3.2.5 目录挂载3.2.6 查看容器IP地址3.2.7 删除容器四、Docker数据卷(Volumes)4.1 数据卷概述4.2 数据卷配置方式五、在D
Lucene&ElasticSeach 目录前言1 什么是全文检索1.1 数据分类1.2 结构化数据搜索1.3 非结构化数据查询方法1.4 如何实现全文检索1.5 全文检索的应用场景2 Lucene 实现全文检索的流程说明2.1 索引和搜索流程图2.2 创建索引2.3 倒排索引3 Lucene实战3.1 需求说明3.2 准备开发环境3.3创建索引3.4查询索引3.5中文分词器的使用4.Elastic search介绍和安装4.1.简介4.1.1.Elastic4.1.2.Elasticsearch4.1.3.版本4.2.安装和配置4.3.访问4.
第九阶段 目录前言SpringBoot&SpringCloud1、SpringBoot2、SpringCloud前言文章内容输出来源:拉勾教育JAVA就业训练营SpringBoot&SpringCloud1、SpringBoot2、SpringCloud
Spring Cloud 目录前言第 2 节 微服务架构体现的思想及优缺点第 3 节 微服务架构中的核心概念第二部分 Spring Cloud 综述第 1 节 Spring Cloud 是什么第 2 节 Spring Cloud 解决什么问题第 3 节 Spring Cloud 架构3.1 Spring Cloud 核心组件3.2 Spring Cloud 体系结构(组件协同工作机制)第 4 节 Spring Cloud 与 Dubbo 对比第 5 节 Spring Cloud 与 SpringBoot 的关系第三部分 案例准备第
Spring Boot 目录前言1. SpringBoot基本应用1.1 约定优于配置1.2 SpringBoot概念1.2.1 Spring优缺点分析1.2.2 Spring Boot解决上述spring问题前言文章内容输出来源:拉勾教育JAVA就业训练营1. SpringBoot基本应用1.1 约定优于配置spring Boot 是所有基于 Spring 开发的项目的起点。SpringBoot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。约定优于配置(Conventi
RabbitMQ 目录前言1.什么是RabbitMQ1.1 MQ(Message Queue)消息队列1.1.1 异步处理1.1.2 应用解耦1.1.3 流量削峰1.2 背景知识介绍1.2.1 AMQP高级消息队列协议1.2.2 JMS1.2.3 二者的联系1.2.4 Erlang语言1.3 为什么选择RabbitMQ1.4 RabbitMQ各组件功能2.怎么用RabbitMQ2.1 RabbitMQ安装启动2.1.1 安装2.1.2 启动后台管理插件2.1.3 启动RabbitMQ2.1.4 查看进程2.1.5 测试2.2
分布式文件系统—FastDFS 目录前言1. 场景概述1.1 什么是文件系统1.2 分布式文件系统1.3 主流的分布式文件系统1.3.1 HDFS1.3.2 GFS.3.3.FastDFS1.4 工作原理1.5 上传/下载 原理2. FastDFS的上传与下载2.1 安装2.1.1 安装gcc(编译时需要)2.1.2 安装libevent(运行时需求)2.1.3 安装 libfastcommon2.1.4 安装Tracker2.2 配置2.3 启动服务2.4 搭建 Java工程2.4.2 创建配置文件2.4.3 文件上传2.4.4 文件查
Redis 目录前言1. 概述1.1 互联网架构的演变历程1.2 Redis入门介绍1.3 Redis/Memcache/MongoDB对比1.3.1 Redis和Memcache1.3.2 Redis和MongoDB1.4 分布式数据库CAP原理1.4.1 CAP简介1.4.2 CAP理论1.4.3 CAP总结2. 下载与安装2.1 下载2.2 安装2.3 安装后的操作2.3.1 后台运行方式2.3.2 关闭数据库2.3.3 常用操作2.3.4 连接redis并测试2.3.5 HelloWorld2.3.6 测试性能
第七阶段 目录前言分布式技术[1、Zookeeper ](https://blog.csdn.net/m0_46337171/article/details/114034466)2、Dubbo前言文章内容输出来源:拉勾教育JAVA就业训练营分布式技术1、Zookeeper 2、Dubbo