自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

v慕言的博客

致力于把看似复杂的事情变简单

  • 博客(105)
  • 收藏
  • 关注

原创 Java开发手册提炼

说明:大而全的常量类,杂乱无章,使用查找功能才能定位到修改的常量,不利于理解,也不利于维护。接口和实现类的命名有两套规则: 1)【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用 Impl 的后缀与接口区别。【强制】在 long 或者 Long 赋值时,数值后使用大写的 L,不能是小写的 l,小写容易跟数字 混淆,造成误解。说明:Long a = 2l;2)【推荐】如果是形容能力的接口名称,取对应的形容词为接口名(通常是–able 的形容词)。...

2022-08-03 10:22:20 294 1

原创 MySQL中的锁

MySQL中的锁全局锁语法注意点和存在的问题表级锁表锁元数据锁(meta data lock,MDL)意向锁意向锁所解决的问题行级锁行锁锁是计算机协调多个进程或线程并发访问某一资源的机制。MySQL中的锁,按照锁的粒度分,分为以下三类:  全局锁:锁定数据库中的所有表。  表级锁:每次操作锁住整张表。  行级锁:每次操作锁住对应的行数据。全局锁典型的使用场景是做全库的逻辑备份,加锁后整个实例就处于只读状态,后续的DML的写语句,DD

2022-04-11 14:44:35 780

原创 CAS与synchronized

synchronized代表的是一种阻塞式的锁,得不到锁会进入阻塞队列,等待线程进行唤醒,有上下文切换的开销。原子变量是非阻塞式的,有冲突一直循环重试。public final int incrementAndGet() { for(;;) { int current = get(); int next = current + 1; if(compareAndSet(current, next)) return next; }}基于CAS可以实现乐观非阻塞式算法,还可以悲观阻塞式算法

2021-12-28 17:15:50 296

原创 postgresql 与 mysql 区别与联系

读已提交是PostgreSQL中的默认隔离级别

2021-11-23 11:23:00 1042

翻译 获取JSONObject中深层嵌套的key_value

//取出datas里的,data里的description JSONObject data = datas.getJSONObject("data"); String description = data.get("description").toString();//取出datas里的,data里的,creator里的nameJSONObject data = datas.getJSONObject("data");JSONObject creator = data.getJSONObj.

2021-09-10 19:14:47 3813

原创 结果集封装

@Datapublic class Result implements Serializable { private String code; private String msg; private Object data; public static Result succ(Object data) { Result m = new Result(); m.setCode("0"); m.setData(data);

2021-08-23 22:34:44 100

翻译

树 1、基本结构1、基本结构public class BinaryTree<Key extends Comparable<Key>, Value> { //记录根结点 private Node root; //记录树中元素的个数 private int N; private class Node { //存储键 public Key key; //存储值 private Va

2021-08-16 22:28:55 121

原创 线程池中终止任务

待完善【1】关于线程池中终止任务【2】面试官:如何停止一个正在运行的线程?我又懵了

2021-08-16 10:33:38 395

原创 自定义Spring IOC总结

自定义Spring IOC总结1、定义bean相关的pojo类1)PropertyValue类2)MutablePropertyValues类3)BeanDefinition类2、定义注册表相关类1)BeanDefinitionRegistry接口2)SimpleBeanDefinitionRegistry类3、定义解析器相关类1)BeanDefinitionReader接口2)XmlBeanDefinitionReader类4、IOC容器相关类1)BeanFactory接口2)ApplicationCon

2021-08-15 16:19:55 156

原创 一个事务与线程池线程的bug

创建一个线程池核心线程为比如4,用改线程池执行restTemplate远程调用接口获取返回结果,并保存再数据库中。将7个任务提交。此时,通过调用另一个方法 ,修改数据库里未执行的任务的状态,从而取消任务。改取消任务方法添加了@Transcationl事务注解。当执行取消任务时候,发现这种情况,提交的任务为7,线程池核心线程为4,这时候4个核心线程中有一个还没返回数据,就调用了下面的任务,下面没取消的任务,同样没返回结果。...

2021-08-13 17:24:36 283

原创 抽象类与final总结

