- 博客(20)
- 收藏
- 关注
原创 在springboot上实现文件(图片)的本地上传下载
文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到本地。
2024-12-02 10:46:58
641
转载 数据库知识点整理
事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的四大特性(ACID)1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须完全应用到数据库,如果操作失败不能对数据库有任何影响。2、一致性(Consistency)一致性要求事务执行前后数据库的状态保持一致。
2024-11-22 16:30:46
1111
原创 插槽的使用
如果我们只在使用组件时的组件标签体内写上内容,那页面上是显示不出来任何东西的,这是因为标签体内的内容确实被解析了,但是vue不知道要把这些东西放在组件中 template 的哪个位置,故我们要在组件的 template 中设置一个插槽来占位,以保证使用组件时其解析的内容可以放入占的位置中去。在组件中定义好了三个具名插槽,下面我们来看使用插槽的写法,依旧是在使用组件标签时在标签体内写入内容,但是要注意要使用slot="xxxx"写在组件标签体外层盒子上来指明放入哪个插槽中。
2024-10-18 11:25:27
463
原创 Mybatis小结
它是拼接符号,不是引号括起来的,它对应一串字符是可以与SQL拼在一起的,相当于成为SQL的一部分,这就很危险了,你拼接的东西可以破坏原有的SQL执行逻辑。在Executor接口的执行方法中有一个MappedStatement类型的参数,该参数是对映射信息的封装,用于存储要映射的SQL语句的id、参数等信息。(7)输入参数映射。(3)MappedStatement对象,该对象是对映射SQL的封装,用于存储要映射的SQL语句的id、参数等信息。这种方法在参数不多的情况还是比较直观的,(推荐使用)。
2024-09-23 08:51:58
970
原创 Redis的缓存问题
这时缓存像是被击穿了一样,称为缓存击穿现象。,通过使用布隆过滤器、缓存空值、数据预加载和设置合适的限流和防护措施等解决方案,可以有效地应对Redis缓存穿透问题,保护后端系统免受过多无效请求的影响,提高系统的稳定性和性能。Redis缓存穿透问题是指恶意或异常的请求通过缓存层直接访问后端系统,绕过缓存,导致大量请求直接落到后端数据库上,造成数据库负载过大甚至崩溃的情况。Redis缓存雪崩问题是指在缓存中大量的键同时过期或失效,导致大量请求直接落到后端数据库上,引起数据库负载剧增,甚至导致数据库崩溃的情况。
2024-07-23 16:42:58
598
原创 了解document
任何一个节点元素也可以调用 getElementsByTagName() 方法,从而得到其内部的某种标签名的元素节点。某个节点元素也可以调用 getElementsByClassName() 方法,从而得到其内部的某类名的元素节点。querySelector() 方法只能得到页面上一个元素,如果有多个元素符合条件,则只能得到第一个元素。所谓 “访问” 元素节点,就是指 “得到”、“获取” 页面上的元素节点。即使页面上只有一个指定标签名的节点,也将得到长度为 1 的数组。方法的功能是通过标签名得到节点数组。
2024-07-18 11:10:04
606
原创 数据库事务的概念和特性
事务是把业务看成可执行的序列,事务保证所有业务序列都正确执行,然后才进行事务提交,事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果发生异常,则执行事务回滚,保证数据库的数据不变.当业务需要对数据库中的一张或者多张表中的多条数据记录产生影响( insert / update / delete )时, 为了保证数据的安全,这时就要考虑事务.记录了数据库变化的每一个动作,数据库在一个事务中执行一部分操作后发生错误退出,数据库即可根据重执行日志撤销已经执行的操作。
2024-07-08 09:38:25
381
原创 如何在IDEA上加载MySQL驱动
把jar包添加到项目里,类似eclipse的add to build path功能,快捷键:Ctrl+Alt+Shift+S,弹出图示菜单。选择你想要加载MySQL驱动的模块,创建一个目录,用来存放MySQL的驱动包,类似eclipse的lib目录(名字可以任意取)。或者通过如下链接在maven中央仓库搜索connector Java找到适合自己的版本下载(记住驱动包下载的位置)。找到要添加到的模块,选择:JARs or directories。首先要先下载驱动(可以通过下面的链接找到自己的版本下载)
2024-07-01 20:32:58
2498
原创 类加载的过程
确保Class文件字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身安全。负责为类的类变量(被static修饰的变量)分配内存,并设置默认初始化值。使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。根据程序员通过程序制定的主观计划去初始化类变量和其他资源。作用:负责将.class文件(存储的物理文件)加载在到内存中。(本类中如果用到了其他类,此时就需要找到对应的类)访问类或者接口的类变量,或者为该类变量赋值。创建类的实例(对象)在这个类加载到内存中。
2024-06-17 20:35:26
203
原创 双亲委派机制解读
它的基本思想是,当一个类加载器试图加载某个类时,它会先委托给其父类加载器,如果父类加载器无法加载,再由当前类加载器自己进行加载。如果类没有被加载,然后依次委派给父类加载(父类加载时会判断该类有没有被自己加载过),如果父类加载器能够成功加载,则直接返回。这一过程一直持续到顶层的启动类加载器,否则依次由子类加载器尝试加载,通过这种逐级委派的方式,保证了类加载的有序性和唯一性。1.启动类加载器(Bootstrap Class Loader): 负责加载Java的核心库,是最顶层的类加载器,通常由C++编写。
2024-06-17 20:00:21
243
原创 理解String、StringBuilder和StringBuffer
①、String类被final修饰,不能被继承;②、String底层是通过char类型的数据实现的,并且被final修饰,所以字符串的值创建之后就不可以被修改,具有不可变性;③、String实现了Serializable和Comparable接口,表示String支持序列化和可以比较大小。
2024-05-27 10:03:14
417
原创 Java基础——类与对象
类的组成是由属性和行为两部分组成在类中通过成员变量来体现(类中方法外的变量)在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)① 定义类② 编写类的成员变量③ 编写类的成员方法// 属性 : 姓名, 年龄// 成员变量: 跟之前定义变量的格式一样, 只不过位置发生了改变, 类中方法外int age;// 行为 : 学习// 成员方法: 跟之前定义方法的格式一样, 只不过去掉了static关键字.System.out.println("学习");
2024-01-22 19:45:16
876
原创 面向对象练习
定义一个抽象类Person,有name,age,sex三个属性,创建构造函数,给这三个属性赋值,重写打印描述信息方法,打印三个属性值;这个类中有两个抽象方法work和hello;定义两个子类Teacher,Student;教师的work实现是:教书育人,hello实现是:“同学好”;学生的work实现是:认真学习,hello实现是“老师好”。
2024-01-22 09:05:29
398
原创 重载和重写的区别
在子类继承父类时,子类的方法和父类的方法相同(访问修饰限制符,返回值类型,方法名,参数列表),方法体不同,这种子类的方法将父类的方法覆盖叫做重写;5、修饰不同:重载对修饰范围没有要求,重写要求重写方法的修饰范围大于被重写方法的修饰范围。4、参数不同:重载的参数个数、参数类型、参数的顺序可以不同,重写父类子方法参数必须相同。( 当两个方法的名字相同,参数也相同,但是返回值不同的时候,不构成重载 )1、定义不同:重载是定义相同的方法名、参数不同,重写是子类重写父类的方法。3、方法的返回值类型不影响重载。
2024-01-12 18:05:14
393
1
原创 JAVA数组练习
1、创建一个长度为6的int型一维数组,要求取值为1-30,同时要求元素值各不相同(提示可以使用Random来随机给数组赋值)2、创建一个char类型的36个元素的数组,前26个元素放置'A'-'Z', 后10个元素放置'0'-'9'。提示:char类型数据运算 'A'+1 -> 'B','0'+1 -> '1'使用for循环访问所有元素并打印出来。
2024-01-05 17:52:50
397
1
原创 JDK的下载
安装时一直下一步即可,但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,可以将开发相关的软件安装到一个目录下。注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。然后选择自己需要的版本进行下载,下载完成后安装。点击Download Java now。通过官方网站获取JDK。选择Products。JDK的安装目录介绍。
2024-01-02 10:07:59
593
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