自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程同步——使用(synchronized)关键字

1.需要线程同步的原因:Java 中允许多线程并行访问,同一时间段内多个线程同时完成各自的操作。但是多个线程同时操作同一个共享数据时,可能会导致数据不准确的问题。2.线程同步的方法:可以通过 synchronized 关键字修饰方法实现线程同步,每个Java 对象都有一个内置锁,内置锁会保护使用 synchronized 关键字修饰的方法,要调用该方法就必须先获得锁,否则就处于阻塞状态。3。synchronized 关键字可以修饰实例方法,也可以修饰静态方法,两者在使用的时候是有区别的。(1)给实

2022-04-14 15:39:16 1763 1

原创 Java 多线程调度

一、线程休眠让当前线程暂停执行,从运行状态进入阻塞状态,将 CPU 资源让给其他线程的调度方式,通过 sleep() 来实现。sleep(long millis),调用时需要传入休眠时间,单位为豪秒。注意:在外部调用需要注意,休眠一定要放在启动之前。直接通过静态方式调用 sleep 方法可以使主线程休眠。sleep 是静态本地方法,可以通过类调用,也可以通过对象调用,方法定义抛出 InterruptedException(InterruptedException 继承 Exception,外部调用

2022-04-12 10:12:46 913

原创 Java 线程的状态

线程共有 5 种状态,在特定的情况下,线程可以在不同的状态之间切换:创建状态:实例化一个新的线程对象,还未启动。就绪状态:创建好的线程对象调用 start 方法完成启动,进入线程池等待抢占 CPU 资源。运行状态:线程对象获取了 CPU 资源,在一定的时间内执行任务。阻塞状态:正在运行的线程暂停执行任务,释放所占用的 CPU资源,并在解除阻塞状态之后也不能直接回到运行状态,而是重新回到就绪状态,等待获取 CPU 资源。终止状态:线程运行完毕或因为异常导致该线程终止运行。线程状态之间的转换图:

2022-03-02 15:28:58 230

原创 Java 中线程的使用

Java 中使用线程有两种方式:一、继承 Thread 类1、创建自定义类并继承 Thread 类。2、重写 Thread 类中的 run 方法,并编写该线程的业务逻辑代码。public class MyThread extends Thread { @Override public void run() { // TODO Auto-generated method stub //定义业务逻辑 for(int i = 0;i<1

2022-02-23 16:55:33 1214

原创 Java 常见异常与处理

一、异常的类型1、Error 是指系统错误,JVM 生成,编写的程序无法处理。2、Exception 指程序运行期间出现的错误,编写的程序可以对其进行处理。try{ //可能抛出异常的代码}catch(Exception e){ //处理异常}finally{ //必须执行的代码}二、常见的异常:1、ArithmeticException 表示数学运算异常2、ClassNotFoundException 表示未定义异常3、IllegalArggumentEx

2022-02-22 17:13:35 368

原创 Java 类、抽象类和接口

接口:就是将程序中的业务模块进行分离,以接口的形式去对接不同的业务模块。类:类是一个模板,它描述一类对象的行为和状态。抽象类:拥有抽象方法的类。一、面向接口编程的优点:当用户需求变更时,只需要切换不同的实现类,而不需要修改串联模块的接口,减少对系统的影响。1、能够最大限度实现解耦合,降低程序的耦合性。2、使程序易于扩展。3、有利于程序的后期维护。二、接口和抽象类的区别:1、抽象类:一个类中一旦存在没有具体实现的抽象方法时,那么该类就必须定义为抽象类,同时抽象类允许存在非抽象方法。2、接口

2022-02-22 16:23:27 218

原创 Java 包装类

包装类是 Java 提供的一组类,专门用来创建 8 种基本数据类型对应的对象,一共有 8 个包装类,存放在 java.lang 包中,基本数据类型对应的包装类。产生:构造函数生成的对象。意义:包装类可以赋null值,基本数据类型不可以赋null值。装箱和拆箱是包装类的特有名词,装箱是指将基本数据类型转为对应的包装类对象,拆箱就是将包装类对象转为对应的基本数据类型。一、装箱的方法:1、public Type(type value)2、public Type(String value)/publi

2022-02-22 16:02:40 109

原创 Java中 equals 和 == 的区别

equals方法最初是在所有类的基类Object中进行定义的,源码是:public boolean equals(Object obj) { return (this == obj); }由equals的源码可以看出这里定义的equals与是等效的(Object类中的equals没什么区别),不同的原因就在于有些类(像String、Integer等类)对equals进行了重写。  但是没有对equals进行重写的类(比如我们自己写的类)就只能从Object类中继承equals方法,

2022-02-22 15:30:23 215

原创 Java 抽象方法和抽象类

如果一个方法只有方法的声明而没有具体的方法实现,这个方法就叫做抽象方法,Java 中的抽象方法需要使用 abstract 关键字来修饰(或使用没有方法体的普通方法)。public abstract void buyBook();public void buyBook() {};一旦类中定义了抽象方法,则该类也必须声明为抽象类,需要在类定义处添加 abstract 关键字。public abstract class Member { public abstract void buyBo

2022-02-18 17:29:30 817

原创 Java 多态及优点

多态是同一个行为具有多个不同表现形式的能力,可以理解成同一个接口,使用不同的实例而执行不同操作。优点:消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性

2022-02-18 17:15:59 452

原创 Java 方法的重载与重写

子类在继承父类方法的基础上,对父类方法重新定义并覆盖的操作叫做方法重写(构造方法不能被重新)。函数或者方法有相同的名称,但是参数列表不相同,这样的同名不同参数的函数或者方法之间,互相称之为重载。一、方法重写的规则:1、父子类的方法名相同。2、父子类的方法参数列表相同。3、子类方法的返回值与父类方法返回值类型相同或者是其子类。4、子类方法的访问权限不能小于父类。二、方法重写 和 方法重载的区别:1、位置:方法重写在子类中对父类方法进行重写,方法重载是在同一个类中。2、方法名:方法重写相同,方

2022-02-18 17:01:42 2473

原创 Java 访问权限修饰符

访问权限修饰符:public > protected > 默认修饰符 > private。

2022-02-18 16:44:07 126

原创 Java 构造方法及作用

构造函数是一种特殊的方法,普通方法是用来描述某个动作的,构造方法是用来创建对象的。1、作用:创建对象。2、创建规则:方法名必须与类名一致,不需要定义返回值类型。构造函数可分为有参构造和无参构造,有参构造是指带参数的构造函数,无参构造是指没有参数的构造函数。任何一个类都默认自带一个无参构造函数,如果手动在类中定义一个有参构造,则会覆盖默认的无参构造,需要手动再次定义无参构造。...

2022-02-18 14:30:54 1967

原创 Java中类和对象的关系

类和对象的关系:一、每个对象都有特定的特征:1、属性。2、方法。属性指的是对象的静态特征,方法用来描述对象的动态特征。对象是用来描述客观存在的一个实体,该实体是由一组属性和方法构成。二、类是与对象紧密结合的另外一个概念,类是产生对象的模版,所有的对象都是通过类来创建的。二者的关系:类是对象的抽象化描述,这些对象具有相同的特征和动作(属性和方法)。对象是类的具体实例。Java 程序是以类位组织单元,程序运行时的主体是通过类创建的具体对象。例:小明是学生,学生是类,小明是对象。...

2022-02-18 11:43:05 3430

原创 while、do-while、for 三种循环的区别

while、do-while、for 3种循环的区别:一.相同点:1.都遵循循环四要素,初始化循环变量、循环条件、循环体、更新循环变量。二.不同点:1.while 和 do-while 适用于循环次数不确定的业务场景;for 适用于循环次数确定的场景。2.while 和 for 都是先判断循环条件,再执行循环体;do-while 先执行循环体,再判断循环条件。...

2022-01-17 11:03:59 11822

原创 if...else...与switch...case区别

1.与if…else…不同的是,switch…case只能完成等值判断,无法完成判断大小。2.switch 只支持 int、short、byte、char、枚举、String 类型,不支持 boolean 类型。基本语法:switch(变量){ case 值1: //业务代码 System.out.println("结果1"); break; case 值2: //业务代码 System.out.print

2022-01-17 10:44:39 539

原创 Java数据类型转换

数据类型转换分两种:1.自动转换Java 可以自动对某些数据类型进行自动转换。规则:只能由低字节向高字节进行转换,反之则不行。byte->short->int->long->float->double2.强制类型转换Java 无法自动转换的数据类型,开发者可以通过强制手段进行转换。一般来讲强制类型转换可能会造成精度损失。double num = 10.0;int num2 = (int)num;...

2022-01-12 10:43:30 123

原创 IDEA 创建新工程时设置自定义Maven设置

IDEA 创建新项目时使用的是 Maven 默认约定地址C:\Users\${user}\.m2\setting.xml方法一:把自己的 Setting 文件移动这个地址下面进行替换。方法二:修改新建项目的默认配置修改成自己的Maven设置即可...

2022-01-06 10:38:41 364

原创 IDEA 常用快捷键

1.快速抽取变量 :ctrl + alt + V2.查看历史记录 :ctrl + E3.Translation翻译 :ctrl + shift + Y

2022-01-06 10:25:56 285

原创 Vue修改手机号(获取验证码按钮60秒倒计时禁用)

实现效果如下:html页面<el-button type="primary" :class="{'disabled-style':getCodeBtnDisable}" :disabled="getCodeBtnDisable" @click="getCode()">{{codeBtnWord}}</el-button>数据datadata() { return { phoneVisibleEdit: false, editPhone:{

2021-12-27 11:55:23 842

转载 Element通过表单校验文件是否上传

使用element校验上传文件的时候会出现文件已经上传成功,但是表单校验依旧未通过,如下,点击立即创建依旧提示请上传。需要在文件上传成功的钩子函数手动添加文件并手动执行校验html如下:<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="文件" prop="fileLis

2021-12-27 11:23:15 1192

原创 windows修改mysql数据库的最大连接数

客户端登录MySQLEnter password: password查看当前的最大连接数mysql>show variables like 'max_connections';设置最大连接数为2048msyql>set global max_connections=2048;设置成功,退出即可mysql>exit

2021-12-27 11:14:32 1374

转载 使用security框架后如何修改用户密码

使用security框架后如何修改用户密码//加解密方法BCryptPasswordEncoder bc = new BCryptPasswordEncoder();修改密码要求输入原密码password(未加密),paaword2为数据库取出的该用户加密后的密码,对两者进行对比。//输入密码与数据库密码比较boolean matches = bc.matches(password,password2 );全部代码@RequestMapping("/updatePassword")

2021-12-27 10:57:44 715

空空如也

空空如也

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

TA关注的人

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