- 博客(16)
- 收藏
- 关注
原创 层级结构和父子关系在实体中的使用
在Java中,将一个实体类的对象作为该实体类的一个属性是完全可行的。这通常用于表示层次结构或父子关系,正如你在类中所做的那样,通过声明一个属性来表示一个分类可以有多个子分类。Q:最后一个children可以这么写吗 将实体类的对象作为一部分再次作为属性来声明?A:在Java中,将一个实体类的对象作为该实体类的一个属性是完全可行的。这通常用于表示层次结构或父子关系,正如你在类中所做的那样,通过声明一个属性来表示一个分类可以有多个子分类。在你的代码中,children属性被注解为。
2024-11-12 20:26:02
617
1
原创 String类的常用方法
一、认识String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。二、String类对象的创建1.String str = "Hello";2.String str = new String("Hello");学习可用拉我的代码来look一下码云
2024-11-01 15:37:12
252
原创 mq的知识点
比如我们模拟一下抢车票的场景,用户下单高铁票之后,会进行抢座,然后再进行付款,但是如果用户下单之后并没有及时的付款,这张票不可能一直让这个用户占用着,因为你不买别人还要买呢,所以会在一段时间后超时,让这张票可以继续被其他人购买。在RabbitMQ的发布确认机制中,basic.ack(确认)可以是一条条单独的消息确认,也可以是一个确认表示多个消息都已经被成功处理。这取决于生产者如何设置和处理确认。在实际应用中,生产者通常会维护一个未确认消息的列表,并在接收到确认后更新这个列表。
2024-10-12 10:48:36
1448
原创 redis的知识
直到重建成功 其它线程就可以直接重新获得锁或者直接从缓存中获取数据(如果它们之前已经检测到了缓存已经被填充)没命中就获得互斥锁 重建redis服务。直到缓存重建完成 释放锁 进行下一步操作。客户先去redis缓存 数据名中后直接从缓存中获取 未命中再请求数据库。其它线程在重建中也是尝试获取锁 获取失败会休息一段时间重复获取。内存淘汰 当内存不足的时候自动淘汰,下次请求时再继续存入数据。请求首先还是去缓存中访问数据 命中就不说了 直接返回数据。设置过期时间 下次查询时更新缓存。缓存 数据交互的缓冲区。
2024-10-11 14:49:33
189
原创 mqtt概念及运用及项目使用(个人扫盲)
2.服务端使用 PUBLISH报文 发送应用消息给每一个订阅匹配的客户端(*这里与其说使用,说转发会更好,服务端存储客户端A发布的应用消息,如果客户端B订阅该主题,那么服务端就会发送PUBLISH报文给客户端B)2.允许服务端在发送SUBACK之前就开始发送与订阅匹配的PUBLISH报文,如果服务端收到的SUBSCRIBE报文的主题过滤器与一个现存的主题过滤器相同,那么服务器就会使用新的订阅去替换现存的订阅。a 客户端pubish消息到服务端 服务端把a客户端的消息转发给订阅了该客户端的客户端。
2024-10-10 15:05:21
505
原创 mqtt协议的使用(AI 加工)
使用Spring Boot实现MQTT协议通常涉及几个关键步骤,这些步骤涵盖了从添加必要的依赖到配置客户端、处理消息的整个过程。定义一个配置类来设置消息通道(Channel)和入站适配器(Inbound Adapter),以便接收来自MQTT服务器的消息。在application.yml或application.properties中配置MQTT相关的属性,如服务器地址、用户名、密码等。如果需要发送消息给MQTT服务器,还需要定义出站配置。创建一个消息处理器来处理接收到的消息。
2024-10-08 10:37:21
377
原创 多线程初学
5.调用FutureTask的get()方法去获取子线程执行的结果(抛出异常是因为你的call方法里可能有错)1.实现Callabel接口(泛型定义你要返回的类型,这里是String类型) 这次重写call()方法。3.把这个Callable对象封装成FutureTask (使其成为线程对象)同方式2的2步骤。1.定义一个类(MyThread)来继承 Thread类,并重写run()方法。第三种创建多线程对象的方式是有返回值的。3*.将任务对象交给Thread处理 是为了让任务对象成为线程对象。
2024-09-30 11:17:00
327
原创 9-25知识
新创建的对象会存放在新生代 ,当伊甸区的对象存满之后,会触发gc垃圾回收 ,会清除掉没有被引用的对象,将对象复制到幸存区s0 并清空,当下一次伊甸区对象再次存满之后,再一次触发垃圾回收,这一次会把伊甸区和s0幸存的对象复制到s1 幸存对象就在两个区域内来回切换,每次切换实现年龄+1 当15次垃圾回收(默认)之后 如果对象还没有被回收 那么会将新生代的对象存放到老年代。所以呢,这里重写的时候,要注意分类解决,把你想要通过自定义类加载器加载的和想通过默认类加载器加载的分隔开。年轻代主要用复制算法。
2024-09-25 17:01:25
1528
原创 mysql部分知识
对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快;悲观锁:适用于写多读少的应用场景,对数据一致性要求较高的情况,通过显式锁定来防止并发问题。例如,在一个电商系统中,用户购买商品时,只需要锁定该用户的订单记录,而不是整个订单表。,而B树查询的数据可能不在叶子节点,也可能在,这样就会造成查询的效率的不稳定。例如,在论坛系统中,用户评论的更新频率较低,可以使用乐观锁来减少锁的开销。例如,在进行数据备份或数据迁移时,可以使用表锁来确保数据的一致性。
2024-09-25 11:12:21
1596
原创 09-23小合集
spring的常用注解声明类注解:@Cbean注入的注解1.按类型注入 也可以指定@Qualifier:作用相当于@Autowired,按byname自动注入@Inject:是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Named;@Value:为属性注入值@Bean@Bean@Component@Service@Controller:用于声明这是一个控制层,SpringMVC中的Controller负责处理由DispatcherServlet 分发的请求。
2024-09-24 10:16:13
593
原创 使用docker在阿里云上部署springboot项目
创建一个RDS实例,并通过环境变量或配置文件将连接信息传递给你的Spring Boot应用。首先,你需要为你的Spring Boot项目创建一个Dockerfile。同样,创建一个Redis实例,并配置连接信息以便Spring Boot应用可以访问。确保选择合适的实例规格,并安装必要的软件包,如Docker。通过上述步骤,你可以在阿里云上成功部署并运行你的Spring Boot项目。安全加固:确保镜像的安全性,定期更新基础镜像,并扫描漏洞。首先,你需要注册阿里云账号并创建一个容器镜像仓库。
2024-09-20 16:34:02
655
原创 springboot-实现平台上传图片的步骤(本地)
web 的resources部分 和 multipart部分 设置上传的地址 和上传文件大小。因为tomcat的大小默认是不超过1Mb。user.vue部分。
2024-09-12 10:19:31
206
原创 spring-boot的热部署的实现
spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启应。devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,做完这两步配置之后,若开发者再次在IntelliJ IDEA中修改代码,则项目会自动。如果使用了Eclipse,那么在修改完代码并保存之后,项目将自动编译并触发重。在实际的项目开发调试过程中会频繁地修改后台类文件,导致需要重新编译、启,而如果使用了IntelliJ IDEA,还需要配置项目自动编译。
2024-08-28 09:28:20
231
1
原创 什么是原型图
不同的团队、不同的项目都可能对原型图的构成有不同的需求。原型图也有类型之分。你也可以将原型图理解为一款软件的草图,这款软件有哪些功能、有几个界面、各个功能的作用是什么、各界面的流转关系又是什么,这些内容就可以通过原型图来说清楚。原型图是一款产品推出市场之前的一个简单的示例,就是将页面的排版布局通过这种形式展现出来,包括每个功能键的交互展示,使产品的初步构思有一个可视化的展示。在我第一次听说“原型图”的时候,我一度以为“原型图”是圆的,从一开始的不了解,到尝试着画,已经是软件开发过程中不可或缺的一部分。
2024-08-09 08:56:35
284
原创 MyBatis-Plus:简化你的持久层开发
MyBatis-Plus是一个基于MyBatis的扩展插件,它简化了日常的CRUD操作,并提供了丰富的功能,如代码生成器、分页支持等。通过本文的介绍,相信你已经对MyBatis-Plus有了初步的认识,并能够运用到实际项目中去。MyBatis-Plus(简称MP)是MyBatis的一个增强版,它简化了开发者的编码工作量,提供了一套快速开发方案。使用MyBatis-Plus提供的代码生成器可以快速生成实体类、Mapper接口、Service接口和实现类等。通用Mapper:提供了一套默认的CRUD方法。
2024-07-29 08:57:36
367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人