自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (1)
  • 收藏
  • 关注

原创 单例设计模式

目录第 4 章 设计模式概述4.1掌握设计模式的层次4.2设计模式介绍4.3设计模式类型第 5 章 单例设计模式5.1单例设计模式介绍5.2单例设计模式八种方式5.3饿汉式(静态常量)5.4饿汉式(静态代码块)5.5懒汉式(线程不安全)5.6懒汉式(线程安全,同步方法)5.7懒汉式(线程安全,同步代码块)5.8双重检查5.9静态内部类代码演示:5.10枚举5.11单例模式在 JDK 应用的源码分析5.11.1 单例模式在 JDK 应用的源码分析5.12单例模式注意事项和细节说明第 4 章 设计模式概述

2020-09-13 17:34:36 227

原创 UML 类图

目录第 3 章 UML 类图3.1UML 基本介绍3.2UML 图3.3UML 类图3.4类图—依赖关系(Dependence)3.5类图—泛化关系(generalization)3.6类图—实现关系(Implementation)3.7类图—关联关系(Association)3.8类图—聚合关系(Aggregation)3.8.1基本介绍3.8.2应用实例3.9类图—组合关系(Composition)3.9.1基本介绍3.9.2应用案例第 3 章 UML 类图3.1UML 基本介绍1)UML——Un

2020-09-12 17:49:34 537

原创 七大原则02

目录2.6里氏替换原则2.6.1OO 中的继承性的思考和说明2.6.2基本介绍2.6.3一个程序引出的问题和思考2.6.4解决方法2.7开闭原则2.7.1基本介绍2.7.2看下面一段代码2.7.3方式 1 的优缺点2.7.4改进的思路分析2.8迪米特法则2.8.1基本介绍2.8.2应用实例2.8.3应用实例改进2.8.4迪米特法则注意事项和细节2.9合成复用原则(Composite Reuse Principle)2.9.1基本介绍2.10设计原则核心思想2.6里氏替换原则2.6.1OO 中的继承性的思

2020-09-12 17:28:19 292

原创 七大原则01

目录2.3单一职责原则2.3.1基本介绍2.3.2应用实例2.3.3单一职责原则注意事项和细节2.4接口隔离原则(Interface Segregation Principle)2.4.1基本介绍2.4.2应用实例2.4.3应传统方法的问题和使用接口隔离原则改进2.5依赖倒转原则2.5.1基本介绍2.5.2应用实例2.5.3依赖关系传递的三种方式和应用案例2.5.4依赖倒转原则的注意事项和细节2.3单一职责原则2.3.1基本介绍对类来说的,即一个类应该只负责一项职责。如类 A 负责两个不同职责:职责

2020-09-11 17:36:30 249

原创 内容介绍和设计模式七大原则

目录第 1 章 内容介绍和授课方式1.1Java 设计模式内容介绍1.1.1先看几个经典的面试题1.1.2设计模式的重要性1.2课程亮点和授课方式第 2 章 设计模式七大原则2.1设计模式的目的2.2设计模式七大原则第 1 章 内容介绍和授课方式1.1Java 设计模式内容介绍1.1.1先看几个经典的面试题原型设计模式问题:1)请使用 UML 类图画出原型模式核心角色2)原型设计模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种方式的源码(重写 clone 方法实现深拷贝、使用序列化来实现深拷贝)

2020-09-10 17:47:34 236

原创 垃圾回收器

垃圾回收器GC分类与性能指标垃圾收集器分类**按线程数分**按工作模式分按碎片处理方式分评估GC的性能指标性能指标:吞吐量性能指标:暂停时间吞吐量vs暂停时间不同的垃圾回收器概述垃圾回收器发展史7种经典的垃圾收集器7款经典收集器与垃圾分代之间的关系垃圾收集器的组合关系如何查看默认垃圾收集器Serial回收器:串行回收总结ParNew回收器:并行回收Parallel回收器:吞吐量优先参数配置CMS回收器:低延迟CMS为什么不使用标记整理算法?优点缺点设置的参数小结JDK后续版本中CMS的变化G1回收器:区域化

2020-09-09 22:18:43 533

原创 垃圾回收相关概念

