- 博客(18)
- 收藏
- 关注
原创 关于springboot自动装配的理解
这段操作中涉及到springboot自动装配原理, springboot启动会自动读取类路径下所有spring.factories文件中的配置类, 把所有bean提前注册到ioc容器, 所以我们在写代码的时候不用自己new,直接@autoward或者构造器注入就行了,
2025-11-25 19:30:33
137
原创 关于spring中ioc和aop的理解
为什么需要控制反转呢?如果没有ioc,那么就需要自己在代码中new一个对象, 这会带来非常多的问题,比如说new出来的实现类是死的,没法动态改变, 但是有了ioc,就能通过定义一个接口(接口不用new),让spring自动注入接口的实现类,这样使用方就无需关心到底怎么实现的。aop和ioc是相辅相成的,aop动态代理生成的java对象本来是不存在的,也就没法在编码阶段就new出来, 所以动态代理出来的对象只能让spring去动态注入。aop 面相切面变成,能够动态的生成代理对象来增强目标方法。
2025-11-23 20:20:01
114
原创 为什么编程语言需要《异常》这种机制?
RestControllerAdvice 能够处理全局的异常, 只要有异常就通通抛给这个类去处理 , 这样方法就不必自己写处理逻辑了。有异常就抛出异常不往下执行了, 相当于 if(xxx==异常){ yyyy;当初我学编程的时候在想既然都预料到代码有错误了为什么还要捕获异常或者抛出去?try catch处理异常就和条件判断一样, 都是对某种情况的判断。总而言之处理异常就相当于一次条件判断, 没什么特殊的,时隔多年代码看多了写多了我终于领悟了!异常顾名思义就是一种异常状态,为什么要有异常这种机制?
2025-10-19 20:48:41
119
原创 前端->后端->数据库 三个不同平台如何进行数据类型转换???
但是我们有很多的枚举类型都需要考虑类型转换这个问题,按照上述思路,我们需要为每个枚举类型都定义一个Converter,并且每个Converter的转换逻辑都完全相同,针对这种情况,我们使用ConverterFactory。其对枚举类型的默认处理规则也是枚举对象实例(ItemType.APARTMENT)和实例名称(“APARTMENT”)相互映射。等等,其中也包含枚举类型,但是枚举类型的默认转换规则是枚举对象实例(ItemType.APARTMENT)和实例名称(“APARTMENT”)相互映射。
2025-10-18 22:18:57
780
原创 volatiled详解和synchronized对比
可见性:对于共享变量的修改立马从私有内存刷新到主内存中,以保证对其他变量的可见。例如volatile和synchronized搭配使用的多线程下的单例设计模式。synchronized保证了可见性和原子性。volatile保证的可见性和有序性。有序性:操作序列不可被重排序。原子性:操作不可被分割。
2025-10-07 20:24:00
159
原创 JUC中关于可见性和有序性的问题
两阶段终止模式的volatile改进。·有序性-由VM指令重排序优化引起。·happens-before规则。·可见性-由VM缓存优化引起。本章重点讲解了JMM中的。同步模式之balking。
2025-10-07 17:24:41
104
原创 JUC编发编程笔记
的Wait Set(等待集合)中选择一个线程(假设为线程B)将其唤醒。如果有多个线程在等待,则选择哪一个取决于JVM的实现(不保证公平性)。:释放锁后,在Entry Set中的所有线程(包括被唤醒的线程B)会一起竞争获取锁。如果线程B竞争到了锁,那么它就会从之前调用。:被唤醒的线程B会从Wait Set中移到Entry Set(同步队列)中,此时线程B的状态由。:线程A在退出同步代码块(或同步方法)时释放锁。,因为它在等待锁(线程A还没有释放锁)。,当前线程A已经持有了。
2025-10-06 16:58:31
164
原创 韩顺平springmvc(上下)
mvc分别对应模型视图控制器, 模型其实就是数据,视图就是页面,控制室就是control方法,现代的前后端分离项目都是只返回json数据,交给客户端进行渲染, 前端发起ajax请求获取数据。3,请求参数的封装(这个在sb中还会学)需要在后端渲染视图再返回。2.手动实现MVC流程。传统的mvc开发就是。
2025-09-06 11:55:18
221
原创 韩顺平Spring(下)
(前置知识: 要想实现aop需要知道BeanPostProcessor, 在Spring项目中,有个 BeanPostProcessor 接口,如果一个类实现了这个接口,那么这个类就会在bean创建前后触发其实现的before和after方法。)如果某个类被代理, 那么spring底层就会在after方法中创建这个类的代理对象(通过Proxy.newProxyInstance这个method创建), spring容器存放的就是这个类的代理对象而不是原对象。后面讲了一下通过注解创建事务。
2025-09-05 17:06:10
200
原创 花了3天时间看完了韩顺平的Spring(上)有所感悟
Spring里面有一个超大的容器,ApplicationContext是spring上下文对象,里面有一个BeanFactory对象,BeanFactory里面有一个singletonObject对象,里面存放着被@component@controller@service@mapper注解的类对象,学了一些实现aop的注解, aop有前置通知,返回通知,异常通知,后置通知,环绕通知,分别对应不同的注解, 还有切入点表达式,后面学了动态代理, 随后引出了aop, 使用aspectj框架完成aop编程,
2025-09-02 22:28:11
123
原创 为什么我学完springboot后又返回去学javaweb和javase?
浏览器和服务器是通过HTTP协议交换数据的, 黑马竟然不讲网络编程?我并非贬低黑马的课, 黑马毕竟是培训班,追求高效率的培训出能上班的程序员,所以有些能提升功法的底层知识黑马没时间讲, 而这些知识就能把高级程序员和码农区分出来, 所以大家既然把程序员当做一份职业那么就不要嫌麻烦,底层知识越扎实那么框架你用的就越得心应手,而且以后出现新的技术你也能更快上手。看完黑马的我写代码的时候有些东西我也不知道为什么要这样做, 看别人这样做能有什么样效果我也就这样做了, 总是觉得这些技术很神秘。
2025-08-30 16:19:15
214
原创 Docker内容器A如何访问容器B
2.Docker内容器之间通过容器名字访问ip , ip地址=容器名。1.首先得保证容器A和容器B在同一个网络中,
2025-08-01 00:14:39
154
原创 如何在Docker内访问宿主机的ip?
Docker容器内Java程序访问宿主机MySQL的方法:由于Docker容器网络隔离,localhost指向容器自身而非宿主机。解决方案是使用宿主机真实IP(通过ipconfig获取)替代localhost,即Java程序应连接宿主机IP:3307而非localhost:3307。这样容器内部程序就能通过宿主机IP访问外部服务,突破网络隔离限制。该方法同样适用于容器内访问宿主机其他服务的情况。
2025-06-29 19:06:33
706
原创 【无标题】
int转string通过 ostringstream 转换这是一种通过字符流的方式将整数转换成字符串,这种方式在C++11之前也可以使用string 转 int。
2023-03-14 11:30:34
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