自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot整合Mybatis

下新建名称相同的xml文件,在本例中就是java.cn.scnu.mapper.UserMapper.java -> resources.cn.scnu.mapper.UserMapper.xml。现在我们并没有指定数据源, SpringBoot 有默认的数据源,我们也可以指定使用 Druid 数据源,按照以下步骤实现。SpringBoot 版本低于2.4.3(不含)且Mysql驱动版本大于8.0时,需要在url连接串中配置时区。若想在已有项目中引入,=则在pom.xml文件中引入以下依赖即可。

2024-06-05 12:57:24 321

原创 用hutool的JSONUtil实现json和list之间的转换

json转list:

2024-03-17 19:59:35 941

原创 vue2项目中引入vuex

注意如果输入npm install vuex会安装vuex4版本,而vuex4只能在vue3中使用,因此安装vuex3才能在vue2中使用。4、index.js文件中插入以下代码。这里的name变量便可以在任意组件通过$store.state.name使用了。1、在终端输入npm install vuex@3 --save。3、在src下新建store文件夹和index.js文件。2、在main.js文件中引入。

2023-12-12 21:27:05 379

原创 npm新建项目以及npm install npm -g报错

用了三个小时,试了网上各种方法,最后才发现是npm版本太高。如果你强制清除缓存时,报npm WARN using --force Recommended protections disabled.,那么就只能用npm cache verify清除,并且说明了你的npm版本太高,此时最关键的步骤就是降低npm,完成后就解决了,命令如下。-g // 6.14.10为版本号,可以更改。

2023-12-11 22:47:03 565 1

原创 记录一下Springboot单元测试启动报错 java.lang.IllegalStateException: Failed to load ApplicationContext

时,Spring Boot会在启动测试环境时,自动分配一个随机的可用端口,并将该端口作为应用程序的监听端口。这样一来,你的测试代码就可以通过该随机端口与应用程序进行通信。使用随机端口可以避免端口冲突的问题,并且提供了更真实的部署环境。表示随机选择一个可用的端口作为测试环境的端口。,它定义了不同的测试环境选项。

2023-12-04 11:30:59 398

原创 两步完美解决端口占用问题

2、Ctrl + Shift + Esc打开任务管理器,找到详细信息板块,按pid排序即可找到对应进程。1、win+R输入cmd,键入netstat -aon|findstr "8080"此时8080对应栏最右边的数字就是进程的pid,这里是7688。此时结束进程即可取消占用。如果不想结束进程,就得换一个端口号防止冲突。

2023-11-08 21:32:19 175 1

原创 判断IP地址和网关地址是否属于同一个子网

总之,要判断一个 IP 地址和一个网关地址是否在同一个子网中,需要先将它们和子网掩码转换为二进制格式,然后对每个二进制位进行逐位比较,如果某一位不同则说明它们不在同一个子网中。IP 地址和网关地址在第一、二、三个字节都相同,只是最后一个字节不同。而子网掩码的最后一个字节为 0,说明最后一个字节不作为网络标识位。将 IP 地址和网关地址转换为二进制格式。对于每个 IP 地址和网关地址的二进制值,将其与子网掩码的二进制值进行逐位比较。如果它们对应的位都是相同的,则说明它们在同一个子网中;

2023-09-09 11:02:23 1292 1

原创 StringBuilder、StringBuffer、String的运行速度

String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。注意:在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况。StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况。String:适用于少量的字符串操作的情况。

2023-09-09 10:23:03 297 1

原创 关于异步的理解(转)

如果使用同步方式下载图片,在下载过程中浏览器的界面会被卡住,直到下载完毕才能进行下一步操作。但是如果使用异步方式,先发起下载请求,然后继续渲染页面,当图片下载完成后再来更新图片位置即可,使得用户不会感到卡顿。通常使用异步任务提交给线程池或单独的线程来处理,主线程则不阻塞地继续执行后续代码,等异步任务完成后再通过回调或Future返回结果或通知主线程进行处理。异步是指在程序执行过程中,不需要等待某个任务的完成,而是在发出该任务后继续执行后面的代码,等任务完成后再回来处理该任务的结果。

2023-09-09 10:18:48 74 1

原创 设计模式介绍

组合 (Composite) 模式将对象组合成树形结构以表示“部分一整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性装饰器 (Decorator) 模式描述了以透明围栏来支持修饰的类和对象的关系,动态地给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更加灵活。责任链 (chain of Responsibility) 模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

2023-09-09 10:13:53 39 1

原创 Java体系结构的简要介绍

当程序运行的时候它可以调用class文件中的实现的方法来满足程序java api的调用。java虚拟机是一台可以比作是一台抽象的计算器,其java api规范定义了每个java虚拟机都必须实现的特性,但是为每个特性实现都留下了很多选择。举个例子说:虽然每个java虚拟机都必须能够执行java字节码,但是用何种技术来执行是可以选择的,比如现在使用的就是c++和c的结合。java体系结构包括四个独立相关的技术: java程序设计语言、 java class 文件格式、java应用编程接口、 java虚拟机。

2023-09-06 15:53:49 192 1

原创 关于volatile和synchronized