垃圾回收相关概念System.gc()的理解手动GC来理解不可达对象的回收内存溢出内存泄漏举例Stop The World垃圾回收的并行与并发并发并行并发和并行对比垃圾回收的并行与并发安全点与安全区域安全点安全区域再谈引用再谈引用:强引用举例总结再谈引用: 软引用再谈引用:弱引用再谈引用:虚引用案例终结器引用System.gc()的理解在默认情况下,通过system.gc()者Runtime.getRuntime().gc() 的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试释放被丢弃

2020-09-09 22:02:50 247

原创 垃圾回收相关算法

垃圾回收相关算法标记阶段:引用计数算法循环引用举例小结标记阶段:可达性分析算法概念思路GC Roots可以是哪些?总结小技巧注意对象的finalization机制注意生存还是死亡?具体过程代码演示MAT与JProfiler的GC Roots溯源MAT是什么?命令行使用 jmap使用JVIsualVM使用MAT打开Dump文件JProfiler的GC Roots溯源如何判断什么原因造成OOM清除阶段:标记-清除算法执行过程什么是清除?缺点清除阶段:复制算法背景核心思想优点缺点注意清除阶段:标记-整理算法背景执

2020-09-08 20:11:31 266

原创 垃圾回收概述

垃圾回收概述概念什么是垃圾什么是垃圾?磁盘碎片整理大厂面试题蚂蚁金服百度天猫滴滴京东阿里字节跳动为什么需要GC早期垃圾回收Java垃圾回收机制优点担忧GC主要关注的区域概念这次我们主要关注的是黄色部分,内存的分配与回收什么是垃圾在提到什么是垃圾之前,我们先看下面一张图从上图我们可以很明确的知道,Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要我们手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收

2020-09-08 20:03:52 300

原创 执行引擎

执行引擎执行引擎概述执行引擎的工作流程Java代码编译和执行过程什么是解释器(Interpreter)什么是IT编译器为什么Java是半编译半解释型语言机器码、指令、汇编语言机器码指令指令集汇编语言高级语言C、C++源程序执行过程字节码解释器解释器分类现状JIT编译器Java代码的执行分类问题来了HotSpot JVM执行方式案例概念解释热点探测技术方法调用计数器热点衰减回边计数器HotSpotVM 可以设置程序执行方法HotSpotVM中 JIT 分类C1 和 C2编译器不同的优化策略分层编译策略总结AO

2020-09-07 17:37:43 332

原创 StringTable

StringTableString的基本特性为什么JDK9改变了结构String的不可变性面试题注意String的内存分配为什么StringTable从永久代调整到堆中String的基本操作字符串拼接操作底层原理拼接操作和append性能对比intern()的使用intern的空间效率测试面试题new String("ab")会创建几个对象new String("a") + new String("b") 会创建几个对象intern的使用:JDK6和JDK7JDK6中JDK7中扩展总结StringTable

2020-09-07 17:29:23 114

原创 对象实例化内存布局与访问定位和直接内存

目录对象实例化面试题对象创建方式创建对象的步骤判断对象对应的类是否加载、链接、初始化为对象分配内存处理并发问题初始化分配到的内存设置对象的对象头执行init方法进行初始化对象实例化的过程对象内存布局对象头运行时元数据类型指针实例数据(Instance Data)说明小结对象的访问定位图示对象访问的两种方式句柄访问优点直接指针(HotSpot采用)直接内存 Direct Memory非直接缓存区和缓存区存在的问题对象实例化面试题对象在JVM中是怎么存储的?对象头信息里面有哪些东西?Java对象头有

2020-09-06 17:38:55 126

原创 方法区

方法区前言栈、堆、方法区的交互关系方法区的理解HotSpot中方法区的演进设置方法区大小与OOMjdk7及以前JDK8以后如何解决这些OOM方法区的内部结构类型信息域信息方法(Method)信息non-final的类变量全局常量运行时常量池 VS 常量池常量池为什么需要常量池常量池中有什么小结运行时常量池方法区使用举例方法区的演进细节为什么永久代要被元空间替代?StringTable为什么要调整位置静态变量存放在那里?方法区的垃圾回收总结常见面试题前言这次所讲述的是运行时数据区的最后一个部分从线程共

2020-09-06 17:24:16 2583 2

原创

