- 博客(50)
- 收藏
- 关注
原创 日记_7.14_实际开发的进步
6、var、let区别:1 var全局。2 var可以重新声明格式,let之恩能重新编辑本格式内的。比如让str变成新的str,不能让str变成int等等。const是局部,不可重申,不可分配。9、<<=是乘2的X次方 >>=除以2的X次方。两者和自身符号相反。7、let和const区别:let是局部,可重申,不可分配。3、前端没有意义的块叫div和span。5、JS中$和_下划线和doller符均被视为字母。const都不能改,这个const叫常量。2、会定位前端啦啦啦!8、**平方的意思。
2025-07-15 16:50:17
246
原创 7.4_面试_JAVA_
新来一个任务,加到最高级队列的末尾,按先来后到进行执行,如果执行时间超过了没执行完就转到第二级队列。最高级队列空了再执行第二级队列以此类推,如果这时候新来一个任务加到了最高级队列,就停止当前任务,去执行新任务。1先来服务算法:从队列中拿出最先入队的一个,一直运行,直到退出。本来是只监听一个网络连接,如果这个接口迟迟没有发送数据,会造成阻塞。4、时间片轮转:设定一个固定时间,一般20-50ms。3、响应比算法:(用响应时间+等待时间)/等待时间,算出来,所谓的学习,就是学了一个高耦合,低内聚。
2025-07-04 23:44:18
175
原创 7.1_JAVA_其他
2、JenKins:持续集成。每当我们push代码时,就会触发项目完成自动编译和打包。5、Feign是一个声明式的HTTP客户端,用于简化服务间的REST调用。1、Jenkins:上传git之后,会像脚本一样自动做很多事。6、Seata 是一个 分布式事务解决方案,用于。4、以下三个注入Bean的方式完全相同。
2025-07-01 23:33:09
151
原创 6.30_八股文_图解系统_硬件结构
什么是AOP: Java 就是一门面向对象编程的语言,在 OOP 中最小的单元就是“Class 对象”,但是在 AOP 中最小的单元是“切面”。相当于是把 Bean 实例的创建过程交给 Spring 管理,无论是通过 XML、JavaConfig,还是注解方式,最终都是把实例化的工作交给 Spring 负责,之后 Bean 之间通过接口相互调用,而实例化过程中就涉及到。容器统一管理业务 Bean,你的应用在部署、修改、迭代的时候,业务 Bean 是会侵入代码实现并互相调用的。
2025-07-01 14:26:19
787
原创 6.27_JAVA_面试(被抽到了)
如果查找某个字段的话,MYsql查询很慢,因为它是磁盘读取以及时间复杂度是On,但是我们通过索引能够大大加快寻找这个数据的速度。索引在Mysql的底层是构建了一个B+🌳,把这个字段的数据放进去了。B+树非叶节点存的数据是这个数据指向的节点的最大值。如,上图第二行第一个节点中的15指向的是第三行第一个节点的最大值15.什么样的字段需要建索引, 什么样的字段不需要?1️⃣B每个节点都存储数据,但B+只有叶子节点存储数据。它底层是通过构建B+树把建立的索引字段给纳入进去了。B树的叶子节点是指向数据。
2025-06-27 20:26:33
477
原创 6.27_JAVA_Redis(面试)
脑裂是因为主节点和从节点或者哨兵失去连接,哨兵没有及时感应到主节点存活,从而错误选举新主节点。但是当网络恢复之后,新主节点会成为真正的主节点,而旧主节点会降级成从节点。然后再从新的主节点同步数据,但是由于新的主节点啥都没写入,从而造成大量数据丢失。如果内存不够,一般在对应服务分配不同的主从Redis就可以了,一般不用集群。9、Redis最大用处:把热点数据存在redis,降低服务器压力。查询一个数据库不存在的数据,因此没法写入redis,导致每次查都要重新查增大服务器压力。RDB:定期把数据更新到磁盘。
2025-06-27 18:02:27
276
原创 6.26_JAVA_微服务_Elasticsearch
这个lambdaQuery是ItemService继承了Iservice然后Iservice中写了lambdaQuery这个在service层就可以查询的方法。,且只返回了一个对象,也不是返回的类!4、下面这个是多个文档(document),而不是一个文档。下面这个类调用的不是方法,返回的也不是类本身的对象。这个类调用的是静态的一个变量。7、看到这个算法公式的时候,我很庆幸自己学的是计算机而不是数学😭。底层原理是类可以“返回类本身(其实不是类,而是对象)”。6、ES的DSL查询分为叶子查询和复合查询。
2025-06-26 22:22:04
426
原创 6.25_JAVA_若依
3、一般类是public,方法也是public,但是字段是private。前端:1<el-select> 2写入向后端索要的 结构。8把admin模块里的CommonController的上传方法修改(单个上传)4把别人已经写好的阿里云配置类Properties和Operator客户端导入。2把url给改了,改成阿里云的url。1把阿里云的bean对象给写进来。4、修改后的若依,生成的代码直接从预览里面复制。2、若一中的字典怎么用?7、要读懂每一个字段的含义。2创建单独的阿里云模块。
2025-06-26 09:37:09
222
原创 6.24_JAVA_微服务_Elasticsearch搜索
1、FinalShell工具:单向工具,能将本地连接到虚拟机。(虚拟机连不到本地) 我们用docker建的容器比如MQ,比如ES,我们能够访问它们的WEB操作地址,都是因为前面的地址不是localhost,而是虚拟机的IP。比如ES端口是9200,本地访问localhost:9200会无法访问。但是输入:192.168.XXX.XXX:9200可以访问。我们操作也实际上是操作的虚拟机的数据,而不是本地电脑的数据。2、docker 的 jar包怎么用?3、代码404:后端还没写4、中州养老
2025-06-24 22:42:27
576
原创 热爱可抵岁月漫长
计算机入行之后是很轻松的,它不需要卖苦力,也不需要那么强的精力消耗。我之前兼职带过小学小孩,那个兼职是真的收入付出不成正比,10个小时,几乎不休息,结果忙了一天100块钱,时薪达到了10块钱🤣。比如,我今年申到了南洋理工大学的计算机硕士,这是个世界顶级大学,我想的话完全可以读博。比如,我不喜欢国女,我的薪资足够支撑我找国外的女生。那我可以买我喜欢的画笔🖌,我可以买多种多样的颜料,可以对自己的爱好不那么吝啬。我可以买更好的吉他,更好的钢琴,能让我更喜欢我的爱好,能让我更好的发展她。2.克服困难的感觉。
2025-06-24 10:52:34
199
原创 6.24_JAVA_微服务day07_RabbitMQ高级
4、导入这些Queue、Exchange这种东西的包,会让你选很多包。是消息从交换机路由到队列的关键规则。注意:error是自己定义的名字,你完全可以叫它其他名,比如my.error等。8、延迟消息:应用如:15分钟内付款。在代码层面就是:要给你取消订单,但是你不15分钟之内才给你取消。订单、付款这种处理钱的时候,尽量放到同一个方法里。防止极小概率的线程安全问题。6、 唯一消息ID是啥?3、失败重试机制:防止消费者接收不到之后,无限投递。):如何确保没得到确认的消息不被RMQ删除呢?2、消费者确认机制(
2025-06-24 08:49:02
353
原创 6.23_JAVA_RabbitMQ
是不是一个是创造对象的时候用,一个是创造完成再更改的时候用,而没有创造对象的时候没法使用set方法?核心区别:Spring可以直接实例化@Component的类,但只能实例化@Configuration中被@Bean标注的方法,1、MQ(RabbitMQ):用来管理生产者、消费者、队列、交换机(exchanges)、虚拟主机。6、生产者确认:none关闭生产者确认、correlated异步、simple同步。5、难道开着mq的时候会给后端反馈吗?13、极少极少的情况会用static,final偶尔会用。
2025-06-23 22:29:31
917
原创 6.21_JAVA_微服务
1、只有需要自己写的代码再写就行。而且大部分都是操作一些表,并非对某个工具底层原理的深入理解。3、很多工具直接拿来用就行,不需要对底层原理深入剖析。例如:这个就属于非常典型 的工具。注解就是在标记事务的起点,将来TM就会基于这个方法判断全局事务范围,初始化全局事务。8、 bootstrap.yml常与nacos配合。10、 Order翻译:除了顺序,还有订单的意思。5、Seata:要么全部成功,要么全部回滚。4、下面这个叫做注册为一个Bean。11、ByBalance:通过余额。6、nacos:注册中心。
2025-06-23 06:14:27
344
原创 6.19_JAVA_微服务
9、ServerWebExchange exchange包含:exchange.getRequest()、exchange.getResponse()、exchange.getAttributes()、exchange.mutate()10、exchange更偏向功能类。chain更多是用来链接多个要过滤的内容,比如过滤掉1、2、3、4、5就需要chain链接起来。1、跑后端的时候要把数据库跑起来,否则会报错。3、gateway:出路口。
2025-06-19 22:59:14
287
原创 6.18_JAVA_微服务
Collectors.toMap(a,b)和Collectors.toSet()/Collectors.toList()不一样.toMap是需要传入两个参数的,但是toSet、toList空参。而这不是他们的最重要的区别,最重要区别是:Map索引时时间复杂度为O(1),而List是O(n)4、Data注解:get、set、toString,但是不写无参、全参构造器。2、 set集合:不允许重复、无序。Function.identity()是指的流的数据项,也就是单个ItemDTO!
2025-06-19 09:07:21
552
原创 6.13MySQL
name建立索引,查询id和name时候不需要回表,查询效率更高。3、回表查询:回到聚集索引(id建的索引),而不是回到原数据表。service层写的简单,sql层就麻烦。聚集索引:每个id挂着一行数据。默认主键ID为聚集索引。8、sql语句中字符串要加单引号' '7、Service层写的麻烦,sql层就简单;6、MYSQL的索引默认是B+树构建的索引。中等数据量:反向索引。但全文索引一般不用,用其他形式。二级索引:下边只挂着主键id。1、MySQL索引类型。
2025-06-13 18:07:21
158
原创 6.11_JAVA_Mybaits
如果mapper返回的是Dept,xml就返回Dept,如果mapper返回的是List<Dept>,xml就返回List<Dept>#{name}, #{createTime}, #{updateTime}:来自dept对象。定义了 SQL 查询返回的每一行数据应该被映射成什么类型的对象。只有填入' or '1'='1才行,因为左右两边自带两个单引号。5、用了@Select()、@Insert就不需要再编写xml了。8、@Slf4j:自动创建log对象,可以打印信息。是“有值但为空”的字符串。
2025-06-13 15:34:32
320
原创 6.13_JAVA_中州养老
R的data是List,而不是实体类。(但注意,是:R的data,而不是R)里面的R<List<RoomVo>>究竟是啥?(列名和对象属性名直接对应),无法处理嵌套。
2025-06-13 12:00:49
153
原创 纠正网上对内外连接的错误认知
如果左表面积是50,右表面积是30,这图所示他俩交叉不可能大于30。但是实际上,数据库表左右链接是通过笛卡尔积,也就是排列组合实现的。内连接最大上限是50*30=150。左连接本质上是把客户表id的1234和右表做了笛卡尔积,再把剩余的客户表加上。左连接最本质是:先把左表的部分做了笛卡尔积。再把左表剩余的填上去。可以,其理论范围为[50-150]左右闭区间。问题:左表50,右表30,左连接可不可以超过50?
2025-06-13 10:12:08
194
原创 6.12_JAVA_若依
2、如果只用了@AllArgsConstructor,@NoArgsConstructor会不会消失?是数据库表的注释信息,主要用于生成代码时的辅助说明和前端展示。2️⃣后端:Swagger接口文档的字段说明。:自动生成表单校验规则,字段前会显示红色星号(字段在Java实体类中的变量名(驼峰命名)。:生成的实体类(Entity)会添加。字段描述:1️⃣前端 :比如用户名。若依生成的like查询是 %张%),提交时若为空会弹出错误提示。查询:表上方那个查询条件。注解,确保数据合法性。
2025-06-12 21:56:35
202
原创 6.12_JAVA后端
2、sql中的as什么时候用?在from table1 as t1 ,table2 as t2。1、左连接有没有可能出现,左表本来30数据,但是用了左连接出现比30多的情况?3、左右连接用的是on,而非where。,所以我们才能where 左=右。
2025-06-12 16:25:02
134
原创 6.10_JAVA_MySQL
其中,alter 后面可以用modify,可以用change。如果只改原来的字段长度或者字段类型,就用modify,如果是连字段名字一起改,就用change。-- 等价于 name = 'John'(精准匹配)7、关键字id是我们给的,默认从1开始,并且一般作为primary key,带有auto_increment关键字。3、update 改的是表内的内容,alter改的是表的字段。1、数据库:DATE:YYYY-MM-DD。5、MySQL中date是可以做大小比较的。unsigned:非负。
2025-06-10 20:51:10
225
原创 6.8_JAVA后端-登录login
2、@Api @ApiOperation@ApiModel()@ApiModelProperty()@ApiOperation不参与逻辑,只是注解。11、Idea数据库中Data Sources and Drivers中name是什么的名字,是数据库的名字还是。这个类的、类加载器的->获得Resource的文件作为Stream流。7、在Spring Boot中,dao层(Mapper层)中:@Mapper。10、变量和方法名都是第一个小写,第二个大写。3、impl层是实现接口的具体实现类。
2025-06-08 23:13:46
219
原创 6.6_JAVA后端
最后的return是返回给了public static String pdfToString(InputStream inputStream)方法。吐槽:黑马桌子太他妈小了,光一个电脑就快占满了。为了节约位置从而节约教室和教师数量,用的桌子很小。大概前后就50cm。一点都不舒服,不想来了!专门提取PDF 的文字类:PDFTextStripper,stripper意为剥离器。1、实体类方法传入:(InputStream inputStream)2、专门处理PDF的类:PDDocument。
2025-06-06 16:21:44
189
原创 6.2_JAVA
多对多表:《学生表》 和 《选课课程表》。第三个表只存表本身id、学生ID+课程ID。controller:接受服务器信息、调用service层,并返回相应(json)一对多表:班主任表(1)、学生表(多):学生表后面跟int的老师id。对 Mapper 返回的原始数据进行加工(如计算、合并、过滤敏感字段)表之间的关系只能用int关联,不能用string,因此!9、一对多:在多的一方加上一的一方的主键.作为外键。2、mapper:数据访问层。6、给前端返回的原则:宁多不少。但是,写的话反过来。
2025-06-02 20:39:24
315
原创 5.26_Java_若依框架
若依框架可以轻松地与其他常用技术栈集成,如MySQL、Redis、消息队列等。这使得开发者可以根据项目需求灵活地选择合适的技术组件,降低技术门槛和成本。2、上传前端步骤:1 git init 2 git add * 3 git remote add origin。1、vite.config.js里面的端口是页面的端口。此外,若依框架还集成了许多常用功能模块,如。文件上传下载、消息推送、数据字典、日志管理。1、若依是基于SpringBoot的。等,能够简化开发流程,提高开发效率。0、若依:Web开发。
2025-05-26 23:08:18
145
原创 5.25_JAVA_中州养老
9、听劝,别报黑马。正确的学习方式是先抓住最主要的,后面的细节用到了再补。8、MP:就写了一个Controller层,(Service层有时候也需要写,但是Mapper好像没有写)或者:updateWrapper:5,6,7全都更新(salary+2000)6、更新(update)也是用的QueryWrapper。9、顺序:先写Controller,再写Service,最后写Mapper。4、MyBatis-p框架是MyBatis框架的增强。5、雪花算法ID:保证多个表合成时也不冲突。
2025-05-26 09:16:23
194
2
原创 4.20 java高级_动态代理 Stream流
2、Stream流:list.stream()得到一个传送带。吧list里面的String类似传送带以上输送上去。意思是这个集合:list里面的元素都是String吗。for (String str : list)1、for (String str : list)用于。
2025-04-20 20:50:55
112
原创 4.20注解:Annotation
2、在 Java 注解(Annotation)中,如果注解中只定义了一个方法(成员变量),并且这个方法的名字是 value。@Retation:限定注解的存活时间:@1、@Target:限定注解的使用位置:@,那么在应用注解时可以省略。),则必须显式指定方法名。
2025-04-20 15:13:58
204
原创 4.18 JAVA高级 Test
1、 @Test 格式:只能用在方法上面,不能用在类上面。@After:释放资源(如关闭文件、断开数据库连接、清理临时文件等)该方法要是public void,且没有参数。@AfterClass:测试方法之后,只一次。3、@BeforeClass:测试方法之前,只一次。2、@Before:初始化测试所需的资源。
2025-04-18 11:54:49
192
原创 4.16 javaseprojectmax 异常
RuntimeException不需要抛。(如果要像Exception一样处理也行。Exception需要抛。趋势:RuntimeExcception,摒弃Exception。4、建包:com.itheima.exception。建类:ExceptionDemo。2、创建model、删掉main.java。是 Java 中用于格式化和解析日期的类。1、创建project。
2025-04-16 20:16:15
223
原创 4.1 java后端___代码块、成员/静态内部类
随类的加载而加载,只加载一次。7、局部内部类(方法内的类)——没用。static方法不能被重写。作用:每次创建对象都执行。8、匿名内部类——非内部类。可直接用类名.方法名调用。
2025-04-01 20:22:36
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人