抽象类与final总结一、抽象类1、为什么要用抽象类2、抽象类的基本原则二、final1、为什么要用final2、final的基本原则一、抽象类1、为什么要用抽象类  当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。2、抽象类的基本原则1)抽象类和抽象方法必须使用 abstract 关键字修饰2)抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类3)抽象类

2021-08-12 19:27:20 401

原创 配置不同环境多个application.properties或application.yml

【参考博客】【1】:profile根据不同环境打不同application.properties资源包

2021-08-11 17:46:33 583

原创 线程池参数配置与Linux CPU

1、线程池核心线程数配置1)核心线程计算计算密集型:cpu的个数+1。IO密集型:2*cpu个数 + 12)linux查看cpu核数 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq 逻辑CPU的个数 ,这个是我们的机器总的cpu的个数,也是设置线程池大小的时候考虑的cpu的

2021-08-11 10:36:32 609

原创 解决数据库存取时间的问题

参考博客【1】:将时间写入数据库时,秒带小数点问题【2】:@JsonFormat与@DateTimeFormat注解的使用

2021-08-10 18:19:03 101

原创 multiPartFile.transferTo(file) 第二次调用就报错FileNotFound-踩坑记录

今天写代码遇到一个坑,第一次调用multiPartFile.transferTo(file) 正常运行,第二次就报错FileNotFound。并指向了C盘一个很深的目录。看了很多博客的解决办法都不管用,最后找到解决方案如下:替换multiPartFile.transferTo(file)使用FileUtils.copyInputStreamToFile(multiPartFile.getInputStream(), file);将文件流复制到创建的file中需要导入包:<dependency

2021-08-09 12:43:40 2812 8

翻译 数据结构之符号表

符号表的基本结构基本结构有序符号表基本结构public class OrderSymbolTable<Key extends Comparable<Key>,Value> { //记录首结点 private Node head; //记录符号表中元素的个数 private int N; private class Node{ //键 public Key key; //值 pu

2021-08-08 23:55:42 162

原创 行为型设计模式总结

行为型设计模式总结3、行为型设计模式3.1、责任链模式3.2、策略模式3、行为型设计模式3.1、责任链模式3.2、策略模式

2021-08-07 16:45:31 309

翻译 结构型设计模式总结

结构型设计模式1、代理模式2、适配器模式3、装饰器模式4、桥接模式5、组外观模式6、组合模式1、代理模式2、适配器模式3、装饰器模式4、桥接模式5、组外观模式6、组合模式

2021-08-07 16:41:36 297

翻译 创建型设计模式总结

创建型设计模式1、单例模式1.1 饿汉式 (静态常量)1.2 饿汉式(静态代码块)1.3懒汉式 线程不安全1.4 懒汉式 线程安全,同步方法1.5 懒汉式 线程安全,同步代码块1.6 双重检查【推荐】1.7 静态内部类【推荐】1.8枚举【推荐】2、工厂模式(简单工厂、抽象工厂、工厂方法)1、单例模式  所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例 ,并且该类只提供一个取得其对象实例的方法静态方法 。1.1 饿汉式 (静态常量)  结论:可用,类加载时创

2021-08-07 16:30:41 354

原创 Postman同时上传多个文件和数据

定义对象,对象重要包含数组,而不是写成List1、对象public class FileDataList(){ String names[]; String sizes[]; MultipartFile files[];}2、Controllerpublic void sendData(FileDataList filedatas){}3、postmanBody下的form-data传参数和文件,传多个参数和文件就往下面写每个key要一样,如:names 测试文件01si

2021-08-06 16:33:34 1439

原创 idea常用配置及快捷键备忘录

Alt+7:查看当前类所有方法列表,快速定位方法

2021-08-06 09:53:32 93

原创 工作实际开发中用到的工厂模式形式

工作实际开发中用到的工厂模式形式1、定义配置文件2、改进工厂类3、通过工厂调用1、定义配置文件american=com.itheima.pattern.factory.config_factory.AmericanCoffeelatte=com.itheima.pattern.factory.config_factory.LatteCoffee2、改进工厂类public class CoffeeFactory { private static Map<String,Coffee&g

2021-08-04 22:36:14 158

原创 Springboot中RestTemplate使用总结

待更新

2021-08-03 15:31:52 324

原创 设计模式总结

创建型设计模式工厂模式(简单工厂、抽象工厂、工厂方法)单例模式结构型设计模式装饰器模式组合模式行为型设计模式责任链模式策略模式

2021-08-01 16:07:47 136

原创 docker网络配置命令

1、查看网桥的配置docker network ls2、创建自定义网桥docker create emsdocker create -d bridge ems3、启动时指定网桥docker run -d -p 8080:8080 --network ems --name=mytomcat tomcat:84、删除网桥docker network rm aa5 、查看网桥网络配置信息docker inspect dangdang...

2021-07-31 21:43:36 128

原创 Freemarker的基本使用

待更新

2021-07-31 09:54:29 535

原创 MyCat的基本使用总结

待更新

2021-07-31 09:44:25 63

原创 Sharding-JDBC的基本介绍使用

待更新

2021-07-31 09:42:52 385

原创 数据库分库分表

数据库分库分表1、数据库分表的基本介绍1.1 为什么分库分表1.2 数据库 库表的拆分方式1.3 分库分表的技术模式2、两种技术模式的基本介绍2.1 Sharding-JDBC2.2 MyCat3、数据库表结构的自动生成1、数据库分表的基本介绍1.1 为什么分库分表1.2 数据库 库表的拆分方式1.3 分库分表的技术模式2、两种技术模式的基本介绍2.1 Sharding-JDBC2.2 MyCat3、数据库表结构的自动生成...

2021-07-30 23:28:08 118

原创 docker-compose命令与操作

待更新

2021-07-28 13:36:38 1859

原创 Java并发编程

待更新

2021-07-27 16:49:17 64

原创 SpringBoot-延迟任务的基本使用

待更新SpringBoot三种方式实现定时任务

2021-07-26 17:18:52 1506

原创 Springboot事务不生效的几种情况

Springboot事务不生效的几种情况情况1:确认创建的mysql数据库表引擎是InnoDB,MyISAM不支持事务​情况2:注解到protected,private 方法上,事务不生效,它也不会报错,不过事务设置不会起作用。​情况3: 在业务层捕捉异常后未向上抛出,事务不生效。 原因:在业务层手工捕捉并处理了异常(try..catch)等于把异常“吃”掉了,Spring自然不知道这里有错,更不会主动去回滚数据。推荐做法是在业务层统一抛出异常,然后在控制层统一处理。​情况4:遇到非检

2021-07-26 16:30:41 3271

原创 Springboot中线程池的使用与应用

待更新

2021-07-26 15:02:05 799

原创 Java8新特性基本使用与应用场景

Java8新特性基本使用与应用场景一、基本使用1)Lamda2)Stream二、应用场景一、基本使用1)Lamda2)Stream二、应用场景