堆堆的核心概念堆内存细分设置堆内存大小与OOMOutOfMemory举例年轻代与老年代图解对象分配过程概念图解过程思考:幸存区区满了后?对象分配的特殊情况代码演示对象分配过程常用的调优工具总结Minor GC,MajorGC、Full GCMinor GCMajor GCFull GCGC 举例堆空间分代思想内存分配策略为对象分配内存:TLAB问题:堆空间都是共享的么?为什么有TLAB?什么是TLABTLAB分配过程小结:堆空间的参数设置堆是分配对象的唯一选择么?逃逸分析逃逸分析举例参数设置结论栈上分配举例

2020-09-05 20:45:41 135

原创 本地方法接口和本地方法栈

目录本地方法接口什么是本地方法为什么使用Native Method?与Java环境的交互与操作系统的交互Sun's Java现状本地方法栈本地方法接口什么是本地方法简单地讲,一个Native Methodt是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern “c” 告知c++编译器去调用一个c的函数。“A native

2020-09-05 20:21:59 180 1

原创 虚拟机栈

虚拟机栈虚拟机栈概述Java虚拟机栈是什么生命周期作用栈的特点开发中遇到哪些异常?设置栈内存大小栈的存储单位栈中存储什么?栈运行原理栈帧的内部结构局部变量表关于Slot的理解Slot的重复利用静态变量与局部变量的对比操作数栈概念代码追踪栈顶缓存技术动态链接方法调用:解析与分配链接静态链接动态链接绑定机制早期绑定晚期绑定早晚期绑定的发展历史虚方法和非虚方法普通调用指令:动态调用指令:invokednamic指令动态类型语言和静态类型语言方法重写的本质Java 语言中方法重写的本质:IllegalAccessE

2020-09-04 22:06:18 145

原创 运行时数据区概述及线程和程序计数器

