自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue中进行广播传值时this.dispatch和this.broadcast的区别

JAVA前端开发系列问题记录(VUE篇)

2024-03-01 10:19:30 864 1

原创 SpringBoot 中 @EnableWebMvc 导致 Converter 失效问题现象

然而在 SpringBoot WebMvcAutoConfiguration中,@ConditionalOnMissingBean(WebMvcConfigurationSupport.class) 与上面的配置冲突,导致不会处理WebMvcAutoConfiguration, @EnableWebMvc 标记的配置类将全面接管Spring MVC 的自动配置。因此,若使用了 @EnableWebMvc ,将导致 Converter 失效。将 @EnableWebMvc 去掉后,应用正常使用。

2023-02-23 11:17:28 532

原创 MyBatisPlus多数据源日志打印问题

loggingcom...mapper: debugmybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpllogging:level:com.baomidou.example.mapper: debug多数据源打印推荐使用第二种多数据源时,配置 mybatis-plus 日志不生效问题。org.apache.ibatis.logging.stdout.StdOutImpl 可以

2023-02-17 16:48:42 642

原创 Mybatis Plus 中的LambdaQueryWrapper示例详解

之前写过 Mybatis Plus 的基本配置和使用。LambdaQueryWrapper的传参支持User2::getUserName语法!当表结构发生改变时,如@TableField(value = "user_name") 更改为 @TableField(value = "name")只要类的成员变量别名不变,就不会影响到程序结果的获取!

2023-02-15 17:23:50 3323

原创 mybatisplus详解

MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。

2023-02-15 16:13:39 1209

原创 Mybatis-plus中IService接口的使用

第三步:编写serviceImpl,ServiceImpl里面是各种的方法实现,好奇的可以点进源码看下,两个泛型需要注意的,第一个是继承basemapper的(AdminMapper),第二个是实体类(Admin)。1、从分层角度来解释,BaseMapper是DAO层的CRUD封装,而IService是业务业务逻辑层的CRUD封装,所以多了批量增、删、改的操作封装,这也比较符合官方指南中的阐述;第四步:愉快的使用啦,我们可以参考IService接口解释或者Mybatis-plus官网的方法解释来调用。

2023-02-15 14:59:27 5297 1

原创 Spring中IoC的工作原理

若一个系统的耦合度过高,那么就会造成难以维护的问题,但完全没有耦合的代码几乎无法完成任何工作,这是由于几乎所有的功能都需要代码之间相互协作、相互依赖才能完成。由于对象的基本信息、对象之间的依赖关系都是在配置文件中定义的,并没有在代码中紧密耦合,因此即使对象发生改变,我们也只需要在配置文件中进行修改即可,而无须对 Java 代码进行修改,这就是 Spring IoC 实现解耦的原理。在 Java 软件开发过程中,系统中的各个对象之间、各个模块之间、软件系统和硬件系统之间,或多或少都存在一定的耦合关系。

2022-10-26 17:00:23 176

转载 java机制下什么时候需要抛出异常?什么时候需要捕获异常?

而第二种,用try…try里面放入可能会发生异常的语句块,如果在运行期间遇到了异常,则会交给catch来处理异常(catch可以是多个,处理不同的异常),finally则是无论有没有异常发生,只要加上了就会运行。但有的时候我们会在try语句里执行别的函数比如B,这个函数B里我们假如触发了异常,它会调向try语句所在的函数A),寻找和它相匹配的catch语句,执行catch语句里面相应的异常处理程序;但是我们的throw 语句主动抛出了异常,那么程序就会到catch里面找有没有这个异常,有的话进行处理。

2022-10-13 15:21:08 2779

原创 java-反射

反射的概述:所在包:java.Reflection1. 动态语言:Object-C、C#、JavaScript、PHP、Python等.动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码都可以被引进,已有的函数可以被删除或是其他结构上发生变化。通俗讲就是运行时代码可以根据某些条件改变自身的结构.例如:( javaScript ) var x="a=4;b=6;alert(a+b)"; eval(x);var是万能类型,本来应该是String类型,但在运行时,经过eval

