- 博客(22)
- 收藏
- 关注
原创 Spring
Qualifier:结合@Autowired实现根据名称注入,类必须有名称(value)包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类。重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径。重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径。@Configuration:定义在类上,表示这是一个配置类。@Bean:将方法的返回值让IOC管理,使用在配置类的方法上。
2024-08-25 21:19:25
1036
1
原创 MyBatis
useGeneratedKeys设置为true,keyColumn - 主键的列名 keyProperty - 主键对应的属性名。mapper映射配置文件在resource目录下的相对位置和mapper接口在java目录下的相对位置保持一致。#{}中的占位符和map中的key对应,获取key对应的value作为参数值。Mapper映射配置文件 - 定义了和抽象方法对应的sql语句(.xml)parameterType和mapper接口抽象方法参数的返回值类型一致。id和mapper接口的抽象方法名一致。
2024-08-23 22:32:01
962
原创 Spring概述
如果引入了jar但不指定版本,则版本为dependencyManagement声明的版本。指定当前项目的父工程<parent></parent> - 继承了父工程中的所有配置。如果声明的版本不合适,就要在导入jar的位置声明需要的版本。springboot:简化传统的三大框架的开发。声明相关jar包的版本,没有导入作用。banner:项目启动时显示的txt。starter:jar包+配置。什么是框架:软件的半成品。
2024-08-23 22:18:02
325
原创 JavaSE - 多线程与网络编程
System.out.println(Thread.currentThread().getName() + "销售第" + no + "张票");//一会true一会false的?:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示, 数之间用冒号。//创建连接套接字 - 表示有客户端连接。}//currentThread --获取当前线程的引用。应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。1)标识进程,不同进程有不同的端口号,是一个16位的整数。
2024-08-08 08:52:25
1051
原创 JavaSE IO流
System.out.println("是否隐藏" + f1.isHidden());System.out.println("是否可读" + f1.canRead());System.out.println("是否是文件" + f1.isFile());System.out.println("是否存在:" + f1.exists());System.out.println("文件名" + f1.getName());System.out.println("文件大小" + f1.length());
2024-08-08 08:51:04
618
原创 JavaSE(HashSet-异常)
元素添加过程:先调用hashCode()得到一个hashCode值,通过哈希函数的转换得到在散列表中的索引。如果索引对应的桶或者槽里没有元素就直接添加,如果有元素就会出现散列冲突,处理冲突:遍历所有的桶或者树,用equals()判断不相等则添加,相等则不添加。抛给上层(调用者) --> 抛给main() --> 抛给JVM --> 程序崩溃。[修饰符] 返回值类型 方法名(参数列表) throws 异常类型1,异常类型2{添加相同key值的对象会被后来的替换,即相同key的键值对只能有一个。
2024-07-31 21:03:13
220
原创 JavaSE集合
充分利用不连续空间,最后一块地址是null,查询效率低,增删快,适用增删多的场合,特别是在头和尾增删元素的场合,线程不安全。,查询效率高,增删慢,通常用在需要频繁查询/获取元素的场合,线程不安全(不能用在多线程场景下),不能用于多线程场景下。System.out.println("JavSE的位置:" + list.indexOf("JavaSE"));
2024-07-31 19:52:34
426
原创 JavaSE常用类2
/LocalDateTime --> 特定格式的字符串 yyyy-MM-dd HH:mm:ss。//(除数,保留几位小数,进位的方式) //ROUND_HALF_UP是四舍五入。//LocalDateTime --> 特定格式的日期时间字符串。//特定格式的日期时间字符串转换成LocalDateTime对象。//使用format方法将Date对象转换成特定格式的字符串。//LocalDateTime --> 特定格式的字符串。//特定格式字符串 --> LocalDateTime。
2024-07-31 19:51:44
354
原创 JavaSE常用类1
作用:在object类中和==的第二个作用相同,判断两个对象是否是同一个对象/判断两个引用是否指向同一个对象。Arrays.sort()默认使用了自然排序的规则金总排序,要求自定义类必须实现自然排序的规则。2)如果使用自动装箱,首先从常量池中获取对象,如果不在常量池中就创建新的Integer对象。范围内的所有的Integer类型的对象,这个数组就是Integer的常量池。解决:设计类的属性时,如果是基本数据类型,要用对应的包装类。1)什么时候使用定制排序:已经定义好的类无法修改代码的时候。
2024-07-27 16:56:10
633
原创 JavaSE 三个修饰符
什么是抽象类:被abstract修饰的类什么样的类应该被定义为抽象类1)被当成父类2)不会创建对象创建子类:alt+enter实现抽象类作用1)可被子类继承,提供共性属性和方法2)可声明为引用,更自然地使用多态抽象方法?被abstract修饰的方法ps.抽象方法没有方法体什么样的方法要被定义为抽象方法?1)需要这个方法,但是难以设计方法体2)原则:1)如果一个类中存在抽象方法,这个类也应当被定义为抽象类2)如果一个类被定义为抽象类,那么这个类的子类就要重写所有的抽象方法。
2024-07-27 16:48:49
468
原创 JAVASE(继承中的super和this-多态)
一、super代表父类的引用,用于访问父类的属性、方法、构造器1.基本语法(1)super()可以访问父类的属性,但不能访问private,语法super.属性名(2)可以访问父类的方法,不能访问私有方法,语法super.方法名(参数列表)(3)可以访问父类构造器,语法super(参数列表),只能放在构造器第一行,只能出现一行,与this不能同时出现2.super的便捷之处(1)分工明确,父类属性由父类初始化,子类属性在子类初始化。
2024-07-27 16:46:50
747
原创 JAVA初学(包-继承)
(1)Son son继承Father,Father继承Grandpa,Grandpa继承Object,先在方法区加载Object类、Grandpa类、Father类和Son类并有继承关系。8.继承:当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法。(6)super()和this()都必须在构造器的第一行,因此不能共存在同一个构造器。包的作用: (1) 区分名字相同的类 (2)很好地管理类 (3)控制访问范围。
2024-04-14 21:49:51
829
3
原创 JAVA初学5(方法-作用域)
main栈: f(5),返回f(4)*5,调用f();新开栈f(4)*5,调用f();新开栈f(2)*3,新开栈f(1)*2;test200栈(原本Person p指向main的p.age所在的对象) new一个person,指向堆一个新的person对象,与main里p.age所在对象的联系断开 p.age=99。PS:a.m1()在void main(String[] args)被调用时,先输出“m1()被调用”,再执行并输出hi(),再返回void m1()
2024-03-17 23:47:26
1009
1
原创 JAVA初学4(类与对象-方法)
访问修饰符:控制对象的访问范围,如public,private,默认,protected。//属性一般是基本数据类型,也可以是引用数据类型(对象,数组)3.内存对象存在形式:String在常量池,基本数据类型在堆。(1)加载类信息(属性和方法信息,只会加载一次)4.属性定义:访问修饰符 属性类型 属性名。堆:存放对象(Cat cat,数组等)(2)在堆中分配空间,进行默认初始化。//属性不赋值,则有默认值,同数组。(3)地址赋给p,p指向对象。//先创建对象,然后调用方法。方法区:常量池,类加载信息。
2024-03-03 18:42:26
390
原创 JAVA初学3(break语句-数组)
3.return语句:return用在方法表示退出方法,用在main语句表示退出程序。8.数组赋值:引用传递,赋的值是地址,赋值方式为引用传达。16.创建二维数组{{0},{1,1},{2,2,2}}1.break输出1-100顺序相加大于20的当前数。用break判断能否成功登录。6.循环输入5个数,并输出。2.continue语句。12.数组扩容循环添加。
2024-02-03 20:06:51
428
1
原创 JAVA初学2(运算符-多重循环)
(1)短路与(&&):第一个条件为false,不判断第二个,结果为false,效率高。例:2&3先得到2和3的补码,补码相与结果为补码,由补码得到原码,原码对应的为答案。(1)短路或(||):第一个条件为true,不判断第二个,结果为true。选择结构可以没有else,都不符合条件则不输出(没有执行入口)符号位0为正数,1为负数,0的反码、补码都是0。需要导入java.util.Scanner。(2)逻辑与(&):都要判断,效率低。(2)逻辑或(|):两个条件都要判断。异或:相同为假,相异为真。
2024-01-24 18:14:01
470
1
原创 操作系统调度算法
算法公平,算法实现简单,对等待在长作业后的短作业不利,不回导致饥饿。时间点上剩余时间最短的直接抢占,最短的平均等待时间、平均周转时间。2.(1)(非抢占式)短作业有限SJF:最短的作业优先服务。(2)最短剩余时间优先算法SRTN(抢占式短作业优先)响应比=(等待时间+要求服务时间)/要求服务时间。时间片太大,时间片轮转会变成先来先服务。带权周转时间=周转时间/运行时间。周转时间=完成时间-到达时间。等待时间=周转时间-运行时间。1.先来先服务FCFS。3.响应比优先HRRN。
2024-01-22 10:52:46
440
原创 vue3常见语法及指令
4.v-if:控制元素是否渲染,当条件为假时,vue3会在页面对应位置渲染一个v-if注释。(1)用法:在script声明一个变量可以直接在<template>使用,{{ }}6.v-show:控制元素的显示与隐藏,不会使dom消失。8.v-bind:绑定元素属性,可简写为":xxx"5.v-else if:else if块。(3)算术运算、比较运算、逻辑运算。2.v-text指令:用来显示文本。(2)可以编写条件运算表达式。10.:class使用对象。9.:class使用数组。7.v-for:遍历。
2024-01-16 20:48:17
646
1
原创 JAVA初学
12.基本数据类型(byte,short,int,long,char,float,double,boolean),引用数据类型(类,接口,数组)(3)文档注释:javadoc -d 文件夹名 -xx -yy 文件名.java (-d是固定用法)3.运行:code所在文件打开cmd,编译javac 文件名.java 运行java 文件名。(byte,short)和char不会互相自动转换,转成int后可进行运算。8.注释(1)单行:// (2)多行/* */
2024-01-10 17:56:44
406
原创 离散数学-集合论
(1)真子集:任意x属于A →x属于B 析取 任意x属于B析取x不属于A。1、相对补:所有属于A不属于Bd元素,称为B对于A的补集或相对补,记做A-B。3、对称差:A、B的对称差或属于A或属于B,A圈加B,(A-B)并(B-A)二、笛卡尔积:<a,b>,a属于A并且b属于B,A叉乘B。序偶相等:a1=b1并且a2=b2....an=bn。2、包含:(1)子集:任意x属于A →x属于B。2、全集:E={x|P(x)析取 非P(x)}笛卡尔积对并、交运算满足左、右分配律。2、绝对补:A关于E的补,~A。
2023-11-26 23:41:09
788
1
原创 信号量整理
1、供应者提供一组材料:吸烟者吸烟 信号量1offer1=0 20ffer2=0 30ffer3=0。//对筷子互斥信号量。//第一个进程读之前加锁。//最后一个进程读完解锁。ps:哲学家编号i=0:4,与哲学家左手边筷子编号相同,右手边筷子(i+1)%5。//各进程互斥访问count。//增加 一个空闲缓冲区。//消耗一个空闲缓冲区。//互斥访问count。//访问 的进程数+1。//保证对count互斥访问。
2023-11-25 22:32:41
759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