目录运行时数据区概述及线程前言线程JVM系统线程程序计数器介绍作用代码演示使用PC寄存器存储字节码指令地址有什么用呢?PC寄存器为什么被设定为私有的?CPU时间片运行时数据区概述及线程前言本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区也就是大厨做饭,我们把大厨后面的东西(切好的菜,

2020-09-04 21:43:44 191

原创 类加载子系统

类加载子系统概述类加载器子系统作用类的加载过程加载阶段加载class文件的方式链接阶段验证 Verify准备 Prepare解析 Resolve初始化阶段类加载器的分类虚拟机自带的加载器启动类加载器(引导类加载器,Bootstrap ClassLoader)扩展类加载器(Extension ClassLoader)应用程序类加载器(系统类加载器,AppClassLoader)用户自定义类加载器查看根加载器所能加载的目录关于ClassLoader双亲委派机制工作原理双亲委派机制举例沙箱安全机制双亲委派机制的优

2020-09-03 21:30:31 102

原创 JVM与Java体系结构

JVM与Java体系结构前言架构师每天都在思考什么?为什么要学习JVMJava vs C++推荐书籍Java生态圈字节码多语言混合编程Java发展的重大事件虚拟机与Java虚拟机虚拟机Java虚拟机JVM的位置JVM整体结构Java代码执行流程JVM的架构模型举例字节码反编译总结栈JVM生命周期虚拟机的启动虚拟机的执行虚拟机的退出JVM发展历程Sun Classic VMExact VMHotSpot VMJRockitIBM的J9KVM和CDC / CLDC HotspotAzul VMLiquid V

2020-09-03 21:21:34 254

原创 持续集成与容器管理

持续集成与容器管理1DockerMaven插件2持续集成工具-Jenkins2.1什么是持续集成2.2Jenkins简介2.3Jenkins安装2.3.1JDK安装2.3.2Jenkins安装与启动2.4Jenkins插件安装2.5全局工具配置2.5.1安装Maven与本地仓库2.5.2全局工具配置2.6代码上传至Git服务器2.6.1Gogs搭建与配置2.6.2提交代码2.7任务的创建与执行3容器管理工具Rancher3.1什么是Rancher3.2Rancher安装3.3Rancher初始化3.3.1添

2020-07-24 21:44:35 374

原创 Docker

Docker1 Docker简介1.1 什么是虚拟化1.2 什么是Docker1.3 容器与虚拟机比较1.4 Docker 组件1.4.1 Docker服务器与客户端1.4.2 Docker镜像与容器1.4.3 Registry(注册中心)2 Docker安装与启动2.1 安装Docker2.2 设置ustc的镜像2.3 Docker的启动与停止3 常用命令3.1 镜像相关命令3.1.1 查看镜像3.1.2 搜索镜像3.1.3 拉取镜像3.1.4 删除镜像3.2 容器相关命令3.2.1 查看容器3.2.2

2020-07-23 20:58:37 86

原创 day03-网络爬虫

网络爬虫1.课程计划2.案例扩展2.1.定时任务2.1.1.Cron表达式2.1.2.Cron测试2.2.网页去重2.2.1.去重方案介绍2.2.2.SimHash2.3.代理的使用2.3.1.代理服务器2.3.1.使用代理3.ElasticSearch环境准备3.1.安装ElasticSearch服务3.2.安装ES的图形化界面插件3.3.安装IK分词器4.ElasticSearch回顾4.1.创建Maven工程4.2.开发准备4.2.1.编写pojo4.2.2.编写dao4.2.3.编写service4

2020-07-22 21:00:43 168

原创 day02-网络爬虫

网络爬虫1.课程计划2.WebMagic介绍2.1.架构介绍2.1.1.WebMagic的四个组件2.1.2.用于数据流转的对象2.2.入门案例2.2.1.加入依赖2.2.2.加入配置文件2.2.3.案例实现3.WebMagic功能3.1.实现PageProcessor3.1.1.抽取元素Selectable3.1.2.抽取元素API3.1.3.获取结果API3.1.4.获取链接3.2.使用Pipeline保存结果3.3.爬虫的配置、启动和终止3.3.1.Spider3.3.2.爬虫配置Site4.爬虫分类

2020-07-06 21:21:15 359

原创 day01-网络爬虫

网络爬虫1.课程计划2.网络爬虫2.1.爬虫入门程序2.1.1.环境准备2.1.2.环境准备2.1.3.加入log4j.properties2.1.4.编写代码3.网络爬虫3.1.网络爬虫介绍3.2.为什么学网络爬虫4.HttpClient4.1.GET请求4.2.带参数的GET请求4.3.POST请求4.4.带参数的POST请求4.5.连接池4.6.请求参数5.Jsoup5.1.jsoup介绍5.2.jsoup解析5.2.1.解析url5.2.2.解析字符串5.2.3.解析文件5.2.4.使用dom方式遍

2020-07-06 20:52:19 288

原创 day02-ElasticSearch

ElasticSearch第二天学习目标:第一章 ElasticSearch编程操作1.1 创建工程,导入坐标1.2 创建索引index1.3 创建映射mapping1.4 建立文档document1.4.1 建立文档(通过XContentBuilder)1.4.2 建立文档(使用Jackson转换实体)1.5 查询文档操作1.5.1关键词查询2.5.2 字符串查询2.5.2 使用文档ID查询文档2.6 查询文档分页操作2.6.1 批量插入数据2.6.2 分页查询2.7 查询结果高亮操作2.7.1 什么是

2020-07-05 21:12:42 181 9

原创 day01-ElasticSearch

ElasticSearch第一天学习目标:第一章 ElasticSearch简介1.1 什么是ElasticSearch1.2 ElasticSearch的使用案例1.3 ElasticSearch对比Solr第二章 ElasticSearch安装与启动2.1 下载ES压缩包2.2 安装ES服务2.3 启动ES服务2.4 安装ES的图形化界面插件第三章 ElasticSearch相关概念(术语)3.1 概述3.2 **Elasticsearch核心概念**3.2.1 索引 index3.2.2 类型 typ

2020-07-05 20:55:43 221 4

原创 vuejs简单入门

vuejs简单入门1.VueJS 概述与快速入门1.1VueJS介绍1.2MVVM模式1.3VueJS 快速入门1.4插值表达式2.VueJS 常用系统指令2.1v-on2.1.1v-on:click2.1.2v-on:keydown2.1.3v-on:mouseover2.1.4事件修饰符2.1.5按键修饰符2.2v-text与v-html2.3v-bind2.4v-model2.5v-for2.6v-if与v-show3.VueJS生命周期4.VueJS ajax4.1vue-resource4.2ax

2020-07-04 21:41:03 922

原创 Git教程

git1Git历史2Git与svn对比2.1Svn2.2Git3git工作流程4Git的安装4.1软件下载4.2软件安装4.2.1安装git for windows4.2.2安装TortoiseGit4.2.3安装中文语言包5使用git管理文件版本5.1创建版本库5.1.1使用GitBash5.1.2使用TortoiseGit5.2添加文件5.2.1添加文件过程5.2.2工作区和暂存区5.3修改文件5.3.1提交修改5.3.2查看修改历史5.3.3差异比较5.3.4还原修改5.4删除文件5.5案例:将jav

2020-07-03 22:52:26 232

原创 SpringBoot基础

SpringBoot基础学习目标:一、SpringBoot简介1.1 原有Spring优缺点分析1.1.1 Spring的优点分析1.1.2 Spring的缺点分析1.2 SpringBoot的概述1.2.1 SpringBoot解决上述Spring的缺点1.2.2 SpringBoot的特点1.2.3 SpringBoot的核心功能二、SpringBoot快速入门2.1 代码实现2.1.1 创建Maven工程2.1.2 添加SpringBoot的起步依赖2.1.3 编写SpringBoot引导类2.1.

2020-07-03 21:14:43 311

原创 day03-SpringDataJPA

JPA第三天第1章Specifications动态查询1.1使用Specifications完成条件查询1.2基于Specifications的分页查询1.3方法对应关系第2章多表设计2.1表之间关系的划分2.2在JPA框架中表关系的分析步骤第3章JPA中的一对多3.1示例分析3.2表关系建立3.3实体类关系建立以及映射配置3.4映射的注解说明3.5一对多的操作3.5.1添加3.5.2删除3.5.3级联操作第4章JPA中的多对多4.1示例分析4.2表关系建立4.3实体类关系建立以及映射配置4.4映射的注解说

2020-07-03 21:02:15 110

原创 day02-SpringDataJPA

JPA第二天第1章Spring Data JPA的概述1.1Spring Data JPA概述1.2Spring Data JPA的特性1.3Spring Data JPA 与 JPA和hibernate之间的关系第2章Spring Data JPA的快速入门2.1需求说明2.2搭建Spring Data JPA的开发环境2.2.1引入Spring Data JPA的坐标2.2.2整合Spring Data JPA与Spring2.2.3使用JPA注解配置映射关系2.3使用Spring Data JPA完成

2020-07-02 21:36:05 134

原创 day01-SpringDataJPA

JPA第一天第1章1.ORM概述[了解]1.1为什么使用ORM1.2常见ORM框架第2章hibernate与JPA的概述[了解]2.1hibernate概述2.2JPA概述2.3JPA的优势2.4JPA与hibernate的关系第3章JPA的入门案例3.1需求介绍3.2开发包介绍3.3搭建开发环境[重点]3.3.1导入jar包3.3.2创建客户的数据库表和客户的实体类3.3.3编写实体类和数据库表的映射配置[重点]3.3.4配置JPA的核心配置文件3.4实现保存操作第4章JPA中的主键生成策略第5章JPA的

2020-07-02 21:11:52 235

原创 Lucene

全文检索技术1课程计划2什么是全文检索2.1数据分类2.2结构化数据搜索2.3非结构化数据查询方法2.4如何实现全文检索2.5全文检索的应用场景3Lucene实现全文检索的流程3.1索引和搜索流程图3.2创建索引3.2.1获得原始文档3.2.2创建文档对象3.2.3分析文档3.2.4创建索引3.3查询索引3.3.1用户查询接口3.3.2创建查询3.3.3执行查询3.3.4渲染结果4配置开发环境4.1Lucene下载4.2使用的jar包5入门程序5.1需求5.2创建索引5.2.1实现步骤5.2.2代码实现5.

2020-07-01 21:16:55 85

原创 day19-下单

下单0.学习目标1.订单系统接口1.1.导入订单服务1.2.Swagger-UI1.2.1.什么是OpenAPI1.2.2.什么是swagger?1.2.3.快速入门1)引入依赖2)编写配置3)接口声明4)启动测试1.3.测试接口1.3.1.创建订单接口1.3.2.生成ID的方式1.3.2.查询订单接口1.3.3.更新订单状态1.3.4.分页查询订单1.3.5.生成微信付款链接微信支付工具1.3.6.查询支付状态1.3.6.1.未付款1.3.6.2.付款1.3.6.3.已付款2.订单结算页2.1.页面跳转2

