- 博客(21)
- 收藏
- 关注
原创 Java学习Day20
1.创建一个vite项目,先准备好一个文件夹用来存放你的Vue项目,在这个文件夹处点击导航栏输入cmd,使用npm create vite@latest命令创建项目。先在project name后写上项目的名称,回车后用上下键选中Vue,最后选择项目编写语言,回车项目就创建好了。(5)router/index.js设置了一个 Vue Router 实例,用于定义应用的路由配置。2.打开vscode,选择打开文件夹,将刚才创建的项目文件选中,打开后就有了基本的Vue结构。)来开发Vue项目的页面组件。
2024-08-07 19:58:08
952
原创 Java学习Day19
4- 请求对象:请求转发多页面共享一对request和response,可以使用request共享数据;JSP中的九大内置对象有:request,response,session,application,page,pageContext,config,out,exception。2.在一对多映射中,一个表中的一行数据与另一个表中的多行数据相关联。5. 聚合函数 COUNT(),SUM(),AVG(),MIN(),MAX()order by在排序时,可以使用字段名,也可以使用字段下标,下标从1开始。
2024-08-06 20:11:23
863
原创 Java学习Day18
对象关系映射(ORM,Object-Relational Mapping)是一个技术或设计模式,用于将对象模型(面向对象编程中的类和对象)映射到关系型数据库中的数据表和记录。创建对应的Controller类,对类使用@RestController注解,在类中使用Autowired注解,Spring 会自动将符合条件的 IStaffDao 实现注入到 dao 字段中。提供了丰富的功能和灵活的映射配置。映射(Mapping):映射定义了对象与数据库表之间的关系,包括字段的对应关系、表的主键、外键等。
2024-08-05 21:13:15
794
原创 雪花算法(Snowflake Algorithm)
(Snowflake Algorithm)是一种分布式唯一ID生成算法,主要用于生成全球唯一的ID,广泛应用于分布式系统中,例如在数据库中作为主键。数据中心 ID 和工作机器 ID 的管理:需要合理分配和管理数据中心 ID 和工作机器 ID,以避免冲突。工作机器ID(Worker ID): 用于标识同一数据中心下的不同工作机器,确保同一数据中心内的不同机器生成的ID也不会冲突。数据中心ID(Data Center ID): 用于标识不同的数据中心,确保在不同的数据中心生成的ID不会冲突。
2024-08-04 17:02:49
1060
原创 Java学习Day17
面向切面编程(AOP)是一种编程范式,旨在通过将横切关注点(例如日志记录、事务管理、安全性等)与业务逻辑分离来提高代码的模块化。AOP是OOP(面向对象编程)的一个补充,它允许开发者以声明方式实现关注点,而不是通过在业务逻辑代码中散布大量重复代码。AOP 通过“切面”模块化跨多个类的功能,这些功能通常与业务逻辑不直接相关。AOP主要一般应用于签名验签、参数校验、日志记录、事务控制、权限控制、性能统计、异常处理等。
2024-08-02 21:10:12
1145
原创 Java学习Day16
10.如果在 <bean> 中指定了该 Bean 的作用范围为 scope="singleton",则将该 Bean 放入 Spring IoC 的缓存池中,将触发 Spring 对该 Bean 的生命周期管理;如果在 <bean> 中指定了该 Bean 的作用范围为 scope="prototype",则将该 Bean 交给调用者,调用者管理该 Bean 的生命周期,Spring 不再管理该 Bean。DI 的基本思想是将对象的创建和管理职责从客户端代码转移到外部容器或框架中,从而解耦对象之间的关系。
2024-08-01 20:52:50
639
原创 Java学习Day15
varcher 能够存储的字节数是65535,varchar的第一个字节不存储数据,前两个字节存储数据长度,有效字节为65532,编码格式决定能够存储多少个字符(除法)类型长度最大为16383(mb4) 列的总字节长度不能超过65535,如果要存储长文本,使用TXT类型代替。整数类型 int(4) TINYINT(1) SMALLINT(2) MEDIUMINT(3) BIGINT(8)-- varchar(20) 变长的 abc占三个字符位。-- char(20)存了abc占20个字符位。
2024-07-31 19:28:22
379
原创 Java学习Day14
使用exists查询括号内的语句是否有查询结果,如果有结果,前面的语句就正常返回,如果没有结果,前面的语句就不返回数据 括号内的SQL语句可以和前面的语句没有任何关系。-外连接 left join(左表为主表)会显示左表所有的数据,右表为附表,只会显示和左表数据有关的数据。拼接(合并)查询结果union和union All,前者会去除重复的值,后者不会去重。内连接 inner join 也可以直接写为join,只显示有对应关系的数据。any和all,用在条件判断中,any指任意,all指全部。
2024-07-30 19:03:53
216
原创 Java学习Day13
</script> 标签中,并且这些标签可以放置在 HTML 文档的 <body></body> 部分。今天在做Java测试题目时,发现之前一直以为单字符就是字符类型,把“A”误认为字符类型,发现错了之后才知道在Java中字符使用‘’(单引号),字符串使用“”双引号。<button type="button" id="btn">请点击我</button>在<body></body>内部<script>
2024-07-29 19:56:06
930
原创 Java学习Day12
它决定了元素如何相对于其正常流动的位置进行定位,并影响其与其他元素的关系。子代选择器 ul > li 是 CSS 中的一种选择器,用于选择 ul 元素的直接子元素 li。这种选择器只会匹配那些直接位于 ul 元素内部的 li 元素,而不会影响任何嵌套在 li 元素内部的子元素。设置 top、right、bottom 和 left 属性会相对于元素的原始位置移动元素,但元素仍占据原本的位置。使用此值的元素不会受到 top、right、bottom 和 left 属性的影响,元素将按照正常的文档流进行布局。
2024-07-27 15:41:36
804
原创 Java学习Day11
在Java中存储了类的内容,这个内容也应该是一个对象,Java中每一个类都有一个内存,每一块内存都是一个对象,这些对象记录了这些类声明哪些属性和方法以及构造方法,Java将这些类抽象为class类。BeanInfo 是 Java Bean 规范的一部分,它提供了对 Java Beans 进行内省的机制,使开发者能够访问 Bean 的属性、方法和事件。功能:用于获取类中声明的任何字段(包括私有的 private、保护的 protected 和默认访问权限字段),不包括从父类继承的字段。
2024-07-26 20:21:50
800
原创 Java学习Day10
当使用notify()或notifyAll()方法唤醒等待中的线程时,必须持有与该线程等待时使用的对象锁相同的对象锁。如果提交的任务数超过了核心线程数,线程池可能会创建额外的线程来处理任务,直到达到最大线程数。当你提交一个任务给线程池或者使用其他的执行框架时,会得到一个 Future 对象,该对象可以用来获取任务的执行结果或者取消任务的执行。当一个线程调用对象的wait()方法时,它会释放持有的对象锁,并进入等待状态(等待其他线程调用对象的notify()或notifyAll()方法唤醒它)。
2024-07-25 20:23:23
736
原创 Java学习Day9
非公平锁指多个线程去获取锁的时候,会直接去尝试获取,获取不到,再去进入等待队列,如果能获取到,就直接获取到锁。非公平锁的优点在于其相对更高的吞吐量,因为允许某些线程获取锁的机会更高,但是其缺点是可能导致某些线程长期无法获取锁,不公平性较高。当一个线程请求锁时,如果锁当前被其他线程占用,请求线程会被放入一个队列中,排队等待锁的释放。多线程可见性问题:在多线程环境中,线程私有的缓存可能会导致一个线程修改了变量的值,但其他线程并不能立即看到修改后的值,从而引发错误的操作或结果不一致的问题。
2024-07-24 20:12:35
951
原创 Java学习Day8
BufferedReader提供了缓冲区功能,可以一次读取多个字符,减少了频繁的系统调用,从而提高了读取文件的效率。throws: throws表示有出现异常的可能性,并不一定出现这些异常 throw: throw则是抛出了异常,执行throw一定出现了某种异常。finally没有捕捉异常的功能,虽然finally里的代码一定会被执行,但由于发生了异常,所以程序异常结束。catch 异常捕捉的顺序,子类异常优先处理,父类异常后置处理。将内存对象转换成序列(流)的过程叫做序列化,这个对象必须是可序列化的。
2024-07-23 20:29:56
586
原创 Java学习Day7
时,TreeSet 将会根据这个比较器的逻辑来确定集合中元素的排序顺序。对于下面代码,456存储的是Integer类型,456大于缓存范围,所以不是同一个对象,但是在Set里面用的是重写后的equal方法,将它们视为是为一个值。key值应该是可以比较的,key值不能重复,key可以为null值(只能一个key值为null ,因为key不能重复)value可以为null,可重复。同一个TreeSet存储的类型都应该是可以比较的,默认情况下不可以存储不同类型的元素。//同样的key值会覆盖上一个相同key值。
2024-07-22 20:08:53
674
原创 Java学习Day6
它依赖于外部类的实例存在,可以访问外部类的所有成员变量和方法,包括私有的。成员内部类可以看作是外部类的一个成员,只有在创建了外部类的实例后,才能创建成员内部类的实例。匿名内部类是没有名字的内部类,它通常用于创建只需使用一次的类的实例。成员代码块是定义在类中的普通代码块,没有使用 static 关键字修饰,它会在创建对象时被执行。静态代码块是使用 static 关键字修饰的代码块,它会在类被加载时执行,且只会执行一次,即使没有创建类的实例也会执行静态代码块。//1是插入元素位置的下标,44是插入的元素。
2024-07-19 20:57:28
990
原创 Java学习Day5
(引号之间的就是字符串的值)程序中第一次使用量的形式定义“123”,会将字符串对象传入字符串常量池之后 如果再次使用量的形式使用该对象,就执行使用常量池的对象。Substring 从字符串中截取一部分字符串,括号里的参数为开始(开始和结束)位置的下标,下标表示方法和数组一样从0开始。字符串的拼接使用加号(+),加号的优先级和在基本数据类型运算中优先级一样,字符串与其他类型进行拼接得到的结果类型是字符串。split 方法分割字符串,从参数字符所在的位置进行分割,如果参数在首位,则会在左侧分出一个“,”。
2024-07-18 20:19:31
731
原创 Java学习Day4
封装后的数据类型进行比较时,有一个缓冲区,整数类型的缓冲区范围为-128~127,浮点数没有缓冲区,char类型的缓冲区是0~127。浅拷贝:被拷贝的对象的所有属性值都与原来的对象相同,而对象的所有属性引用仍然指向原来的属性所指向的内存地址。需要注意的是cloneObj == obj 返回的是false,所以使用的Object的clone()是浅拷贝。在定义基本数据类型时 int a=10;深拷贝:被拷贝的对象的所有属性值都与原来的对象相同,而对象的所有属性的引用都指向新的克隆出来的属性的内存地址。
2024-07-17 18:46:46
526
原创 Java学习Day3
不是所有的属性和方法都能访问到 ,在public ,protected(protected 子类或本包下可以访问) 或本包下的父类或子类能访问。例如定义一个Parent父类,两个继承子类SonA子类,SonB子类,分别有一个mess方法。参数列表要素:参数类型不同 ,参数的个数不同 ,参数的顺序不同(指不同类型的参数顺序)公共的 受保护的(家族性的) 默认的(本包中)私有的(只能在本类中访问)方法的重载 在一个类中方法名相同即为重载(方法名相同参数类型不同)5.可变参数可以不传(只传前面的其它参数)
2024-07-16 21:10:23
795
原创 Java学习Day2
/将a+2的值赋给a,与a=a+2在树值上相同,如果a的数据类型不是int类型,则a=a+2会发生数据类型转换。>>右移左侧补符号位 -1>>2 = -1 ,-1在二进制中用补码表示为(32位全1,首位符号位)bool&&...;按位与运算 &,将a和b转为二进制数,将二者右侧对齐,两者皆为1结果唯一,否则为0;while(){}循环 do{}while()循环 for(;位运算符进行二进制计算(&,|,~,<<,>>,>>>)赋值运算符有 = ,+=, -=, *=,/=,%=
2024-07-15 19:49:06
825
原创 Java学习Day1
/a=a++:先将a的值赋给表达式a++,然后a进行加1运算,最后将表达式的值赋给a(所以最终a的取值还是等于表达式的值,例如a=1,赋值完成后a的值为1)运行第一个java程序,通过记事本写一个简单的Hello.java程序,在存放文件的位置顶部路径处,点击输入cmd按回车进入终端。例如byte c=a+1,由于整数运算得到的是int类型,发生了类型转换,而byte的范围小于int,所以会出错。//先将a的值赋给表达式a++,再a的值加1,将表达式的值付赋给c,c的值为-112。
2024-07-14 19:12:32
778
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