- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 MySQL事务
资源来自:《MySQL技术内幕-InnoDB存储引擎》 首先来了解一下数据库引入事务的原因 事务(transaction)是数据库区别于文件系统的重要特性之一。在文件系统中,如果正在写文件,此时操作系统崩溃了的话,该文件系统很可能被破坏。有些机制可以将文件恢复到某一个时间点的文件状态。但是如果需要将两个文件同步,文件系统就无能为力了。例如:在需要更新两个文件时,更新完第一个文件后,在更新第二个文件的时候,系统重启了,就会有两个不同步的文件(同一个文件的两个版本) 数据库系统引入事务的主要目的是:事务会把数据
2020-08-18 09:50:53
214
原创 设计模式之观察者模式
本文章内容来自:《Head First 设计模式》很好的一本书 定义 观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会受到通知并自动更新。 主题接口:定义主题实例的注册、删除、发布等方法 主题实例:储存数据当数据发生改变时,负责发布该观察者 观察者接口:负责定义观察者更新数据的方法,该方法被主题实例调用 观察者实例:接受最新数据,对该数据进行各自的处理 下面通过代码来讲解: /** 主题接口 @author 摩天居士 @date 2020/8/12 */
2020-08-12 13:50:46
201
原创 InnoDB之缓冲池
资源来自:《MySQL技术内幕 InnoDB存储引擎》 一.缓冲池 我们都知道InnoDB是基于磁盘存储的,如果直接面向磁盘读取查询和插入数据的是很消耗IO资源的,同时效率也很不理想。在该类型数据库系统中,CPU速度与磁盘之间的存在很大的差距,而缓冲池技术能够缩短这种差距,提高数据库的整体性能。 缓冲池:一块内存区域,通过内存的速度来弥补磁盘速度慢对数据库的影响。在数据库中进行读取页的操作,首先将从磁盘中读取到的页存放在缓冲池中,下一次再读取到相同的页时,首先判断该页是否在缓冲池中,如果有,直接
2020-08-09 21:52:04
384
原创 MySql学习总结
常用语句 关于存储引擎 什么是存储引擎? Mysql数据库使用不同的机制存取表文件, 机制的差别在于不同的存储方式/索引技巧/锁定水平等等, 在MySql中将这些不同的技术以及配套的功能称为存储引擎. 在关系型数据中数据的储存是以表的形式进行储存的, 所以存储引擎也可以称为表类型. Oracle和SQLserver等数据库只有一种存储引擎, 而Mysql有多种, 针对不同的需求, 配置Mysql的...
2020-03-26 19:02:23
405
原创 Docker入门
简介 Docker是一个开源的应用容器引擎,基于Go语言开发。Docker让开发者打包他们的应用以及依赖包到一个轻量级、可移动的容器中,然后发布到任何流行的Linux机器上,容器之间相互独立。 应用场景: Web应用自动打包和发布 自动化测试和持续集成、发布 在服务器环境中部署和调整数据库或其他的后台应用。 Docker组成 镜像(Images): 用于创建Docker容器的模板,镜像是基于联合文...
2020-03-21 17:38:01
150
原创 Restful接口详解
Restful是英文Representational State Transfer(表象性状态转变)或者表述性状态转移; Rest是web服务的一种架构风格,使用HTTP,URL,XML,JSON,HTML等广泛流行的标准和协议; 轻量级,跨平台,跨语言的架构设计, 是一种设计风格,不是一种标准, 是一种思想 Rest架构主要思想 网络上的所有事物都被抽象为资源 每个资源都有一个唯一的资源标识符...
2020-03-15 23:09:51
4539
原创 TCP三次握手和四次挥手
资源1TCP: https://www.cnblogs.com/qdhxhz/p/8470997.html 资源2握手: https://www.cnblogs.com/qdhxhz/p/10267932.html 概念 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的基于IP的传输层。 在OSI七层模型中的第四层–传输层, IP在第三层–网络层,...
2020-03-15 22:12:55
127
原创 Linux常用指令
问题1: 项目介绍 问题2: 用的比较熟的springcloud组件 问题3: Linux常用指令 问题4: rabbitmq的介绍, 五种模式 问题5: spring IOC AOP 回滚 问题6: Redis是否支持持久化, 常用的数据类型 问题7: eureka和zookeeper的区别 问题8: eureka是怎么实现的 问题9: feign是怎么实现的 问题10: spring常用注解 ...
2020-03-08 16:52:12
137
原创 类加载/反射
Java虚拟机加载机制 虚拟机把描述类的数据从Class文件加载到内存, 并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的Java类型, 这就是虚拟机的类加载机制。 在java中类的加载、连接和初始化都是在程序运行期间完成的。 加载过程 加载 通过全限定类名来获取此类的二进制字节流 将这个字节流所代表到的静态储存结构转换为方法区的运行时数据结构 在内存中生成一个代表这个类的Class...
2020-03-07 21:19:20
161
原创 MongoDB数据库入门
简介 MongoDB是一个基于分布式存储的数据库, 有C++语言编写, 旨在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系型数据库和非关系型数据库之间的产品, 是一个非关系数据库功能最丰富的, 最象关系型数据里的菲关系型数据库. 概念 SQL MongoDB database database 数据库...
2020-03-07 15:57:06
233
原创 Servlet和HTTP
服务器Tomcat配置 部署项目 1 .直接将项目放到webapps目录下即可 简单部署: 直接将项目打包成war包, 再将war包放到webapps目录下, war包会自动解压 2 .配置conf.server,xml文件 在标签中配置 docBase: 项目存放的路径 path: 虚拟目录 静态项目和动态项目 目录结构 Java动态项目的目录结构 项目的根目录 WEB-INF目录 web.xm...
2020-03-07 11:20:36
219
原创 FreeMark模板引擎
基本介绍 FreeMark是一个Java语言开发的模板引擎, 基于模板和要改变的数据, 生成输出文本(HTML网页, 电子邮件, 配置文件…) 页面 = 模板 + 数据模型 || 输出 = 模板 + 数据模板 FreeMark并不关心数据的来源, 这是根据模板的内容, 将数据模型在模板中显示并输出文件 开发步骤 1 . 导入依赖 org.springframework.boot s...
2020-03-06 23:15:33
203
原创 GridFS文件操作记录
GridFS GridFS是一中大型文件存储在MongoDB的文件规范, 所有官方支持的驱动都实现了GridFS规范. GridFS存储文件方式: 将文件分为多个块, 每个块作为一个单独的文档, 默认情况下, 每个块的大小为256K. 当GridFS获取文件时, MongoDB的驱动程序负责将多个块组装成完整的文件, 当不必要加载整个文件时, 你可以通过GridFS进行范围查询, 可以访问文件的...
2020-03-06 21:28:09
799
原创 Redis总结
什么是Redis Redis使用C语言开发的开源高性能键值对(key-value)数据库, Redis通过提供多种键值对类型适应不同场景下的存储需求, 数据类型如下: 1. 字符串类型: String 2. 哈希类型 hash 3. 列表类型 list 4. 集合类型 set 不允许重复元素 5. 有序结合类型 sortedset 不允许重复元素, 且元素有序, 每个元素都会关联一...
2020-03-06 07:36:35
201
原创 Elastic Search入门
简介 ES是一个基于Lucence构建的一个搜索服务, 它从搜索库搜索符合条件的索引数据。 Lucence不是一个完整的全文搜索引擎, 而是一个全文检索引擎架构, 提供了完整的查询引擎和索引引擎, 部分文本分析引擎. 开发人员可以通过Java语言将Lucence直接集成到应用程序中, 而Lucence非常复杂, 是的开发者自己开发搜索引擎非常困难, 而Elastic Search是一个已经写好了的...
2020-03-05 21:54:56
2314
原创 RabbitMq消息队列
简介 Rabbitmq是一个开源的AMQP实现, 服务器端使用Erlang语言编写的, 支持Ajax, 用于分布式系统中存储转发消息. 其中, AMQP, 全拼: Advanced Message Queuing Protocol ,高级消息队列, 应用层协议测一个开放标准, 为面向消息的中间件设计, 中间件主要作用是解决组件之间的耦合问题(解耦), 消息发送者无需知道消息消费者是否存在. 五种工...
2020-03-05 11:05:52
297
原创 线程池总结
线程池: 本质上是一个对象池, 用来管理线程资源. 在任务执行前, 需要从线程池中拿出线程来执行. 在任务执行完成之后, 需要把线程放回线程池. 线程池好处: 降低资源的消耗, 线程本身是一种资源, 创建和销毁都会消耗CPU内存, 频繁的创建和销毁会浪内存. 提高任务执行的响应速度, 任务执行时, 可以不必等线程创建完成之后在执行,可以直接获取线程执行任务. 提高线程的可管理性, 线程不能无限制的...
2020-02-21 19:44:04
175
原创 集合总结
集合 Collection接口是集合类的根接口, java中没有提供这个接口的直接的实现类. 有两个接口继承了它, Set和List. 其中Set为无需的集合,元素不可重复, List为有序集合,元素可重复. Map是java.util包中的另一个接口, 和Collection接口没有关系, 相互独立, 但都是结合类的一部分. Map的存储形式为key-value, 元素的key不可重复,valu...
2020-02-21 15:27:22
177
原创 搭建消息队列
搭建工程所用技术 RabbitMq, Eureka, SpringCloud 搭建步骤 一. 搭建消息发送工程 第一步: 导入依赖 org.springframework.boot spring-boot-starter-amqp 第二步: 配置rabbitmq (application.yml) spring: rabbitmq: host: 127.0.0.1 port: 5672 use...
2020-02-21 12:31:15
436
原创 远程调用实用步骤
前期分析 远程调用: 通过在注册中心查找到需要的微服务工程, 通过某种技术直接调用该工程中的接口, 此次实用技术: Ribbon, Feign, Eureka, SpringCloud #创建微服务工程 服务提供工程 添加依赖: org.springframework.boot spring-boot-starter-web tk.mybatis mapper-spring-boot...
2020-02-19 20:58:59
263
原创 增删改查基础练习杂记
前端 el-input标签的宽度在div中最好使用style="width=auth"自动调节, 否则容易出现占用整行空间 Vue的v-model双向绑定, 每个窗口应该设置各自的绑定变量, 否则数据容易混淆, 创建SpringCloud项目使用spring initializr方便快捷, 注意在遇到某个依赖jar包加载不过去时(Finited…), 不必等待, 如果这个包加载不了可能会影响其他j...
2020-02-19 20:38:38
227
转载 数据库隔离级别
Spring(数据库)事务隔离级别工有四种: 1.Serializable(串行化): 最高级别隔离, 事务串行化执行, 资源消耗最大 2.Repeatable Read(重复读): 保证一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据,.避免了’‘脏读取’'和"不可重复读"的情况, 但是不能避免"幻读", 会带来更多的性能损失。 3.Read Committed (提交读): 大多数主...
2020-02-14 10:35:31
109
Docker 讲义.pdf
2020-03-21
Git分布式版本控制工具.pdf
2020-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