- 博客(36)
- 收藏
- 关注
原创 【无标题】
入参格式必须是<request></request>格式,否则解析不了。确定xml格式-->入参有哪些参数。将入参信息配置到入参表里。
2024-11-21 22:42:31
262
原创 匿名内部类的理解
这个知识点困惑我很久,前几天面试的时候也问到了,没回答出来1.有一个接口,且含有一个抽象方法(通常情况我们不会写abstract关键字,冗余的)2.然后有一个外部类(AnonymousDemo),外部类里面有一个成员方法callInner()3.匿名内部类在callInner()方法中实现,类似于成员内部类使用方式就是在callInner()方法中new Dao(接口名),重写Dao接口里面的shhow()方法,并且显示的调用show方法进行回调。这部分代码负责创建匿名内部类的实例。
2024-10-31 18:15:40
522
原创 阻塞队列/生产者消费者问题
回到刚开始的疑惑我已经明白,如果队列为空,出队列需要阻塞,这里的意思是,队列为空-->队列中没有资源,出队列需要阻塞-->想从队列中拿到资源,需要阻塞等待,而不是一开始以为的,要从一个没人的通道穿过,既然通道为空,就不需要等待的情况(完全考虑错了)。
2024-10-29 17:00:49
318
原创 面试简要介绍ThreadLocal
ThreadLocal有一个内部类ThreadLocalMap,key是ThreadLocal对象,值是Entry对象,并且ThreadLocalMap是每个线程私有的。但是ThreadLocal也会产生一些问题,比如说内存泄漏, 由于 ThreadLocal 是弱引用,但 Entry 的 value 是强引用,因此当 ThreadLocal 被垃圾回收后,value 依旧不会被释放,产生内存泄漏。
2024-10-26 15:40:45
149
原创 面试简要介绍hashMap
hashmap的数据以键值对的形式存在,如果两个元素的hash值相同,就会发生hash冲突,被放到同一个链表上--->如何解决hash冲突--->再hash法,即当发生hash冲突时,使用另一个哈希函数对键进行再次哈希,以确定下一个位置。在jdk8之后,链表超过8会转化为红黑树,如果当前数据/数据总容量 > 负载因子,hashmap就会进行扩容,初始化容量默认是16,默认加载因子是0.75,该数据是通过泊松分布数学计算得出的。hashmap的数据形式-->键值对-->hash冲突-->解决方案。
2024-10-26 15:19:59
457
原创 静态/动态代理详解,一次性看完再也不会搞不清!
张三不善交流一直找不到对象,他的父亲张老三为其进行安排相亲,此时张老三就是张三(目标对象)的代理对象。但是张老三不会给其他人安排相亲,此时出现一个职业叫“媒婆”,她会给各种人安排相亲,此时“媒婆”就相当于动态代理对象。当我们有N个业务目标对象的时候,就需要N个静态代理对象,这样不利于我们业务的扩展。该代理对象需要我们手动去创建,并且一个代理对象只能服务于一种业务类型的对象。JDK动态代理是实现了被代理对象的接口,CGlib是继承了被代理对象。2.重新生成一个新的类(代理类),实现被代理类的所有接口方法。
2024-10-25 15:17:52
296
原创 Spring-SpringMVC-SpringBoot理解
由于SpringMVC配置繁杂使用起来很麻烦,SpringBoot相当于一个脚手架,将最基本最核心的开发功能进行整合,开发起来更加方便,只需要配置yml,properties配置文件即可。这两个配置文件包含所有配置项。SpringMVC只是Spring的一个模块module,属于Spring框架中WEB层的一部分。Spring是一个完整的框架,能够解决全栈的问题,核心是IOC控制反转和AOP面向切面。即SpringMVC归属于Spring,不是一个独立的框架。
2024-10-22 20:27:09
349
原创 CAS详谈---无锁的锁机制
两个线程都去争抢,如果线程A抢到了时间片,将old value与资源对象的状态值进行compare比较发现一致,于是将牌子(状态值)swap为new value,线程B慢了一步,比较发现状态值已经被改为了1,和old value不一致,放弃swap操作。,并且会配置自旋次数防止死循环,如果在自旋的过程中发现牌子状态值变成了0,则会再次去争抢约会机会,如果线程B耐心耗尽(配置的自旋次数),则会放弃,不再打扰。虽然该机制称为乐观锁,但并不恰当,因为并没有用到锁,而是无锁的同步机制。
2024-10-18 19:02:33
449
原创 八股面试3(自用)
每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但它有一个别名叫做Non-Heap,目的是与Java堆区分开来。虽然类也是引用数据类型,final可以修饰引用数据类型,但是不能修饰类。对于基本数据类型,传递的是值本身,即当函数参数传递时,实际上是值的一个副本。修饰的是引用数据类型(如对象或数组)时,它意味着这个引用本身不能被改变,也就是说你不能让。类,接口类型,数组类型,枚举类型,注解类型,字符串String型。
2024-10-17 17:31:02
1107
原创 八股面试2(自用)
MyBatis的一级缓存是基于SqlSession的,也就是说,在一个SqlSession内部,如果多次查询相同的数据,MyBatis会首先从一级缓存中查找。,每个用户执行查询时,都需要使用sqlSession来执行,为了避免每一次都去查询数据库,mybatis把查询出来的数据缓存到sqlSession的本地缓存里面,后续sql如果命中缓存,就可以直接从本地缓存中读取数据。相当于 ArrayList 的翻版,是长度可变的数组,Vector的每个方法都加了 synchronized 修饰符,是线程安全的。
2024-10-17 14:45:26
1291
原创 面试八股(自用)
序列化是指将java对象转化成字节流的过程,反序列化是指将字节流转化成java对象的过程。当java对象需要在网络上传输 或者 持久化到存储文件中,就需要对java对象进行序列化处理。
2024-10-14 19:25:10
964
原创 [已解决]npm install报错
想执行文件夹下的npm install,通过以及cmd进入,都会报错权限不够如下报错(哪一张不清楚,只知道是权限不够导致的)
2024-09-26 15:09:34
708
原创 MQ(RabbitMQ)笔记
对调用结果不关心,对性能要求高,响应时间短--->异步调用。时效性要求高,需要立刻得到结果进行处理--->同步调用。
2024-09-16 13:31:01
462
原创 异常解决Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Reque
API用的list.selectOne(这里的api指的用MyBatisPlus的的方法,而不是自己在XML里写的Sql的意思),这个方法如果查到两个就报错,即数据中某一条数据重复了,需要进行删除,只能有一条。
2024-09-05 14:29:29
853
原创 苍穹外卖笔记----2024.07.31
需求分析:说明书,产品原型设计:UI设计,数据库设计,接口设计编码:项目代码,单元测试测试:测试用例,测试报告上线运维:软件环境安装,配置前后端分离,Nginx负责前端(如登录页面),idea的Tomcat服务器启动负责后端(如是否能登录成功)主要注重后端开发,前端代码已打包,通过nginx运行起来即可完成搭建。
2024-08-01 16:14:40
1311
原创 Nginx学习笔记
Nginx可以当作一个web静态服务器,来部署静态资源先准备好一个html文件将其上传至Nginx根目录再将该文件拷贝至html目录启动nginx输入路径即可默认端口80,可以不写(可以在配置文件中更改)反向代理正向代理本次示例:192.168.64.135 反向代理服务器192.168.64.136 web服务器配置完成之后需要重新加载跳转成功。
2024-07-30 16:00:36
309
原创 读写分离笔记
提前准备好两台服务器,分别安装Mysql并启动服务成功(systemctl status mysqld查看mysql状态)主库Master(虚拟机ip地址,已经更改为静态ip地址):192.168.64.134从库Slave:192.168.64.xxx (windows IP地址)192.168.64.135只需导入坐标即可。
2024-07-28 15:59:33
478
原创 com.alibaba.druid.pool.DruidDataSource:{dataSource-2} init error(数据库驱动问题)
而且这两个数据源是虚拟机中的,因此要看虚拟机的驱动版本来判断是否要加cj!mysql驱动5的版本不能加cj!虚拟机的版本是5,因此不能加cj。
2024-07-28 14:54:25
661
原创 Slave_IO_State: Connecting to master主从复制
当我在执行这段sql语句时,总是出现连接不成功的问题。是数据库的密码root,结果这里的密码指的是创建的。(该密码是从弹幕复制过来的因此也就没注意)了(被自己蠢哭了),我一直以为。案例:黑马瑞吉主从复制篇。经过反复思考,原来是。修改之后也就成功连接。
2024-07-27 19:37:17
308
原创 瑞吉外卖项目优化---专注缓存优化
redis缓存可以理解为,当第一个人来查菜品数据时,先从redis取缓存数据,如果没有,则查数据库,然后将取到的数据放入缓存中,后面的人再来查这个数据时,就直接返回缓存数据。1.改造DishController的list方法,先从redis中获取菜品数据,如果有则返回,无需查询数据库,如果没有则查询数据库,并将查询到的数据放入redis。3.在服务端UserController中的login方法中,从redis中获取缓存的验证码,如果登录成功则删除redis中的验证码。对象,用于操作redis。
2024-07-23 15:41:02
1450
原创 黑马Redis学习笔记
非关系型数据库关系型数据库将数据存储在表中,这些表之间可能存在,比如外键关系,并且可以通过sql语句操作这些关系。没有表的概念,数据往往以键值对的形式存储,并且数据和数据之间没有关系,即没有外键这种概念,并且操作数据库不能使用sql,只能使用自己的相关命令。Nosql数据库不是取代关系型数据库,而是对关系型数据库的补充。
2024-07-21 23:48:52
1917
原创 Cannot find a valid baseurl for repo: base/7/x86_64问题解决
简单来说就是,要使用yum就得更换yum源,要想使用yum就得安装wget,但是没安装yum就没法使用wget,于是,我运行下面这个代码肯定是不成功的。接着就可以去运行yum install vim和yum install wget啦。在网络和DNS都没有问题的情况下,我一开始进入了如博主所说的死循环,纠结了很久。但是当你运行下面这个,你就会发现,问题就解决了。
2024-07-16 22:49:43
363
原创 黑马Git学习笔记(在更)
这些文件的状态会随着我们执行Git的命令发生变化是安装文件是从远程仓库clone克隆下来的是通过命令git init初始化创建的仓库。
2024-07-11 14:18:31
316
3
原创 瑞吉外卖遇到的问题-----修改前端代码一定要做的事
这个问题困扰我很久(),明明代码和黑马老师的一致,但是却仍然出错,一开始看到弹幕说要清除缓存,我没在意(),后面偶然想起删除target文件然后重新试了一遍,仍然没有起到想要的效果,于是我又想起弹幕清除缓存,最后在此操作下成功实现。(front)和!即使你代码没问题,也会因为之前的错误报错,没有起到更新。
2024-07-07 00:17:18
977
原创 getOne和getById的区别
getOne方法通常用于根据某种查询条件(通常是一个Wrapper对象)从数据库中检索一个对象。这个方法可能会返回一个符合条件的对象,如果数据库中没有符合条件的对象,或者出现了某种错误,那么可能会抛出异常或者返回null(取决于具体的实现)。常见用法是结合getById方法则更加简单直接,它通常用于根据主键(ID)从数据库中检索一个对象。你只需要传入一个主键值作为参数,然后getById方法会返回与该主键对应的对象。如果数据库中没有找到对应的对象,或者出现了某种错误,那么同样可能会抛出异常或者返回null。
2024-07-06 19:47:31
720
原创 Java8之后的方法引用和方法调用
你是在告诉 MyBatis-Plus:在生成的 SQL 查询中,我想比较 (Dish::getCategoryId)成立再执行后面 Dish::getCategoryId,dish.getCategoryId()Dish::getCategoryId是方法的引用,这是数据库中的。字段的值是否等于(dish.getCategoryId())dish.getCategoryId()是方法的调用,是从特定。提供的值则是你想与数据库中该字段的值进行比较的值。字段在Java代码中的“引用”或“标识”
2024-06-29 15:45:02
268
原创 注解(持续更新)
将属性所对应的字段作为主键 value属性用于指定字段 当只有value属性时 value可以省略不写 typer属性用于指定主键策略 雪花算法(默认) 自增(数据库也要设置为主键自增)
2024-06-29 15:29:53
301
原创 功能实现的流程-准备工作-归纳
注解:@RestController,@RequestMapping("/路径"),@Sl4j。注入:@Autowired private XxxService xxxservice;继承:ServiceImpl<xxxMapper(接口), xxx(实体类)>实现:implements xxxService。命名:xxxService。命名:xxxServiceImpl。继承:IService<实体类>命名:xxxController。命名:xxxMapper。注解:@Service。
2024-06-16 17:52:30
262
原创 springboot-bug-java.sql.SQLSyntaxErrorException: Unknown column ‘is_deleted‘ in ‘field list‘
要么将数据库加上和isDeleted匹配的字段,要么将这个属性给注销掉,即可解决问题。isDeleted这个字段在数据库中不匹配(或者不存在)
2024-06-14 16:51:20
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