2022-05-03 14:10:44 1270

原创 多线程-线程池

线程池背景: 经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大思路: 提前创建好多个线程,放入线程池,使用时直接获取,使用完放回,避免频繁创建销毁方法:1、corePoolSize:核心池大小2、maximunPoolSize:最大线程数3、keepAliveTime:线程没有任务时多长时间会终止线程池的实现ExecutorService:线程池接口,常见子类ThreadPoolExecutor1、void execute(Runnable command):执

2022-03-03 22:28:55 90

原创 多线程-管程法解决线程间通信问题

管程法并发协作模型“生产者/消费者模式”---->管程法生产者:负责生产数据的模块(可能是方法,对象,线程,进程);消费者:负责处理数据的模块(可能是方法,对象,线程,进程);缓冲区:消费者不能直接使用生产者的数据,他们之间有“缓冲区”.生产者将生产好的数据放入缓冲区,消费者从缓冲区拿出数据两个线程共用一个缓冲区对象.//生产者与 消费者 鸡肉:wait()以及notifyAll(),定义一个缓冲区:管程法public class TestPC { public stati

2022-02-21 17:38:11 302

原创 多线程-Lock锁

synchronized和Lock锁的区别Lock是显示锁(手动开启和关闭锁,必须关闭锁), synchronized是隐式锁,出了作用域自动释放.Lock锁只有代码块锁,synchronized有代码块锁和方法锁使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩充性(提供更多主类)优先使用顺序:Lock > 同步代码块(已经进入了方法体,分配了相应资源) > 同步方法(在方法体之外)Lock(锁)从JDK 5.0开始,Java提供了强大的线程

2022-02-20 01:20:34 280

原创 多线程--死锁

什么是死锁?多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形.某一个同步块同时拥有“两个以上对象的锁”时,就有可能发生“死锁”的现象.例子:package com.company;//镜子mirror//口红lipstickclass LipsTick {}class Mirror {} class makeUp extends Thread { static LipsTick lipsTi

2022-02-19 18:25:01 167

原创 线程安全的CopyOnWriteArrayList集合

CopyOnWriteArrayList 读取和写入源码简单分析(java.util.concurrent包下)1. CopyOnWriteArrayList 读取操作的实现读取操作没有任何同步控制和锁操作,理由就是内部数组 array 不会发生修改,只会被另外一个 array 替换,因此可以保证数据安全.2. CopyOnWriteArrayList 写入操作的实现CopyOnWriteArrayList 写入操作 add() 方法在添加集合的时候 加了锁,保证同步, 避免多线程写的时候会 cop

2022-02-19 13:55:38 3657

原创 同步方法及同步块

由于我们可以通过private关键字来保证数据只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法:synchronized方法和synchronized块1.同步方法public synchronized void method(int args) {}synchronized方法控制对“对象”的访问,每个对象对应一把锁,每个synchronized方法都必须获得调用该方法的对象的锁才能执行,否则线程会阻塞,方法一旦执行,就独占该锁,直到方

2022-02-19 13:26:30 1288 1

原创 三大不安全线程案例