volatile具有有序性和可见性。volatile用与修饰实例变量和类变量,是一种维护线程安全的手段,作用是实现共享资源的可见性。进程中的内存分为工作内存(线程内存)和主内存,普通变量的读写依赖于当前工作内存,直到线程结束,才会把值更新到主内存,当有多线程存在时,就无法保证数据的真实性(可见性),其他线程读到的数据可能旧的.volatile修饰的变量每次获取的值都是从主内存中直接读的,写完之后也会直接更新到主内存,实现方式以机器指令(硬编码)的方式实现。

2023-09-04 18:13:34 29 1

原创 Java的protected权限

2、最重要的是protected权限可以被其子类访问,无论子类是否与它在同一个包中。1、在同一个包中时,表现跟包权限一样,即同一个包里的所有类都可以访问;只能在子类中直接访问,或者通过该子类的实例对象访问;在子类中,通过父类实例对象或多态进行访问;在子类中,通过其他子类实例对象访问。

2023-09-04 18:03:42 253 1

原创 Java的四种引用类型

虚引用是最弱的一种引用关系,如果一个对象仅持有虚引用,那么它就和没有任何引用一样,它随时可能会被回收,在 JDK1.2 之后,用 PhantomReference 类来表示,通过查看这个类的源码,发现它只有一个构造函数和一个 get() 方法,而且它的 get() 方法仅仅是返回一个null,也就是说将永远无法通过虚引用来获取对象,虚引用必须要和 ReferenceQueue 引用队列一起使用。简单总结:强引用不回收,软引用内存不足时回收,弱引用JVMGC时回收,虚引用随时会被回收。

2023-09-04 17:56:45 27 1

原创 Java 线程 知识点总结

4、join() - 当前线程调用 某线程.join()时会使当前线程等待某线程执行完毕再结束,底层调用了wait(),因此。2、yield() - 使当前线程重回到可执行状态,等待cpu的调度,当被其他线程使用notify,notifyAll唤醒时进入可执行状态。3、wait() - 使当前线程回到线程池中等待,1、sleep() - 使当前线程睡眠指定时间,

2023-09-03 17:41:04 26

原创 Java对象初始化顺序

2、默认调用父类的无参构造方法,可以在子类构造方法中利用super指定调用父类的哪个构造方法。1、父类静态代码块,父类静态成员变量(同级,按代码顺序执行)2、子类静态代码块,子类静态成员变量(同级,按代码顺序执行)3、父类普通代码块,父类普通成员变量(同级,按代码顺序执行)5、子类普通代码块,子类普通成员变量(同级,按代码顺序执行)1、静态内容只在类加载时执行一次,之后不再执行。

2023-09-02 16:18:02 35 1

原创 C++实现可视化计算器 - 综合实验报告

算法的重点和难点主要是判断异常以及双栈的操作。通过这次的实验编程一个简易计算器,使我充分学习理解了栈的相关应用。在实现过程中也遇到了些困难,例如关于qt的使用,Qstring与double和char *之间的转化,双栈的操作等等。“成功没有快车道”,所有的成功,都来自不倦地努力和奔跑”,只有平时扎实学习,才能真正收获知识,感受学习的乐趣。

2023-08-28 15:42:56 375 1

原创 医院管理信息系统数据库设计

系统管理员的主要职责是维护(添加、删除和修改等基本任务)医院的基本信息、科室的基本信息、医生的基本信息、药品的基本信息等工作。该系统的主要目的是为医院提供一个高效、安全、实时的数据管理平台,以支持医院日常管理和医护人员的工作。(11)医生在登录账号后可看到自己在挂号中指定自己的病人(即自己的接诊病人),在开处方时,医生可输入病人编号,再勾选上开出的药品及药品数量,点击确认即可开出处方;(2)病人去医院看医生,可能是初诊,也可能是复诊,复诊可选择原来看过的医生,也可选择其他医生,初诊也可以选择医生;

2023-08-28 15:20:11 1555 1

原创 虚拟现实期末作品介绍

事先声明,源文件不公开,因为是小组协作的成果,本文仅分享思路。

2023-08-28 13:47:03 513 1

原创 函数指针实现strcpy功能

/*函数指针实现strcpy功能*/#include <stdio.h>void copy_string(char * ,char*);int main(){ char a[100], b[100]; gets(a); printf("\nstring_a = %s\n", a); copy_string(a, b); printf("\nstring_b = %s\n", b); return 0;}void copy_st...

2021-11-26 09:52:32 309

原创 指针实现数字交换

/*指针实现数字交换*///#include<stdio.h>//void swap(int *p1, int *p2);//int main( )//{// int a,b;// int *pa=0, *pb=0;// scanf("%d%d", &a, &b);// pa=&a;// pb=&b;// swap(pa,pb);// printf("\n%d %d\n", a, b);// ...

2021-11-26 09:39:45 731

原创 指针实现数字倒序输出

/*指针实现数字倒序输出*/#include <stdio.h>#define N 5void Reverse(int *, int);int main(){ int i, a[N]; printf("请输入%d组数字(空格隔开):\n", N); for(i=0; i<N; i++) { scanf("%d", &a[i]); } Reverse(a, N); printf("\n其倒序输出的...

2021-11-26 09:36:59 1111

空空如也

空空如也

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

TA关注的人

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