- 博客(121)
- 资源 (9)
- 收藏
- 关注
原创 MySQL中如何书写update避免锁表
MySQL锁表是指在对某个数据表进行读写操作时,为了保证数据的一致性和完整性,系统会对该数据表进行锁定,防止其他用户对该表进行操作。where 不加主键还不能更新了?不是的,能更新,也能使用。但是我不建议这样做。因为我们大多数人使用 MySQL 都使用的是 innodb 存储引擎,它是支持事务的。如果你的 where 条件不加主键,那么 innodb 的行级锁就可能变成表级锁。如果升级为表级锁,那么并发性就将大打折扣了。InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。
2023-11-04 11:26:38
1246
原创 纯手写实现Spring MVC
代码实现annotation@CustomizeAutowiredpackage com.liubin.springmvc.annotation;import java.lang.annotation.*;/** * 〈功能详细描述〉自定义Controller注解 * * @author 刘斌 * @date 2020/3/8 * @see [相关类/方法](可选)...
2020-03-09 23:58:31
389
原创 Spring Boot概述
概述SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。Springboot的设...
2020-03-09 23:20:53
1553
原创 Spring MVC框架概述
概述Spring MVC是Spring框架中用于Web应用快速开发的一个模块。作为当今业界最主流的Web应用开发框架,Spring MVC有时也被称为Spring Web MVC。在介绍Spring MVC之前,不得不先谈谈什么是MVC? Web MVC架构和三层架构是什么关系?读者看到这里可能会不假思索地说道,MVC:Model(数据模型)+View(视图)+Controller(控制器...
2020-03-09 22:32:50
893
原创 迪米特法则
概念迪米特法则产生于 1987 年美国东北大学(Northeastern University)的一个名为迪米特(Demeter)的研究项目,由伊恩·荷兰(Ian Holland)提出并被 UML 创始者之一的布奇(Booch)普及。迪米特法则的定义是:只与你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to str...
2020-03-08 10:25:21
214
原创 接口隔离原则
概念2002 年罗伯特·C.马丁给“接口隔离原则”的定义是:客户端不应该被迫依赖于它不使用的方法(Clients should not be forced to depend on methods they do not use)。该原则还有另外一个定义:一个类对另一个类的依赖应该建立在最小的接口上(The dependency of one class to another one shou...
2020-03-08 10:24:01
136
原创 依赖倒置原则
概念1996年罗伯特·马丁指出高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractionsshould not depend upon details...
2020-03-08 10:22:29
198
原创 里氏替换原则
概念1987年里斯科夫(Liskov)女士在一篇名为《数据抽象和层次》的文章中提出:继承必须确保超类所拥有的性质在子类中仍然成立(Inheritance should ensure that any property proved about supertype objects also holds for subtype objects)。...
2020-03-08 10:20:58
184
原创 开闭原则
概念1988年勃兰特·梅耶在他的著作《面向对象软件构造》中提出:软件实体应当对扩展开放,对修改关闭。(Software entities should be open for extension,but closed for modification),这就是开闭原则的经典定义。...
2020-03-08 10:17:57
185
原创 桥接模式
现实例子我们都去买过手机,手机按照品牌分可以分为华为、小米、oppo、vivo等品牌,如果这些手机按照内存分又可以分为6G、8G、12G等等。假如我们每一种手机都想要玩一下,至少需要4*3个。这对我们来说这些手机也太多了,竟然有12个,最主要的是手机品牌和内存是放在一起的。现在有这样一种机制,手机牌品商是一个公司,做手机内存的是一个公司,想要做什么手机我们只需要让其两者搭配起来即可。有点类似于...
2020-03-07 21:23:06
473
原创 代理模式
现实例子什么是代理模式?举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。再比如打官司, 为什么要找个律师? 因为你不想参与中间过程的是是非...
2020-03-07 20:16:55
197
原创 原型模式
目录概念应用场景分类浅拷贝深拷贝优缺点优点1、性能优良2、逃避构造函数的约束3、扩展性好4、提供了简化的创建结构方式缺点1、违反开闭原则2、多重嵌套引用时,实现麻烦3、无法和单例模式组合使用角色构成Prototype(抽象原型类)ConcretePrototype(具体原型类)Client(客户端访问类)灵魂拷问...
2020-03-07 18:44:24
412
原创 抽象工厂模式
概念抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂是创建型设计模式,它强调了一系列相关产品对象(属于同一个产品族)的创建过程,它和工厂方法模式的侧重点不同,工厂方法模式更加侧重于同一产品等级,而抽象工厂模式侧重的是同一产品族。简单说就是一个工厂中生产的一系列对象都是同一个产品族的。改进...
2020-03-07 17:34:39
372
原创 单一职责原则
概念单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。未完待续……...
2020-03-06 23:35:55
138
原创 (排序算法)-(非线性时间比较类排序)-(交换排序)-(快速排序)-(普通快速排序)
(排序算法)-(非线性时间比较类排序)-(交换排序)-(快速排序)-(普通快速排序)
2020-03-06 23:29:31
315
原创 (排序算法)-(非线性时间比较类排序)-(交换排序)-(冒泡排序)
【Java算法】-【排序算法】-【非线性时间比较类排序】-【交换排序】-【冒泡排序】
2020-03-06 23:22:25
299
原创 利用fastJson实现Object、List<S>对象值拷贝工具类【BeanCopyUtils】
目录pom.xml引入相应Maven依赖包BeanCopyUtils.java工具类验证用实体信息构造BankCard.javaUserDto.javaUserInputDto.javaUserOutputDto.java工具类客户端调用Client.java工具类客户端调用控制台输出pom.xml引入相应Maven依赖包<depend...
2020-03-06 22:07:23
1683
原创 工厂方法模式
概念工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。实现原理工厂方法模式对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不再负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产...
2020-03-06 19:58:19
295
1
原创 简单工厂模式(非23种设计模式之列)
目录概念优缺点优点缺点应用场景模式角色组成抽象产品(Product)角色具体产品(Concrete Product)角色工厂(Creator)角色代码实现抽象产品类AbstractCar.java具体产品类-奔驰车类BenzCarImpl.java具体产品类-保时捷车类PorscheCarImpl.java工厂类(二选一)C...
2020-03-06 19:57:54
393
原创 单例模式
单例模式概念所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。应用场景在计算机系统中,还有 Windows中任务管理器、回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web应用的配置对象、应用程序中的对话框、系统中的缓存等常常被设计成单例。另外,Ser...
2020-03-06 19:57:26
259
原创 设计模式概述
产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements o...
2020-03-06 19:56:50
263
原创 配置文件信息读取工具类【PropertiesUtils】
目录工具类PropertiesUtils配置文件custom.propertiescustom-dev.properties调用结果工具类PropertiesUtilspackage utils;import java.io.IOException;import java.io.InputStream;import java.util.Prope...
2020-03-02 20:49:48
1071
原创 绪论
目录系统架构的概念和历史发展系统架构概念系统架构发展历史系统架构师的定义和职业素质系统架构师的定义系统架构师技术素质系统架构师管理素质系统架构师和团队其他成员角色的协调系统架构师知识体系从开发人员到架构师系统架构的概念和历史发展系统架构概念系统架构发展历史系统架构师的定义和职业素质系统架构师的定义系统架构师技术素质系统架构师管理素...
2020-03-01 23:37:30
136
转载 高性能、高可用大型分布式网站方案赏析
1、https://www.cnblogs.com/guixia621/p/9245596.html2、https://www.cnblogs.com/winner-0715/p/6280309.html?utm_source=itdadao&utm_medium=referral3、https://blog.youkuaiyun.com/weixin_37490221/article/det...
2019-08-12 09:31:01
210
原创 MySQL数据库使用规范
基础规范须知事项 1. 使用Innodb存储引擎,MySQL默认16K。2. 字符集使用utf8mb4,数据库排序规则使用utf8mb4_general_ci(utf8mb4 可以更好的存储Emoji表情)。3.不同表,取相同字段进行关联查询,建议使用相同的数据库排序规则。4. 所有表及其所属字段都需要添加注释。5. 单表数据量控制在 5000W以内,超过 500W以上的表...
2019-01-09 01:18:26
494
1
原创 批量保存或者查询数据库
package com.liu.test;import java.util.ArrayList;import java.util.List;/** * - * copyright (c) 2018, 刘 斌 All rights reserved * 文件名称:SortTest.java * 摘要:批量插入数据 * 作 者:liu bin * 创建时间:2018 年 ...
2018-09-14 13:49:39
559
java开发部分常见开发工具包-卷2.zip
2020-03-12
jdk1.8及安装操作.zip
2020-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人