02 2021 档案
摘要:1、起初 引入依赖 <!-- spring boot redis缓存引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifact
阅读全文
摘要:问题描述: 用户支付完成会将支付状态及订单状态保存在订单数据库中,由订单服务去维护订单数据库。由库存服务去维护库存数据库的信息。下图是系统结构图: 如何实现两个分布式服务(订单服务、库存服务)共同完成一件事即订单支付成功自动减库存,这里的关键是如何保证两个分布式服务的事务的一致性。尝试解决上边的需求
阅读全文
摘要:1. java中wait和sleep有什么区别? 答:最大区别是等待时wait会释放锁,而sleep会一直持有锁;wait通常用于线程时交,互,sleep通常被用于暂停执行; sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复
阅读全文
摘要:在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被 Nginx
阅读全文
摘要:1、并发和并行 并发:在同一时刻,有多个指令在单个CPU上交替执行. 并行:在同一时刻,有多个指令在多个CPU上同时执行. 2、进程和线程 进程:正在运行的软件. 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位. 动态性:进程的实质是程序的一次执行过程,进程是动态产生,
阅读全文
摘要:获取当前毫秒数 long t=System.currentTimeMillis(); 毫秒数转换为时间 Date date = new Date(); long t=System.currentTimeMillis(); date.setTime(t); System.out.println(dat
阅读全文
摘要:反射机制:将类的各个组成部分封装为其他对象,这就是反射机制。 反射的优势: 1.可以在程序运行过程中,操作这些对象。 2.可以解耦,提高程序的可扩展性。 Java 代码在计算机中经历的三个阶段 (1)Source 源代码阶段: .java 被编译成 .class 字节码文件。 (2)Class 类对
阅读全文
摘要:Docker 1、docker主要解决什么问题? docker可以让开发者构建应用程序时,将应用程序与其所依赖的环境一起打包到一个容器中,然后—— 交付整个环境而不仅仅是代码。这样一个带环境的程序包就是一个容器,容器可以解决软件跨环境迁移的问题。 2、制作镜像的方式 docker commit命令可
阅读全文
摘要:Git常用命令 ==提交代码== git init 初始化仓库git remote add origin + 你刚刚在码云复制的那行路径 #将目录下的所有文件(包括子目录)添加到暂存区 git add . #提交代码到本地仓库 git commit -m "commit description" #
阅读全文
摘要:结构化查询语句分类 创建数据表 属于DDL的一种,语法 : create table [if not exists] `表名`( '字段名1' 列类型 [属性][索引][注释], '字段名2' 列类型 [属性][索引][注释], #... '字段名n' 列类型 [属性][索引][注释] )[表类型]
阅读全文
摘要:什么是RPC? RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上
阅读全文
摘要:1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同的
阅读全文
摘要:AOP 什么是AOP 在你原有的基础上,通过动态代理在方法前或方法后增加一些业务逻辑(比如安全,日志,事务) AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热
阅读全文
摘要:代理模式: 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 学习aop之前 , 我们要先了解一下代理模式! 静态代理 静态代理角色分析 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 ,
阅读全文
摘要:Spring IOC实现原理:先反射生成实例,然后调用时主动注入。AOP原理:主要使用java动态代理, Spring优点: 1、Spring是一个开源免费的框架 , 容器 . 2、Spring是一个轻量级的框架 , 非侵入式的 . 3、控制反转 IoC , 面向切面 Aop 4、对事物的支持 ,
阅读全文
摘要:1、SpringBoot特点 1.1、依赖管理 父项目做依赖管理 依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versio
阅读全文
摘要:1、系统要求 Java 8 & 兼容java14 . Maven 3.3+ idea 2019.1.2 1.1、maven设置 <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliy
阅读全文
摘要:基本操作 启动关闭 net start mysql 启动mysql服务 net stop mysql 关闭mysql服务 登录 mysql -uroot -p密码 mysql -hip -uroot -p连接目标的密码 mysql --host=ip --user=root --password=连
阅读全文
摘要:1.脏读(读取未提交数据) A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。就好像原本的数据比较干净、纯粹,此时由于B事务更改了它,这个数据变得不再纯粹。这个时候A事务立即读取了这个脏数据,但事务B良心发现,又用回滚把数据恢复成原来干净、纯粹的
阅读全文
摘要:随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。 数据库的扩展方式主要包括:业务分库、主从复制,数据库分表。 1、业务分库 业务分库指的是按照业务模块将数据分散到不同的数据库服务器。例如,一个简单的电商网站,包括用户、商品、订单三个业务模块,我们可以
阅读全文