- 博客(30)
- 资源 (8)
- 收藏
- 关注
原创 为什么使用MQ
1.不使用消息队列的场景模拟一个原始的系统模型系统A需要调用系统B,C,D三个系统这时候来个一个新的系统E告诉A系统你这边还要调用接口通知我这边一下,这时候A系统需要修改代码调用E系统的接口如果又有新的接口需要调用,或者有原有的接口需要下线,这样每次A系统都需要调整自己的代码,A系统和各个系统直接的耦合性非常高,同时还要考虑其他系统挂了怎么办,接口调用超时如何处理...
2020-12-02 11:08:56
193
原创 踩坑日志
1.String.valueOf() 使用需要进行null值判断当转化的对象为null的时候 valueof 会把null 转化为"null"的字符串,影响后续的流程判断,需要对转化的对象进行null 值判断2.传入emoj表情符号导致数据库插入报错前言:前段应用评论的时候输入emoj表情符号导致数据库插入失败。1,查看tomcat后台日志,核心报错信息如下:Caused by: java.sql.SQLException: Incorrect string value: '...
2020-11-26 14:35:14
185
转载 设计模式-简单工厂模式
1.1 定义简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。Factory:工厂类,简单工厂模式的核心,它负责创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。 Product:抽象产品类,简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。 Iphone|MiPhone.
2020-11-25 14:44:00
193
转载 分布式事务(1)---2PC和3PC原理
分布式事务(1)---2PC和3PC原理分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。分布式事物常见解决方案: 2PC两段提交协议 3PC三段提交协议(弥补两端提交协议缺点) TCC或者GTS(阿里) 消息中间件最终一致性 使用LCN解决分布式事物,理念“LCN并不生产事务,LCN只是本地事务的搬运工”。 一、两阶段提交(2PC)两阶段提交又称2PC,2PC是一个非常经典的强一致、中.
2020-11-24 16:07:04
320
翻译 CAP理论
CAP理论CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中:一致性(Consistency) 可用性(Availability) 分区容错性(Partition tolerance)最多满足其中的两个特性。也就是下图所描述的。分布式系统要么满足CA,要么CP,要么AP。无法同时满足CAP。什么是CAP定理CAP定理指出,分布式系统不能同时具有一致性、可用性和分区容错性。下边简单描述下一个简单的分布式系统,并解释该系统可用、一致和分区容错的含义。一个.
2020-11-24 15:03:09
412
原创 正则表达式的使用
普通字符字符 描述 [ABC] 匹配[...]中的所有字符,例如[aeiou]匹配字符串 "google runoob taobao" 中所有的 e o u a 字母。 [^ABC] 匹配除了[...]中字符的所有字符,例如[^aeiou]匹配字符串 "google runoob taobao" 中除了 e o u a 字母的所有字母。 [A-Z] [A-Z] 表示一个区间,匹配所有大写字母,例如[A-Z] 匹配字符串"Google Runoob Ra...
2020-10-19 16:41:38
108
转载 为什么不推荐使用BeanUtils属性转换工具
1 背景之前在专栏中讲过“不推荐使用属性拷贝工具”,推荐直接定义转换类和方法使用 IDEA 插件自动填充 get / set 函数。不推荐的主要理由是:有些属性拷贝工具性能有点差 有些属性拷贝工具有“BUG” 使用属性拷贝工具容易存在一些隐患(后面例子会讲到)2 示例首先公司内部就遇到过 commons 包的 BeanUtils 进行属性拷贝性能较差的真实案例,然后该同事换成了 Spring 的 BeanUtils 性能好了很多,感兴趣大家可以使用性能测试框架或者基准测试框架去对比,这
2020-10-19 10:56:19
606
原创 java 开发环境准备
环境准备JKD 1.8 安装包 window-64https://download.youkuaiyun.com/download/z646721826/12272775maven安装包 window-64git 安装文件https://download.youkuaiyun.com/download/z646721826/12161993host切换...
2020-03-27 10:22:32
170
原创 关于枚举值使用 == 还是 equals 比较
关于枚举值使用 == 还是 equals比较使用哪一个== 和 equals 都可以代码public class MyTest { @Test public void test03() { System.out.println(OperatorTypeEnum.ADD == OperatorTypeEnum.ADD); System.out...
2019-10-23 17:53:34
2888
转载 SaaS概念
SaaS是Software-as-a-service(软件即服务)SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,向SaaS提供商租赁软件服务。SaaS 是一种软件布局模型,其应用专为网络交付而设计...
2019-10-15 10:43:24
1723
原创 初识redis
初识redisredis的特性1.速度快2.基于键值对的数据结构服务器3.丰富的功能4.简单稳定5.客户端语言多6.持久化7.主从复制8.高可用和分布式9.redis的特性1.速度快2.基于键值对的数据结构服务器3.丰富的功能4.简单稳定5.客户端语言多6.持久化7.主从复制8.高可用和分布式9....
2019-08-22 21:15:02
153
原创 Spring Boot优点
Springboot的优点SpringSpring Boot 优点SpringSpring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view...
2019-08-19 17:35:34
331
转载 String、StringBuffer和StringBuilder的差别
String是Java中基础且重要的类,被声明为final class,除了hash这个属性其它属性都声明为final,因为它的不可变性,所以例如拼接字符串时候会产生很多无用的中间对象,如果频繁的进行这样的操作对性能有所影响。StringBuffer就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类,提供append和add方法,可以将字符串添加到已有序列的末尾或指定位置,它的本质...
2019-07-09 10:54:14
137
原创 Oracle常见语句
1.Oracle迭代查询查询所有的子数据(包含符合条件的数据)SELECT * FROM TABLE START WITH column= '' CONNECT BY PRIOR column = parent_column; SELEC * FROM sys_office START WITH ID = '2000' CONNECT BY PRIOR ID = PARENT...
2018-10-17 14:28:27
378
原创 Linux CentOS 7 python2.X升级python3.X
简述CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。查看 Python 版本号当 Linux 上安装 Python 后(默认安装),只需要输入简单的命令,就可以查看 Python 的版本号:...
2018-09-25 15:15:12
425
原创 Linux CentOS 安装JDK1.8
系统 :CentOS Linux release 7.4.1708 (Core) JDK: jdk1.8.0_181这里使用的是上传本地jdk安装包的形式,进行jdk安装1.下载jdk安装包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.连接linux...
2018-09-21 15:42:05
257
转载 Mybatis Update操作返回值问题
Mybatis Update操作返回值问题在项目中有些时候我们需要根据更新是否成功,来判断下个操作我们需要如何处理,在获取update操作的返回值时遇到了一个问题,似乎 Mybatis 进行 update 操作得到的 int 返回值并不是影响的行数,这就导致了我们的判断条件失效。 后端的数据持久化使用的是 Mybatis ,在做高并发下账户增减余额的时候,打算使用乐观锁来解决这个问题。在获取upd...
2018-07-11 18:38:14
33672
3
原创 新建springbooot工程(一)
新建一个springbooot工程(一)Hello-SpringBoot这里使用idea创建一个新的项目这里有两种方式我们选择第一种 填写基本信息 Group 组织名Aritfact 唯一标识Package 包名这里我们使用两个依赖就可以了项目名和项目路径一个基础的springbootweb项目就建好了搭建好的pom文件spring-boot-starter-web 整合为web项目spring-...
2018-06-23 18:29:16
1238
原创 idea + maven +springBoot搭建项目(三)逆向工程
逆向工程1、添加插件依赖 pom文件中<!-- mybatis逆向工程 --><build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactI...
2018-06-08 18:16:48
2527
原创 使用idea + maven + springboot 搭建项目 spring整合mvc
使用idea + maven + springboot 搭建一个新的项目(一)1. 创建一个新的项目 File-->new -->Projectmaven --> next2. 填写组织id和模块名 GroupId 和 ArtifactId3. 填写工程名(project name)和本地路径 (project location)4. 创建...
2018-06-07 10:17:39
8044
1
原创 Redis学习(二) 安装和基础使用
Redis学习(二)Redis安装1. 系统支持兼容大部分POSIX系统:Linux,OS X,OpenBSD,NetDSD,FreeBDS等2. Linux系统下的安装$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz$ tar xzf redis-3.0.7.tar.gz$ ln -s redis-3.0.7 redis$ c...
2018-05-21 19:46:05
218
原创 Reids(一)
Redis学习一1.Redis特性1.1速度快Reids 数据存在内存中的Redis 是C语言实现的Redis使用了单线程架构,预防了多线程产生的竞争问题Reids代码是集性能和有呀于一身的代码1.2 基于键值对的数据结构服务主要提供了5种数据结构 字符串,哈希,列表,集合,有序集合 基于字符串基础上的位图(Bitmaps)和HtperLogLog ...
2018-05-21 14:26:12
202
原创 乐观锁和悲观锁
乐观锁和悲观锁数据库管理系统(DBMS)中的并发控制的是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和一致性以及统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。针对于不同的业务场景,应该选用不同的并发控制方式。所以,不要把乐观并发控制和悲观并发控制狭义的理解为DBMS中的概念,更不要把他们和数据中提供的锁机制(行锁、表锁、排他锁、共享锁)混为一谈。其
2018-05-03 15:01:54
144
原创 事务的概念和作用
1. 什么是事务,为什么使用事务?一、概念: 1.数据库事务: 数据库事务通常指对数据库进行读或写的一个操作序列。 它的存在包含有以下两个目的: 1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。 2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防...
2018-03-01 14:59:22
28579
2
转载 Postman 安装及使用入门教程
Postman安装及使用入门教程安装本文只是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序。感觉写的挺清楚就转载一下以后就方便多了,感谢原版主的无私贡献1. 官网安装(需要翻墙)· 打开官网,https://www.getpostman.com· 点击那个灰灰色的「Chrome App (Free)
2017-12-29 14:23:39
884
SwitchHosts-x64-windows.rar
2020-03-26
apache-maven-3.6.3-window.rar
2020-03-26
jdk-8u241-windows-x64 .rar
2020-03-26
Git-2.25.0 64位版.rar
2020-02-16
阿里巴巴Java开发手册1.4.0(详尽版).pdf.zip
2019-10-16
阿里巴巴开发手册终极版 1.3版
2018-07-06
Python基础教程(第2版·修订版)
2017-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人