2021-07-26 14:39:27 495

原创 刷题-链表-API及套路总结

刷题-链表简单-API及套路总结1、链表-简单-约7题1)反转链表1、链表-简单-约7题1)反转链表【题目特点】: 【原理】: 递归和迭代(移动双指针)【复杂度】:时间复杂度为O(n),空间复杂度为O(1)....

2021-07-24 23:49:49 253 1

原创 sonarqube的基本使用

参考博客sonarqube使用手册

2021-07-23 09:39:53 97

原创 springcloud基本使用总结

springcloud基本使用总结1、服务治理1)Eureka2)Consul3)Naco2、负载均衡1)Ribbon3、声明式服务调用1)Feign4、熔断器1)Hystrix5、网关1)geteway6、分布式配置中心1)Config6、消息总线1)Bus7、消息驱动1)Stream8、链路追踪1)Sleuth+Zipkin1、服务治理1)Eureka2)Consul3)Naco2、负载均衡1)Ribbon3、声明式服务调用1)Feign4、熔断器1)Hystrix5、网关1)g

2021-07-21 23:29:38 96

原创 Linux下 jdk/tomcat等应用安装配置

Linux下 jdk/tomcat等应用安装配置JDK安装配置tomcat安装配置JDK安装配置1、解压安装包 tar -zxvf jdk安装包.tar.gz 2、配置环境变量 vim /etc/profile 在最后复制粘贴如下: export JAVA_HOME=/usr/java/jdk1.8.0_131 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$C

2021-07-19 15:56:01 120

原创 dockerfile命令与操作

dockerfile命令与操作

2021-07-18 22:23:07 268

空空如也

空空如也

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

TA关注的人

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