自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Array.from()

Array.from

2023-01-30 09:48:55 162

原创 Java中后端Bigdecimal传值到前端精度丢失问题

有两种方式解决方式1、将接收数据库数据的字段用string方式接收2、@JsonSerialize(using = ToStringSerializer.class),将此注解加在Bigdecimal类型的字段上,这样前端就会将此类型的数据看成String类型的。...

2022-03-22 19:44:49 2592

原创 【无标题】

遇到的问题:1、在git上将代码拉下来之后,在切换分支的时候提示文件名过长无法切换分支。2、直接拉代码的时候,由于文件名过长,直接就将文件删除了解决方法执行此命令,将项目删除之后重新拉取项目。git config --system core.longpaths true...

2022-03-01 13:24:06 169

转载 JS的splice方法的使用

splice方法可以用来对js的数组进行删除,添加,替换等操作。删除功能,第一个参数为第一项位置,第二个参数为要删除几个。用法:array.splice(index,num),返回值为删除内容,array为结果值。插入功能,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项)。用法:array.splice(index,0,insertValue),返回值为空数组,array值为最终结果值。替换功能,第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数

2022-02-09 09:21:56 637

原创 springboot整合mybatis--一级缓存与二级缓存

概念1)一级缓存 Mybatis的一级缓存是指SQLSession,一级缓存的作用域是SQlSession, Mabits默认开启一级缓存。 在同一个SqlSession中,执行相同的SQL查询时;第一次会去查询数据库,并写在缓存中,第二次会直接从缓存中取。 当执行SQL时候两次查询中间发生了增删改的操作,则SQLSession的缓存会被清空。 每次查询会先去缓存中找,如果找不到,再去数据库查询,然后把结果写到缓存中。 Mybatis的内部缓存使用一个HashMap,key为hashcode+statem

2021-12-08 23:28:19 1760

原创 git命令整理

git config --global --unset http.proxygit pull --rebase origin chenkedonggit push -u origin chenkedonggit remote add origin https://github.com/1093932173/gitTest2.git

2021-11-30 13:55:37 1155

原创 swagger学习

修改:@ApiImplicitParams是用于多个参数的说明。如何搭建Swagger都选择2.7版本Springboot整合SwaggerSwagger在线测试使用注意事项@ApiParam与ApiImplicitParams比较

2021-11-24 14:44:03 195

原创 stream中的sorted方法

List<User> list = new ArrayList<>(); User user1 = new User("zhangsan",13); User user2 = new User("lisi1",12); User user3 = new User("lisi2",12); User user4 = new User("wangwu",6); list.add(user1);

2021-11-24 01:30:00 32174 1

转载 cron表达式详解

