- 博客(33)
- 收藏
- 关注
原创 设计模式之装饰者模式
使用场景:动态地给一些对象添加一些额外的职责但又不想增加子类,功能随时组合Decorator 模式与继承关系的目的都是要扩展对象的功能,但是 Decorator 可以提供比继承更多的灵活性。通过使用不同的具体装饰类以及这些装饰类的排列组合,设计者可以创造出很多不同行为的组合。用导致架构复杂:这种比继承更加灵活机动的特性,也同时意味着更加多的复杂性。
2023-04-14 07:38:50 145
原创 redis问题
答:从数据层面来说,redis库之间像是多个命名空间数据之间完全隔离,不互通。但是从操作命令层面来说,并不完全隔离。比如flushall删除所有数据会清空所有库的数据,每个库的登陆密码也是统一的,由此一个应用程序的操作会影响到其他应用程序,所以不能多个应用程序使用一个redis实例。
2023-03-18 14:40:10 151
原创 JS获取当前时间的日周月年的开始结束时间
JS获取当前时间的日周月年的开始结束时间日期格式化日周月年日期格式化法一:new Date().toLocaleString('zh', {hour12: false}).split('/').join('-');法二:var startTime=new Date();var sMonth =(startTime.getMonth()+1)<10?('0'+(startTime.getMonth()+1)):(startTime.getMonth()+1);var sDay=start
2021-12-10 18:09:12 648
原创 ping 命令的基本使用
ping 命令的基本使用一、主要作用二、返回值参数的意义三、ping参数四、常用1、-c2、-n3、-i4、-p5、-r6、-R7、-s8、-S9、-t10、批量ping网段五、如何禁止他人ping你的IP一、主要作用1.用来检测网络的连通情况和分析网络速度2.根据域名得到服务器ip3.根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器的数量二、返回值参数的意义bytes值:数据包大小,也就是字节,一般Windows是32 linux是64.time值:响应时间,这个时间
2021-09-15 08:43:51 8962
原创 遇到报错 org.hibernate.ObjectDeletedException: deleted instance passed to merge: [xxx#<null>]
分享遇到报错 org.hibernate.ObjectDeletedException: deleted instance passed to merge: [xxx#]的情况现象扩展现象1、百度后大多博客上都说是先删除一个对象,后面又保存了这个对象导致的,但是其实如果一个对象删两次也会遇到这个问题2、注解@manyToOne里面的fetchType默认是eager,在调用这个实体的时候,就会立即得到该实体对应表的数据引用,这个时候再对数据进行操作是不被允许的扩展1、fetch属性指定关联对象
2021-09-01 07:46:04 1488
原创 git的一些基础知识
git的一些基础知识一、概念1、四个工作区域2、工作流程3、文件的四种状态一、概念1、四个工作区域Git 有四个工作区域:工作目录(Working Directory):工作区,就是你平时存放项目代码的地方暂存区(Stage/Index):暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息仓库区(或版本库,本地仓库)(Repository 或 Git Directory):就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中 HEAD 指向最新放入仓库
2020-11-05 19:21:38 218 1
原创 设置统一的hystrix fallback接口
设置统一的hystrix fallback接口前言Order工程改进(将fallback方法放到类中):1.不在方法上使用@HystrixCommand注解2、创建回调类前言一般在实际开发中fallback 方法不会直接写在接口方法所在类里,那样太杂乱,例如之前订单工程中的写法:@HystrixCommand(fallbackMethod = "errorReturn") public Order createOrder3() { //1.创建订单对象 Ord
2020-11-04 22:52:08 1078 2
原创 feign客户端-声明式REST调用
feign客户端-声明式REST调用一、为什么要使用feign?二、使用步骤1、导入依赖2、创建一个ProductFeignClient接口3、改造OrderService4、在启动类(ServiceOrderApplication)中添加 @EnableFeignClients 注解5、重启测试6、原理一、为什么要使用feign?之前通过RestTemplate调用REST服务,代码是这样的: @HystrixCommand(fallbackMethod = "errorReturn")
2020-11-04 19:19:09 261 2
原创 容错保护Hystrix
容错保护Hystrix前言一、雪崩效应二、Hystrix简介三、原理说明四、使用步骤1、导入依赖2、修改orderService的createOrder方法(这里添加了一个createOrder2方法)3、在启动类OrderApplication添加@EnableHystrix注解4、在Controller增加一个入口create2,调用createOrder2方法5、重新启动进行测试前言一、雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的
2020-11-04 17:30:06 274
原创 Ribbon负载均衡的使用
文章目录前言二、架构三、开始使用Ribbon1、为microservice order增加ribbon依赖,其实,该依赖是可以省略的,因为spring-cloud-starter-netflix-eureka-client中已经包含了spring-cloud-starter-netflix-ribbon:2、为RestTemplate设置@LoadBalanced注解3、改造ItemService的实现4、重启订单服务进行测试四、设置负载均衡策略前言,如果为同一个的提供者在Eureka中注册了多个服务
2020-11-04 16:48:07 610
原创 Eureka的高可用(Eureka集群)
Eureka的高可用前言第二步,修改配置文件,再建一个Eureka server工程,启动两个工程(两个工程的name属性一样)测试:前言Eureka服务是一个单点服务,在生产环境就会出现单点故障,为了确保Eureka服务的高可用,我需要搭建Eureka服务的集群。搭建Eureka集群非常简单,只要启动多个Eureka Server服务并且让这些Server端之间彼此进行注册即可实现。# 第一步,修改eureka server端的application.yml文件:eureka: client
2020-11-04 16:35:36 552
原创 Eureka的自我保护模式
Eureka的自我保护模式如图,当前Eureka进入了自我保护模式。(先开启Eureka server端和client端,然后再断开client端,此时刷新Eureka界面,就会看到红色字样)在短时间内丢失了服务实例的心跳,不会剔除该服务,这是eurekaserver的自我保护机制的宗旨。主要是为了防止由于短暂的网络故障误删除可用的服务。所以,一般进入自我保护模式,无需处理。如果,需要禁用自我保护模式,只需要在配置文件中添加配置即可:(测试环境、开发环境可以关闭自我保护机制,保证服务不可用时及时
2020-11-04 06:23:32 353
原创 为Eureka添加用户认证
为Eureka添加用户认证前言第一步,为Eureka服务端(eureka-server)添加安全认证依赖第二步,增加application.yml配置文件:第三步,在eurka服务端添加一个安全认证类:第四步,重新启动Eureka服务进行测试:第五步,服务注册时(client端)设置账户信息前言登录即可访问到Eureka服务,这样其实是不安全的。接下来,我们为Eureka添加用户认证。第一步,为Eureka服务端(eureka-server)添加安全认证依赖在eureka-server的pom文
2020-11-04 06:14:38 1598 1
原创 分布式的一些基础概念
分布式的一些基础概念一、集群二、节点三、分布式四、集群与分布式一、集群集群指的是将几台服务器集中在一起,实现同一个业务只要是⼀堆机器,就可以叫集群,他们是不是⼀起协作着⼲活,这个谁也不知道二、节点集群中的⼀个服务器三、分布式分布式是指将不同的业务分布在不同的地方四、集群与分布式分布式中每一个节点,都可以做成集群,而集群并不一定就是分布式的。例如:京东是⼀个分布式系统,众多业务运⾏在不同的机器,所有业务构成⼀个⼤型的业务集群,每⼀个⼩的业务,⽐如⽤户系统,访问压⼒⼤的时候⼀台服务器是不够
2020-11-02 22:59:06 375
原创 架构的发展历程总结
架构的发展历程总结前言一、单体架构1.所有的资源都在一个服务上二、垂直架构三、分布式架构四、SOA架构五、微服务架构前言随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。大概的发展历程大致可以用下面的这张图来概括:一、单体架构1.所有的资源都在一个服务上优点:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。缺点:1、某些模块的访问量增大影响整个项目性能。2、
2020-11-02 22:47:33 755
原创 服务注册与发现的一些相关概念
服务注册与发现的一些相关概念负载:从服务中筛选一个调用服务的过程(可以根据不同的筛选方式(负载算法:轮循、随机等)来筛选服务)注册中心:用于保存服务端的地址信息。常见的注册中心有zookeeper 、eureka、consul、etcd。服务端负载:服务端来负载。例如:客户端发出一个请求,注册中心接收,注册中心从已有的服务中选出一个服务,让客户端访问(注册中心与服务都属于服务端,这个服务是由注册中心选出的)客户端负载:客户端来负载。例如:客户端发出一个请求,注册中心接收,注册中心将已有的服务列表
2020-10-29 19:13:15 275 1
转载 MySQL
一篇比较全的MySQL问题https://www.cnblogs.com/panwenbin-logs/p/8366940.html
2020-10-29 11:11:17 199 1
原创 Redis的持久化策略
Redis的持久化策略一、RDB介绍二、AOF介绍一、RDB介绍RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。可以在redis.windows.conf配置文件中修改save来进行相应的配置60秒内10000条数据则保存这里有三个save,只要满足其中任意一条就可以保存例子:(1)在redis中保存几条新的数据,用ki
2020-10-28 11:58:06 2188 5
原创 jedis连接池的使用
jedis连接池的使用使用工具类上文中需要配置的jedis.properties文件使用创建JedisPool连接池对象调用方法 getResource()方法获取Jedis连接@Testpublic void testRedisPool(){ //0.创建一个配置对象 JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(50);//设置最大连接个数
2020-10-27 20:27:28 190 1
原创 Redis数据结构
Redis数据结构一、redis的数据结构:二、具体实现1、 字符串类型 string1.1、命令行1.2、代码一、redis的数据结构:* redis存储的是:key,value格式的数据,* 其中key都是字符串,* value有5种不同的数据结构:* 1) 字符串类型 string* 2) 哈希类型 hash : map格式* 3) 列表类型 list : linkedlist格式。支持重复元素 * 4) 集合类型 set : 不允许重复元素 * 5) 有序集合类型 sor
2020-10-27 17:41:28 169 2
原创 Jedis与Redis的使用
文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwa..
2020-10-27 16:48:41 153
原创 linux环境下Redis的安装
linux环境下的Redis安装确保Linux环境正常运行一、下载Redis确保Linux环境正常运行个人PC,可用VMWare或VirtualBox安装虚拟机,操作系统,建议安装CentOS7.x版本一、下载Redis可以从Redis官网https://redis.io/下载相关包,建议下载4.x商用版本。...
2020-10-26 17:04:30 1313 7
原创 springboot日志集成log4j2
springboot日志集成log4j2使用步骤使用步骤在spring-boot-dependencies POMs中搜索spring-boot-starter-log4j2发现Spring boot parent Pom中自己提供了这个依赖,我们使用log4j2只需要加入相应的依赖,不包含版本号:修改pom.xml文件<dependency> <groupId>org.springframework.boot</groupId> <arti
2020-10-22 19:42:13 186 2
原创 springboot日志集成Logback
springboot日志集成Logback一、Logback二、编辑controller三、日志级别的控制四、日志文件java有许多的日志组件,比如 log4j,log4j2,logback还有java自生提供的Java Util Logging,其实在springboot中对这些组件都提供了支持,log4j,log4j2和logback都提供相应的组件支持。一、Logback在springboot中默认使用的日志工具是logback,不过在提及具体的日志工具之前要提一个名词,这个名词就是slf4j简
2020-10-22 19:00:21 474 2
原创 SpringBoot模板引擎
SpringBoot模板引擎文章目录一、什么是模板引擎?二、使用步骤1.导入依赖2.删除(注释掉)application.properties文件里面视图解析器内容3新建Controller4.新建一个html文件,输出上面controller的结果一、什么是模板引擎?模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。SpringBoot 推荐使用模板引擎来渲染html,如果你不是历史遗留项目,一定不要使用JSP,
2020-10-22 17:19:17 761 2
原创 spring mvc
spring mvc一、mvc设计模式,创建 Web 应用程序的模式:二、传统的b/s架构与spring mvc的架构有什么区别1)传统的b/s架构2)spring mvc 的b/s架构三、spring mvc开发的流程【补充】四、mybatis分页插件---PageHelper插件PageHelper的使用步骤五、spring mvc 集成六、jsp中关于Date类型数据的显示一、mvc设计模式,创建 Web 应用程序的模式:spring mvc : 基于web层(请求处理和响应发送 b/s)的框
2020-10-09 22:59:04 363 1
原创 事务的传播行为
事务的传播行为事务的传播行为:(不是JDBC事务管理,用来解决实际开发的问题.)传播行为是解决业务层之间的调用的事务的关系.PROPAGATION_REQUIRED :支持当前事务,如果不存在就新建一个* A–>B 如果A有事务,B使用A的事务,如果A没有事务,B就开启一个新的事务.(A,B是在一个事务中。)PROPAGATION_SUPPORTS :支持当前事务,如果不存在,就不使用事务* A–>B 如果A有事务,B使用A的事务,如果A没有事务,B
2020-10-08 21:17:58 251
原创 事务
事务2、申明式事务(开发)(续)3、spring基于注解的事务管理2、申明式事务(开发)(续)第1步:业务的层的哪些方法需要事务(黑客)。UserInfoServiceImpl1.zz(int from ,int to ,int money);@Override public void zz(int from, int to, int money) { transactionTemplate.execute(new TransactionCallbackWithoutResu
2020-10-08 21:15:28 187
原创 spring中编程式事务
spring中编程式事务一、mybatis的事务控制二、事务1.事务1.1.事务概念1.2.事务特性(ACID)1.3.事务3类读问题1.4.事务的隔离级别2.Spring中事务管理2.1.Spring提供事务管理API2.1.1.PlatformTransactionManager:平台事务管理器.2.1.2.TransactionDefinition:事务定义2.1.3.TransactionStatus:事务状态2.1.4.三者关系2.2.API详解二、spring事务的实现1、手动(编程)事务(演示
2020-09-29 22:52:57 593
原创 Spring AOP
Spring AOP一、spring(春天)核心之 aop(重点)二、aop怎么玩?三、动态代理(重点)黑客入侵四、aop的术语一、spring(春天)核心之 aop(重点)aop:Aspect Oriented Programming 面向切面编程 ,是一种思想。oop: Object Orinted programming 面向对象编程 ,是一种思想。AOP可以说是OOP的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,在类的层次上进行抽取。不过OOP允许开发
2020-09-29 00:07:39 428
原创 工厂模式
工厂模式三种工厂模式简单工厂模式工厂方法模式抽象工厂模式三种工厂模式简单工厂模式简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品 类的实例,但它不属于 GOF,23 种设计模式。简单工厂适用 于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创 建对象的逻辑不需要关心。代码实现://1.先定义一个课程接口public interface ICourse { /** 录制视频 */ public void rec
2020-09-28 06:48:55 205
原创 powerdesigner出现的问题
powerdesigner出现的错误powerdesigner生成mysql运行代码出现generation aborted due to errors detected during the verification of the model.错误目前的解决办法是将数据库中的database generation的check model 去掉(确定你的数据库设计ER图完全没问题时的处理方法)...
2020-06-27 11:04:24 590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人