自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 docker-compose安装部署seata-server(nacos做注册、配置中心)

初步分布式事务

2022-08-07 19:16:22 2148 1

原创 两阶段终止模式

在线程T1中如何优雅的终止线程T2?这里优雅是指给T2一个处理后事的机会public class Test { public static void main(String[] args) throws InterruptedException { TwoPhaseTermination twoPhaseTermination = new TwoPhaseTermination(); twoPhaseTermination.start(); Thre

2021-08-15 13:08:08 135

原创 Nginx 日志切割-定时

使用定时任务安装定时任务:yum install crontabscrontab -e 编辑并且添加一行新的任务执行脚本:*/1 * * * * 脚本路径重启定时任务:service crond restart常用定时任务命令:service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载入配置crontab -e // 编辑任务cr

2021-06-19 21:45:14 97

原创 设计模式-单例模式

单例模式采取一定的方法保证整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。单例模式有八种方式1.饿汉式(静态常量)步骤如下: 1)构造器私有化(防止new) 2)类的内部创建对象 3)向外暴露一个静态的公共方法、 4)代码实现优缺点说明: 1)优点:这种方法比较简单,就是在类装载的时候就完成实例化。避免线程同步问题。 2)缺点:在类装载的时候就完成实例化,没有达到懒加载效果,如果开始至终都没有使用这个实例,则会造成内存的浪费。

2021-02-23 21:16:21 121 1

原创 设计模式-迪米特法则

迪米特法则介绍1)对象应对其他对象保持最少的了解2)类与类关系密切,耦合度越大3)迪米特法则又叫最少知道原则,一个类对自己依赖的类知道越少越好,对外提供public方法,不对外泄露任何信息4)只与直接的朋友通信5)直接的朋友 : 对象间有耦合关系,只要有耦合(A使用B,有依赖,关联,组合,聚合等)关系,我们称出现成员变量,方法参数,方法返回值中称直接朋友,而出现在局部变量则不是直接朋友,陌生的类最好不要以局部变量形式出现在类的内部。方案一public class Demeter1 {

2021-02-22 20:47:03 133

原创 设计模式-开闭原则介绍

开闭原则介绍1)开闭原则是变成最基础,最重要设计原则2)一个软件实体,如类模块和函数应该对扩展开放(对程序员方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节3)软件需要修改时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。4)编程中遵顼其他原则,以及使用设计模式的目的就是遵循开闭原则。方案一public class ocp1 { public static void main(String[] args) { GraphicEdi

2021-02-22 20:44:29 130

原创 设计模式-里氏替换原则

继承的思考和说明1)继承包含这样一个含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然他不强制要求所有子类遵循这些契约,但如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。2)继承给程序带来便利与带来了弊端。比如继承会给程序带来侵入性,程序可移植性降低,增加对象间的耦合度。如果这个类被其他类继承,当这个类修改时,必须考虑到所有子类,并且父类修改后,所有子类的功能都有可能发生故障。3)如何正确使用继承 => 里氏替换原则里氏替换原则1)使用继承时,遵循里氏替换原

2021-02-22 20:41:36 73

原创 设计模式-依赖倒转原则

依赖倒转原则1)高层模块不应该依赖低层模块,而这应该依赖其抽象(接口,抽象类)2)抽象不应该依赖细节,细节应该依赖抽象3)依赖倒转(倒置)的中心思想面向接口编程4)设计理念:相对于细节的多变性,抽象的东西要稳定得多,以抽象为基础搭建的架构比以细节搭建的架构要稳定的多.在Java中,抽象指的是接口或抽象类,细节就是具体的实现类.5)使用接口和抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务教给他们的实现类去完成依赖关系传递的三种方式接口传递 public class Dep

2021-02-21 20:31:24 50

原创 设计模式-接口隔离原则