2020-06-30 20:31:53 215

原创 day18-购物车

购物车0.学习目标1.搭建购物车服务1.1.创建module1.2.pom依赖1.3.配置文件1.4.启动类2.购物车功能分析2.1.需求2.2.流程图3.未登录购物车3.1.准备3.1.1购物车的数据结构3.1.2.web本地存储什么是web本地存储?LocalStorage的用法3.1.3.获取num3.2.添加购物车3.2.1.点击事件3.2.2.获取数量,添加购物车3.3.查询购物车3.3.1.校验用户登录3.3.2.查询购物车3.5.2.渲染到页面3.6.修改数量3.7.删除商品3.8.选中商品3

2020-06-30 20:07:57 358

原创 day17-授权中心

授权中心0.学习目标1.无状态登录原理1.1.什么是有状态?1.2.什么是无状态1.3.如何实现无状态1.4.JWT1.4.1.简介1.4.2.数据格式1.4.3.JWT交互流程1.4.4.非对称加密1.5.结合Zuul的鉴权流程1.5.1.没有RSA加密时1.5.2.结合RSA的鉴权2.授权中心2.1.创建授权中心2.1.1.创建父module2.1.2.通用module2.1.3.授权服务2.2.JWT工具类2.3.测试工具类2.3.编写登录授权接口2.3.1.生成公钥和私钥2.3.2.Controll

