
Java
文章平均质量分 87
JAT9321
这个作者很懒,什么都没留下…
展开
-
SpringAI学习笔记
Spring AI是一个AI工程领域的应用程序框架;它的目标是将Spring生态系统的设计原则应用于人工智能领域,比如Spring生态系统的可移植性和模块化设计,并推广使用POJO来构建人工智能领域应用程序;Spring AI并不是要构建一个自己的AI大模型,而是让你对接各种AI大模型;原创 2025-02-05 21:19:39 · 998 阅读 · 0 评论 -
spring属性注入的不细心错误
而在使用A2类时,却是用new的方式,这样就会导致A2中的属性B没有注入,原因就是这个new的A2不是Spring IOC容器管理的那个。所以,在使用A2时也是要进行属性注入的方式导入,而不是在一个方法中new一个。:在检测各个需要的类上已经打上注解后,出现了在一个类A1中注入B属性成功了,但在另一个类A2中注入B属性却失败了。:,A1和A2获取对象引用的方式不一样,A1是通过注解方式使用对象引用,A2是通过new方式使用对象引用。当我们使用A1类时,我们是通过注解导入的。原创 2024-06-15 17:20:36 · 352 阅读 · 0 评论 -
Netty01NIO
NIO :non-blocking io 非阻塞 IO。原创 2024-02-27 14:12:46 · 1042 阅读 · 0 评论 -
JUC03共享模型
volatile主要用在一个线程改多个线程读时的来保证可见性,和double-checked locking模式中保证synchronized代码块外的共享变量的重排序问题Unsafe 对象提供了非常底层的,操作内存、线程的方法,Unsafe 对象不能直接调用,只能通过反射获得。LockSupport的park方法,cas相关的方法底层都是通过Unsafe类来实现的。static {try {// Unsafe 使用了单例模式,unsafe对象是类中的一个私有的变量。原创 2024-01-16 14:25:01 · 936 阅读 · 0 评论 -
JUC02同步和锁
临界资源:一次仅允许一个进程使用的资源成为临界资源临界区:访问临界资源的代码块竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件一个程序运行多个线程是没有问题,多个线程读共享资源也没有问题,在多个线程对共享资源读写操作时发生指令交错,就会出现问题管程(monitor):由局部于自己的若干公共变量和所有访问这些公共变量的过程所组成的软件模块,保证同一时刻只有一个进程在管程内活动,即管程内定义的操作在同一时刻只被一个进程调用(由编译器实现)原创 2024-01-13 09:34:10 · 1072 阅读 · 0 评论 -
RocketMQ
RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是一款开源的****分布式消息系统****,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。原创 2024-01-06 21:16:37 · 1008 阅读 · 0 评论 -
JUC01概述
进程:程序是静止的,进程实体的运行过程就是进程,是系统进行资源分配的基本单位进程的特征:并发性、异步性、动态性、独立性、结构性线程:线程是属于进程的,是一个基本的 CPU 执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是系统独立调度的基本单位,线程本身不拥有系统资源,只拥有一点在运行中必不可少的资源,与同属一个进程的其他线程共享进程所拥有的全部资源关系:一个进程可以包含多个线程,这就是多线程,比如看视频是进程,图画、声音、广告等就是多个线程。原创 2024-01-05 09:45:38 · 930 阅读 · 0 评论 -
设计模式04行为型模式
在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。原创 2023-12-25 16:46:18 · 1105 阅读 · 0 评论 -
设计模式03结构型模式
由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译期就生成,而动态代理代理类则是在Java运行时动态生成。动态代理又有JDK代理和CGLib代理两种。如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。原创 2023-12-20 10:40:18 · 1087 阅读 · 0 评论 -
设计模式02创建者模式
需求:设计一个咖啡店点餐系统。设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。原创 2023-12-12 09:00:31 · 935 阅读 · 0 评论 -
设计模式01
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。原创 2023-12-08 11:08:40 · 1360 阅读 · 0 评论 -
ElasticSearch03
JPA是一个规范,真正操作数据库的是Hibernate(实现数据库增删改查框架[ORM框架],操作数据库采用的方式是面向对象[不写SQL语句]),而spring data jpa是对jpa的封装,将CRUD的方法封装到指定的方法中,操作的时候,只需要调用方法即可。Spring Data Jpa的实现过程:1:定义实体,实体类添加Jpa的注解 @Entity @Table @Cloumn @Id2:定义接口,接口要继承JpaRepository的接口。原创 2023-11-30 14:19:16 · 1033 阅读 · 0 评论 -
WebSocket快速入门
WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为RFC 6455,后由RFC 7936补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。原创 2023-11-28 21:32:44 · 775 阅读 · 0 评论 -
ElasticSearch02
版本:7.8 学习视频:尚硅谷笔记:https://zgtsky.top/实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:第一种,使用elasticsearch提供的Restful接口直接访问第二种,elasticsearch-head插件第三种,使用elasticsearch提供的API进行访问ElasticSearch的接口语法。原创 2023-11-26 17:24:24 · 1235 阅读 · 0 评论 -
ElasticSearch01
Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。ElasticSearch的官方地址: https://www.elastic.co/products/elasticsearch。原创 2023-11-25 23:04:45 · 1587 阅读 · 1 评论 -
Tomcat与JDK版本问题
需要JDK17(可以配置多个JDK环境,切换使用)才可以使用,配置为JAVA_HOME路径,否则,Tomcat10+还是无法使用。当使用Tomcat10+的版本用于springmvc借用浏览器调试时,使用JDK8浏览器会报异常。原创 2023-09-29 12:35:48 · 1628 阅读 · 0 评论 -
Java网络多线程
Java 网络多线程专题,包括 TCP UDP Socket编程 多线程 并发处理 文件传输 新闻推送原创 2022-09-07 18:08:47 · 429 阅读 · 0 评论