接口隔离原则客户端不应该依赖它不需要的接口,即一个类对应一个类的依赖应该建立在最小的接口上方案一接口/** * 接口Interface1 */interface Interface1 { void operation1(); void operation2(); void operation3(); void operation4(); void operation5();}实现类/** * 类B实现Interface1

2021-02-20 12:23:38 78

原创 设计模式-单一职责原则

单一职责原则对于类来说,一个类应该只负责一项职责。如果A负责两个不同的职责,职责1,职责2,当职责1需求更改而更改A时,可能造成职责2执行错误,所以要将A的粒度分解为A1,A2 1.降低类的复杂度,一个类只负责一项事情 2.提高可读性,可维护性 3.降低变更带来的风险 4.通常情况下,我们应当遵守单一原则,只有逻辑足够简单,才可以在代码级违反单一原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则(方案三)方案一public class SingleResonsibility1 {

2021-02-19 21:34:37 95

原创 设计模式

设计模式是为了让软件具有更好的1)代码重用性(相同功能,不用多次编写)2)可读性(编程规范性,便于程序员的阅读和理解)3)可扩展性(新增功能,非常方便)4)可靠性(新增功能后,对原有功能没有影响)5)是程序呈现高内聚,低耦合的特性设计模式常用的七大原则1)单一职责原则2)接口隔离原则3)依赖倒转(倒置)原则4)里氏替换原则5)开闭原则ocp6)迪米特原则7)合成复用原则...

2021-02-19 21:25:41 49

原创 设计模式-模板设计模式

模板设计模式1)抽象类 AbstractClass类中实现了模板方法(template ),定义了算法的骨架,具体子类需要去实现,抽象方法operationr2,3,4 template() { operationr2(); operationr3(); operationr4(); } operationr2,3,4可以是抽象方法,也可以是实现方法;如果是抽象方法,需要到子类实现即可2)实现类 ConcreteClass实现operationr2,3,4,完成算法中的特点子类的

2021-02-18 21:22:37 104

原创 解决Ubuntu SSH 无法远程登录及root 登录ACCESS Denied 问题

1.sudo vi /etc/ssh/sshd_config把PermitRootLogin prohibit-password 注释掉增加一行 PermitRootLogin yes 如下图:2、重启 systemctl restart sshd

2020-02-02 20:20:25 1185 2

原创 Ubuntu 18.04 Server 设置静态IP

配置路径/etc/netplan/50-cloud-init.yamlnetwork: ethernets: ens33: dhcp4: no addresses: [192.168.5.22/24] optional: true gateway4: 192.168.5.5...

2020-02-02 20:14:05 179

原创 Nginx

nginx限流limit_req_zone $binary_remote_addr zone=myRateLimit:10m rate=2r/s;location / { limit_req zone=myRateLimit; root html; index index.html index.htm; ...

2019-12-05 10:35:24 157

原创 editormd

使用editormd图片上传无法返回路径问题内部再生成json时会自动添加一些没必要的多余字段在此处添加一行只取body中pre第一个数据

2019-11-27 08:25:51 127

原创 数据库1130错误

总体运行语句:mysql -u root -pmysql>use mysql;mysql>select 'host' from user where user='root';mysql>update user set host = '%' where user ='root';mysql>flush privileges;mysql>select...

2019-10-03 18:20:06 1032

原创 Zookeeper

概述特点数据结构提供的服务包括统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。Zookeeper内部原理节点类型监听器原理写数据流程选举机制1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时...

2019-10-03 14:36:30 105

原创 Activiti的架构说明

1. ProcessEngineConfiguration类,主要加载activiti.cfg.xml配置文件2. ProcessEngine类 帮我们快速得到各个service接口,并且可以生成activiti的工作环境 25张表生成3. Service接口: 作用快速实现数据库25张表的操作 1.RepositorySercice ...

2019-08-03 15:47:03 335

原创 Activiti Designer 流程设计器(IDEA 工具)

2. Activiti 支持的数据库创建表方式 @Test public void testGenTable() { //1.创建ProcessEngineConfiguration对象 ProcessEngineConfiguration configurationFromResource = ProcessEngineConfiguratio...

2019-08-02 12:48:43 6186

原创 Spring Boot 2.X 如何优雅的解决跨域问题?

源(origin)就是协议、域名和端口号。URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口全部相同,则表示他们同源。否则,只要协议、域名、端口有任何一个不同,就是跨域。二、什么是同源策略?同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础...

2019-07-30 21:41:38 355

转载 问题与思路

微服务rpc远程调用最核心的是什么,如果让你设计一套微服务rpc框架远程调用框架,你如何设计?核心在于服务治理-----注册中心如果注册中心因为某个原因,出现故障,应如何解决,可能会导致中各微服务环境不可用解决办法:搭建注册中心集群搭建eureka集群环境,至少2台以上搭建eureka集群原理使用互相注册原理,形成一组互相注册的注册中心,从而实现数据相互同步,达到高可用效果....

2019-07-08 11:02:54 145

转载 SpringCloud微服务框架

为什么选择SpringCloud因为SpringCloud出现,对微服务技术提供了非常大的帮助,因为SpringCloud 提供了一套完整的微服务解决方案,不像其他框架只是解决了微服务中某个问题.SpringCloud简介SpringCloud是基于SpringBoot基础之上开发的微服务框架,SpringCloud是一套目前非常完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置...

2019-07-08 10:52:56 184

转载 微服务演变过程

传统架构假如有 100 人同时开发一个项目会有什么问题? 1. 代码冲突,任务不好分配,容易起冲突问题分布式架构 分布式架构基于传统架构演变而来,将传统的项目以项目模块进行拆分成n多子项目,有独立的数据库,独立的redis等 总结:分布式架构与传统架构区别:项目颗粒度分的更加细,慢慢开始适合互联网恭喜开发,耦合度降低.SOA架构SOA架构是面向于服务架构,Soap简单对象协...

2019-07-08 10:46:54 545

转载 VMware centos 设置固定ip,宿主机无法ping通虚拟机问题

一、配置静态IP首先关闭VMware的DHCP:Edit->Virtual Network Editor选择VMnet8,去掉Use local DHCP service to distribute IP address to VMs选项。点击NAT Settings查看一下GATEWAY地址:点击OK就可以了。设置CentOS静态IP:涉及到三个配置文件,分别是:/etc...

2019-06-10 21:57:21 1367

空空如也

空空如也

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

TA关注的人

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