1、一个cron表达式最少有5个空格来分割时间元素,总共有7个元素,分别如下:① 秒(0-59)② 分钟(0-59)③ 小时(0-23)④ 天(月的第几天)(0-31,但是你需要考虑你月的天数)⑤ 月(0-11)⑥ 天(星期几)(1-7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)⑦ 年份(1970-2099)说明: 每个元素可以是一个具体的值(如6一个连续区间(9-12),一个间隔时间(0/5)(表示从0开始每隔5,写到哪个元素就表示间隔的是哪个元素,如

2021-11-19 18:23:25 7593 1

原创 js中的find方法使用

定义和用法find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。find() 方法为数组中的每个元素都调用一次函数执行:当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。如果没有符合条件的元素返回 undefined注意: find() 对于空数组,函数是不会执行的。注意: find() 并没有改变数组的原始值。let arr = [1, 2, 3, 4, 5];let a = arr.find(item =&gt

2021-11-19 14:25:58 3402

转载 js对象劫持

JS对象劫持 Object.defineProperty()在目标对象之前加一层"拦截",外界对该对象的访问,都必须先通过这层拦截,对此,提供了一种机制,可以对外界的访问进行过滤和改写。这种机制就称对象劫持。Vue能够在修改属性时, 修改视图, 使用的就是 Object.defineProperty()语法 Object.defineProperty(obj, prop, desc) obj 需要定义属性的对象 prop 当前定义的属性名 desc 描述符描述符分为两种,

2021-11-11 22:00:04 448

原创 js中像数组中添加元素

js向数组中添加元素push方法let arr = [1,2,3,4]arr.push(5)//注意:如果arr是data中定义的,this.arr.push(5)会报错js向对象中添加元素let obj = { label: 'value'}//执行以下方法obj['label2'] = 'value2'//此时obj数组obj = { label: 'value', label2: 'value2'}...

2021-11-11 21:45:26 685

原创 接口中default方法

一、概念接口提供一个默认实现的方法,并且不强制实现类重写此方法默认方法使用default关键字来修饰二、引入背景当一个接口添加新方法时,需要所有的实现类都重写新方法,影响到了已有的实现类,可能导致应用崩溃默认方法可以不强制重写,也不会影响到已有的实现类例如Iterable接口的foreach方法,就是一个默认方法,参数是一个Consumer对象三、使用当一个实现类实现了多个接口,多个接口里都有相同的默认方法时,实现类必须重写该默认方法,否则编译错误a. 实现

2021-11-11 15:31:59 4400

转载 Java中多态中调用方法和属性

public class AttributeMethodTest { public static void main(String[] args) { //创建Sub对象sub Sub sub = new Sub(); System.out.println(sub.number); sub.display(); //sub和base都是引用类型数据,赋值操作为地址赋值。 Base base = sub;

2021-11-11 10:51:56 488

原创 spring框架学习--spring5

spring框架的基本概述1、Spring 是一个轻量级的开源的JavaEE框架。2、Spring可以解决企业应用开发的复杂性。3、Spring有两个核心部分:IOC 和 AOP(1)IOC:控制反转,把创建对象过程交割Spring进行管理。(2)AOP:面向切面,不修改源代码进行功能增强。4、Spring特点(1)方便解耦,简化开发(2)AOP编程的支持(3)方便测试(4)方便集成各种优秀框架(5)降低进行事务的操作(6)降低Api的使用难度入门案例1、下载Spring5注

2021-11-11 01:07:57 670

原创 git操作

查看用户名 :git config user.name查看密码: git config user.password查看邮箱:git config user.email查看配置信息: $ git config --list修改用户名git config --global user.name “xxxx(新的用户名)”修改密码git config --global user.password “xxxx(新的密码)”修改邮箱git config --global user.email “xxx

2021-10-12 23:16:35 103

原创 Excel文件导出功能实现以及注意的

创建一个工作簿:XSSFWorkbook workbook new XSSFWorkbook();创建一个工作表:XSSfSheet sheet= workbook.creatSheet();创建一个行//创建行需要注意的是:如果对同一行中进行数据操作,那么就要一定要保持行对象的唯一性,//不然数据会操作不成功,创建一个行对象,对其添加数据,就会把之前的给覆盖掉。XSSFRow row = sheet.creatRow();创建一个单元格//在对单元格进行样式设计的时候,需要对每一个

2021-07-16 10:34:25 253

原创 java中值传递与引用传递!

值传递:是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中对参数的修改就不会对之前的值有影响。引用传递:这里是将参数的引用地址传递到了函数中,这样对参数的修改就会影响到实际参数。通俗一点讲就是:值传递就是将值复制了一个,然后将复制那个传递到了函数中,相当于一个副本,对副本的修改,对原始值无影响。引用传递也是将值复制了一次,但是这个值是引用,将对堆中地址的引用复制了一次传递到了函数中,原参数的引用和复制的引用都指向同一个地址,所以复制引用对内存中进行了修改,原引用中的数据也变了。比较特别的

2021-05-16 16:44:08 93

原创 java基础-内部类

内部类就是一个类中还包含一个类。内部类又有成员内部类,局部内部类(匿名内部类)。内部类的使用方法:(Out是外部类,In是内部类)直接使用:Out.In o = new Out().new In();当内部类被static修饰的时候,就可以这样用:new Out.In() ;间接使用:只调用外部类的方法,在外部类方法中使用内部类。注:在内部使用外部类的变量的时候,一定要保证这个变量是不可变的。匿名内部类:如果是接口的实现类,父类的子类,就可以使用匿名内部类。接口 变量名 = n

2021-04-21 10:46:26 90

原创 java基础-final关键字

final关键字可以修饰变量(成员变量,局部变量),方法,类修饰成员变量:成员变量不加final修饰的时候,不对他进行赋值,会有一个默认值,但是添加了final修饰之后,必须要进行赋值操作,可以通过两种方式赋值,一种是手动赋值,一种是通过构造方法赋值,同时还要将此变量的setter方法去掉。修饰局部变量:必须要进行手动赋值操作。修饰方法:被修饰方法不能被重写,重载是可以的。修饰类:这个类就是成了太监类,不能被继承。需要注意的一点是final关键字不能和abstract关键字同时使用,相矛盾,abs

2021-04-21 09:37:27 80

原创 JVM详解

JVM的组成:堆,方法区;(共享)本地方法栈,虚拟机栈,程序计数器;(线程私有)堆:存储数组,new出来的对象;(是存储数据的地方)方法区:此处存储的是一些唯一性的东西,像类的class对象;方法区中还有常量池,常量池中存储的有两种信息,一个就是类的信息,一个就是常量,像被final修饰的值,String a = “asd”;这里的asd也会存储到常量池中。本地方法栈:当我们调用本地方法的时候就是在本地方法栈中运行。虚拟机栈:当我们运行到一个方法的时候我们就会在虚拟机栈中形成一个栈帧,方法中的

2021-04-21 00:24:57 263

原创 java面试题之多线程

35. 并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。36. 线程和进程的区别?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独

2021-04-13 17:02:03 117

转载 java面试题之容器

18. java 容器都有哪些?19. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法(add,addall,clear,remove,removeAll,contains,containsAll,isEmpty,size)。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式

2021-04-13 13:46:05 121

原创 java面试题之基础部分

Java基础1.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你

2021-04-13 10:39:36 209

转载 MySQL常见面试题

一、为什么用自增列作为主键1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。2、数据记录本身被存于主索引(一颗B+Tree)的叶子节点上,这就要求同一个叶子节点内(大小为一个内存页

2021-04-08 16:13:14 232

转载 java类加载的详细过程

概述虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行验证,准备,解析,初始化的一个过程,最终是可以被虚拟机直接使用的java类型,这即是类加载的一个简略的过程。Java中的类加载是在运行时加载,这样会比较的消耗性能,可是恰是在运行时加载使得java具有极好的灵活性和可扩展性。类加载的时机类从被加载到内存中开始,到卸载出内存为止。它的生命周期总共七个阶段:加载---->验证---->准备---->解析---->初始化---->使用---->卸载。如下图

2021-04-07 16:16:49 537

原创 多态的好处

多态1、多态:同一个对象,在不同时刻体现出来的不同状态。2、多态的前提:  1)要有继承关系或实现关系(接口);  2)要有方法重写;  3)要有父类或者父接口引用指向子类`Fu f= new Zi();    注意:形参实参形式的(形参父类实参子类)。3、多态的分类:  1)具体类多态class Fu{}class Zi extends Fu{}Fu f= new Zi()//父类引用指向子类2)抽象类多态(常用)abstract class Fu{}class Zi ex

2021-03-30 16:23:30 1373 3

转载 Java 静态内部类的加载时机

前言:在看单例模式的时候,在网上找帖子看见其中有一种(IoDH) 实现单例的方式,其中用到了静态内部类,文章中有写到当jvm加载外部类的时候,并没有加载静态内部内这和之前自己想的不一样,特意在网上找了一些帖子总结一下。一、学习前千的疑问:稍微了解Java虚拟机内的加载过程的步骤,都很清楚,一个类的静态资源、一些常量都是在类加载的时候就被加载金内存中分配空间了,所以我一开始理所当然的以为静态内部类中的静态变量同样属于静态资源,也应该在在内加载的时候被加载,然而实际情况却不是这样的,带着这个问题我上

2021-03-21 10:02:27 1098 2

原创 关于synchronize关键字的总结

第一种情况:没有static修饰看是否是一个this对象,也就是看new Thread(instence1),如果是一个,那么就是串行,必须要等一个线程执行完之后在执行下一个线程,如果不是一个,那么两个线程都可以进入线程,不用等待前一个线程是否执行完。第二种情况:有static修饰不管是不是同一个对象,都要等待前一个执行完之后再进入锁。...

2020-11-16 15:57:16 96

转载 Java中Final修饰一个变量时,是引用不能变还是引用的对象不能变

Java中,使用Final修饰一个变量,是引用不能变,还是引用对象不能变?是引用对象的地址不能变,引用变量所指的对象的内容可以改变。final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针。比如:final StringBuffer sb=new StringBuffer(“abc”);对sb重新赋值 sb=new StringBuffer(“cde”);会出现编译错误,被final修饰的变量是不能重新赋值的;但是 sb.append(“ced”);是可以编译通过的。F

2020-11-06 11:09:54 421

转载 用idea如何把一个写好的项目传到GitHub上

一、先在自己的github中创建一个库,这个要用到二、打开idea,先个体idea配置git.exe的路径(很简单略),如图所示,点击Create Git Repository…弹出对话框,选择项目路径后,就会给该项目添加上Git相关的组件添加后如图所示:三、如图所示选择Remotes,出现对话框在对话框中添加URL路径。url就是你之前创建的的GitHub的仓库路径四、最后可以右键项目,提交代码,选择你需要上传的代码上传就可以了我这样完成后去github中去找,发现没有提交的项目,

2020-10-20 21:19:34 231

转载 springMVC常用注解

在java框架中,使用注解的作用就是注入属性一、Spring常用注解@Component:标注一个普通的Spring Bean类。 @Controller:标注一个控制器组件类。 @Service:标注一个业务层组件类。 @Repository:标注一个dao持久层组件类。Bean实例的名字默认是Bean类的首字母小写,其他部分不变。尽量考虑使用@Controller,@Service,@Repository代替通用的@Component。二、SpringMVC常用注解@Controll

2020-10-20 14:45:13 11154

转载 ssm框架面试题

ssm框架面试题1.什么是MVC框架?传统MVC框架存在的问题是什么?MVC框架是为了解决传统MVC模式(Jsp + Servlet + JavaBean)的一些问题而出现的框架。传统MVC模式存在问题:1.所有的Servlet和Servlet映射都要配置在web.xml中,如果项目太大,web.xml就太庞大,并且不能实现模块化管理。2.Servlet的主要功能就是接受参数、调用逻辑、跳转页面,比如像其他字符编码、文件上传等功能也要写在Servlet中,不能让Servlet主要功能而需要做处理一

2020-10-20 09:25:32 2003

空空如也

空空如也

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

TA关注的人

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