2020-06-29 22:37:50 162

原创 用户中心接口说明

用户中心接口说明1.数据校验功能说明接口路径参数说明:返回结果:2.生成短信验证码功能说明接口路径参数说明:返回结果:3.用户注册功能说明接口路径参数说明:返回结果:4.根据用户名和密码查询用户功能说明接口路径参数说明:返回结果:1.数据校验功能说明实现用户数据的校验,主要包括对:手机号、用户名的唯一性校验。接口路径GET /check/{data}/{type}参数说明:参数说明是否必须数据类型默认值data要校验的数据是String无type要校

2020-06-29 20:56:44 1243

原创 day16-用户注册

用户注册0.学习目标1.创建用户中心1.1.创建父module1.2.创建leyou-user-interface1.3.创建leyou-user-service1.4.添加网关路由2.后台功能准备2.1.接口文档2.2.数据结构2.3.基本代码2.3.1.实体类2.3.2.mapper2.3.3.Service2.3.4.controller3.数据验证功能3.1.接口说明3.2.controller3.3.Service3.4.测试4.阿里大于短信服务4.1.demo4.2.创建短信微服务4.2.1.创

2020-06-29 20:54:26 385

原创 day15-rabbitmq及数据同步

rabbitmq及数据同步0.学习目标1.RabbitMQ1.1.搜索与商品服务的问题1.2.消息队列(MQ)1.2.1.什么是消息队列1.2.2.AMQP和JMS1.2.3.常见MQ产品1.2.4.RabbitMQ1.3.下载和安装1.3.1.下载1.3.2.安装2.五种消息模型2.1.基本消息模型2.1.1.生产者发送消息2.1.2.管理工具中查看消息2.1.3.消费者获取消息2.1.4.消息确认机制(ACK)2.1.4.1.自动ACK存在的问题2.1.4.2.演示手动ACK2.2.work消息模型2.

2020-06-29 20:29:08 311

原创 Thymeleaf语法入门

Thymeleaf语法入门1.Thymeleaf简介2.特点3.环境准备3.1.创建module3.2.默认配置3.3.快速开始4.语法4.1.变量变量案例动静结合ognl表达式的语法糖4.2.自定义变量4.3.方法4.4 字面值4.5 拼接4.6 运算4.7 循环4.8 逻辑判断4.9 分支控制switch4.10.JS模板1.Thymeleaf简介官方网站:https://www.thymeleaf.org/index.htmlThymeleaf是用来开发Web和独立环境项目的现代服务器端Jav

2020-06-26 21:53:45 136

spring_day01.rar

解压后的文件夹中的两个文件复制到Proteus安装目录下的LIBRARY文件夹中。 例如:D:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY(具体位置依据安装选择确定) #二、Blink —— Arduino的Hello World! (1)添加元器件 打开Proteus 8 Professional,新建一个工程(File->New project),在Name中输入工程的名字,在Path中选择工程保存的位置,然后一直点击Next直到

2020-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除