1. 不安全的买票public class Tiket implements Runnable { static int tiket = 10; boolean flag = true; @Override public void run() { while(flag) buy(); } public void buy() { //模拟买票 if (tiket <= 0) {flag=fals

2022-02-18 17:01:34 2892

原创 线程 同步

并发同一个对象被多个线程同时操作.下面演示抢票:public class Tiket implements Runnable{ static int tiket=10; @Override public void run() { while(tiket>0) { try { Thread.sleep(100); } catch (InterruptedException e)

2022-02-16 17:52:40 286

原创 了解守护线程

什么是守护线程守护线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕应用:如后台记录操作日志,监控内存,垃圾回收等待…设置守护线程.setDaemon(true)public class TestDaemon { public static void main(String[] args) { God god =new God(); You you=new You(); Thread thread= n

2022-02-16 15:14:59 427

原创 线程的优先级

线程的优先级setPriority

2022-02-07 16:29:32 178

原创 多线程的插队与状态监测

1. 线程插队join使用public class JoinThread implements Runnable { public static void main(String[] args) throws InterruptedException { JoinThread JoinThread = new JoinThread(); Thread thread = new Thread(JoinThread); thread.start();

2022-02-07 15:51:55 310

原创 3类方式实现多线程

多线程实现

2021-12-07 12:44:34 228

转载 java中异常抛出后代码还会继续执行吗

看到一篇关于异常博客,博主写得非常好,非常有用,所以转载回来,用于学习

2021-12-06 16:56:52 2106

原创 泛型的基础

泛型Java 泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数进行传递.常见形式泛型类泛型接口泛型方法语法一个参数: < T >多个参数: <T,K,E…>这些参数称为类型占位符,表示一种引用类型.不能为基本类型.泛型类形式: class Generic < T >{ }代码:创建一个泛型类public class Generic<T>{ //使用泛型T //1创

2021-11-29 17:24:06 259

原创 二分法查找vector中元素

#include “stdafx.h”#include #include#includeusing namespace std;//二分法寻找指定元素在vector的位置//注意二分法中的元素要事先排序templateint find_element(vector&ver, T num){auto beg= ver.begin();auto beg_temp = beg;auto end= ver.end();auto mid = beg + (end - beg) / 2

2021-11-27 14:34:52 1669

原创 内部类、匿名类、常用类学习

内部类内部类是在一个类的内部定义一个完整的类.代码样例1package JavaSE.lu.InClass;public class Outer { private int id=8; //private私有属性 public void out(){ System.out.println("这是一个外部类的方法"); } class Inner{ public void in(){ System.out.pri

2021-11-11 11:52:00 139

原创 异常的捕获与抛出(异常的处理)

异常的捕获与抛出1.异常1.1 什么是异常?1.2 异常的分类1.3 异常的处理框架2. 异常的处理机制3. 利用try-catch-finally语句捕获异常3.1 程序样例:3.2 操作注意点:3.3 结果说明:3.4 打印错误的栈信息4. 利用throw、throws关键字抛出异常4.1 程序样例:4.2 结果说明:5.自定义异常5.1 代码样例:5.2 总结自定义类的使用方法6. 异常在实际应用中的总结经验1.异常1.1 什么是异常?英文是Exception.异常指程序运

2021-11-06 21:39:53 2930

原创 抽象类思考题(回答~狂神说java)

抽象类思考题1.抽象类不能new对象,那能存在构造器吗?2.抽象类存在的意义?1.抽象类不能new对象,那能存在构造器吗?问题答案1.抽象类作为类一定有构造器,而且抽象类必须有构造器。提供给子类创建对象调用父类构造器使用的。2.抽象类虽然有构造器但是抽象类不能创建对象。抽象方法没有方法体,创建对象不能执行,所以不能创建对象。抽象类的注意事项抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,

2021-11-05 22:43:20 139

原创 父类引用指向子类对象的注意点

父类引用指向子类对象的注意点首先看一段代码:Father类package JavaSE.lu.duotai;public class Father { static int b=7; int a=5; public void say(){ System.out.println("父亲say"); } public void write(){ System.out.println("父亲write"); }}Son

2021-11-05 15:31:18 479

原创 类的封装.

这里写目录标题1.封装原则2.封装定义3.private 关键字以及getXXX()、setXXX()方法的使用.3.1 private关键字3.2 get/set方法3.3 具体样例:3.4 输出结果以及说明:4.封装意义:1.封装原则程序设计要追求 高内聚,低耦合, 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用.2.封装定义思想就是隐藏实现细节,仅对外暴露公共访问的方式,即禁止直接访问一个对象中数据对的实际表示,而通过操作接口来访问,称为信息隐

2021-11-04 13:24:17 1154

原创 for-each(增强for循环的要点)以及数组的输出说明

for-each(增强for循环的要点)使用for-each遍历多维数组时,要嵌套for-each循环,例如二维数组,可以在外层for循环设置接受类型为一维类型,即 int[]array,数组名是二维数组名,内层循环使用int型变量接收,数组名为外层循环接受量的数组名.代码样例:public static void main(String[] args) { int [][] b={{1,2,3},{4,5,6,7}};//2行4列的2维数组,静态初始化.

2021-10-30 15:51:46 614

原创 比较员工的年龄大小(继承、异类集合、static)

比较员工的年龄大小(继承、异类集合、static学习)题目:        现在存在一个staff[ ]异类集合,里面存放的是不同员工的资料,需要通过该异类集合来比较员工的年龄大小.集合中有Employee类,属性有姓名、生日,行为有自身构造方法.集合中还有Manager类,它继承了Employee类,特殊属性为部门.为了让代码难度不要过大,我们设该集合内仅有Employee和Mabager类,且数组长度为2. 现请你对

2021-10-28 12:07:59 222

转载 关于Java子类继承时,为什么父类要有无参构造方法

关于Java子类继承时,为什么父类要有无参构造方法当父类没有默认的构造方法的时候,子类的构造方法就会出错我们先来看几个问题1.为什么在实例化子类的对象的时候会调用先调用父类的构造方法?答:因为子类继承父类之后,获取到了父类的内容(属性/字段),而这些内容在使用之前必须先初始化,所以必须先调用父类的构造函数进行内容的初始化.2、基类在哪里调用了父类的构造方法?答:在子类的构造方法的第一行中默认(不显示)调用super();即调用了父类构造方法如果父类里面没有定义参数为空的构造方法,那么必须在子

2021-10-28 11:50:43 2163 1

原创 switch语句以及反编译源码查看

switch语句的反编译源码查看提出问题:在jdk 7版本之后,java的switch语句的变量开始支持字符串,那么java是通过什么方式编译字符串,并让switch语句识别字符串类从而运行成功?图一是源程序,图二是class文件在idea中反编译的源码,如图图一图二结论 :通过查看源程序与源码可以看出,每一个字符串其实是一个String类的对象,而每一个对象都有自己的一个hashCode,即“哈希值”,系统通过识别字符串变量的哈希值,对case语句中的字符串常量,即单存哈希值进行比较,从而找

2021-10-24 22:32:42 444

原创 java包机制以及javadoc命令构造API文档

java包机制以及javadoc命令构造API文档1.java的包机制当你在一个文件夹下建立两个命名相同的文档时,会出现下面的情况:图1系统会自动提示你需要重新命名,但是,当你新建一个文件夹时并将其中一个文档放入里面,则两个文档命名就可以相同了,这就是为了避免在同一个包中出现命名相同导致后续的程序出现问题:例如:图2所以,在java中,为了避免文件命名相同到导致出现问题的情况,Java中出现了包机制,一层包裹一层,这里注意:一般使用公司域名作为包名. 如百度的网址www.baidu.com

2021-10-24 16:15:10 167

原创 Markdown博客的制作

cnds博客创作1.标题n级标题:n个#号+空格+标题,随着#号递增,字体大小逐渐变小.2.字体1.加粗字体:表达形式:** +内容+ ** ,如:内容两个星号间加内容,中间不需要空格.2.斜体字:表达形式:* +内容+ * ,如: 内容一个星号间加内容,中间不需要空格.3.加粗的斜体字:表达形式:*** +内容+ ***,如:内容三个星号之间加内容,中间不需要空格4.删除线字体:表达形式:~~ +内容+ ~~, 如:内容两个波浪号之间加内容,中间不需要空格

2021-10-15 16:14:24 126

原创 蓝桥杯考前复习2

蓝桥杯考前复习21.dfs深度优先搜索a.[蓝桥杯][2014年第五届真题]地宫取宝题目描述:X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多

2021-04-18 00:40:37 173

原创 蓝桥杯考试注意考点复习1

蓝桥杯考试注意考点复习1.输出任意位数的数(不以科学计数法输出) int x=2; cout<<fixed; cout<<setprecision(0); cout<<pow(x,20);2.进制转化函数:long long a; cin>>oct>>a;//输入的是8进制的数 cout<<setiosflags(ios::uppercase)<<hex<<a<<endl;//转化

2021-04-15 15:46:11 314

空空如也

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

TA关注的人

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