代码编织梦想

【随笔】使用spring ai接入大语言模型-爱代码爱编程

引言 随着人工智能的发展,越来越多的应用开始集成AI模型来增强用户体验。OpenAI提供的大语言模型是目前最受欢迎的自然语言处理模型之一,能够处理各种语言任务,如文本生成、对话理解等。在Java开发中,我们可以利用Spri

java中gcroots包括哪些_gc roots 包含哪些-爱代码爱编程

Java中GCRoots包括哪些 在垃圾回收过程中如何判断一个对象是否是垃圾,有两种算法。一种是引用记数法,一种是可达性分析法。 引用记数法是早期垃圾回收器中使用的算法,每一个对象维护一个该对象被引用的记数,每引用一次,记数加1,每减少引用1次,引用减1,当引用为0时,表示该对象不再被引用,可以作为垃圾被清除。但是引用记数法有一个最致命的问题,就是无法解

学习java应该如何理解反射?-爱代码爱编程

反射是一个非常重要的知识点,在学习Spring 框架时,Bean的初始化用到了反射,在破坏单例模式时也用到了反射,在获取标注的注解时也会用到反射······ 当然了,反射在日常开发中,我们没碰到过多少,至少我没怎么用过。但面试是造火箭现场,可爱的面试官们又怎会轻易地放过我们呢?反射是开源框架中的一个重要设计理念,在源码分析中少不了它的身影,所以,今天我会

ThreadPoolExecutor实际线程池管理线程-爱代码爱编程

线程池的目的防止线程的随意创建,无法管理,将我们执行的线程放入线程池中执行,实际同时执行的线程数量依赖CPU几核; 1.线程池常用管理处理 并行执行: threadPool = ThreadPoolManager.getInstance().addParallelTask(new Runnable() {}); 串行执行: threadPool

使用maven插件cargo在远程tomcat9上面部署web项目-爱代码爱编程

目标:使用cargo在远程tomcat9上面部署web项目 tomcat版本:tomcat9 ->apache-tomcat-9.0.40 cargo版本 1.8.2 工程:pom.xml 配置plugin <!-- 自动化部署远程Tomcat插件 --> <plugin> <groupId>

Java拓展-TCP协议的文件上传实现-爱代码爱编程

1、文件上传的步骤是什么或者问客户端和服务器的工作分别是什么? 客户端读取本地的文件; 客户端把文件上传到服务器; 服务器把上传的文件保存到服务器的硬盘上; 1、客户端使用的本地字节输入流,读取要上传的文件; 2、客户端使用网络字节输出流,把读取到的文件上传到服务器; 3、服务器使用网络字节输入流,读取客户端上传的文件; 4、服务器使用

Java拓展-网络编程-爱代码爱编程

1、客户端和服务器有哪些关系? 客户端和服务器都是电脑,客户端的配置较低; 客户端需要主动连接服务器,不可能服务器连接客户端; 服务器需要先启动; 2、表示客户端和服务器的类分别是什么? 客户端:Socket类; 服务器:ServerSocket类; 3、客户端和服务器通过什么来通信? 客户端向服务器端发起请求,建立逻辑

Java拓展-网络编程基础-爱代码爱编程

1、常见的两种软件结构是什么? C/S client server 客户端 服务器; B/S browser server 浏览器 服务器; 2、UDP是无连接通信协议,无连接是重点。无连接是什么意思? 发送数据的主机不用确定被发送的主机是否存在就可以发送数据; 接受数据的主机接收到数据后不用返回确认信息; 这种情况不可避免地会遗漏丢

TCP和UDP的区别和优缺点-爱代码爱编程

1、TCP与UDP区别总结: 1、 TCP面向连接 (如打电话要先拨号建立连接); UDP是无连接 的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的

如何做一个软件项目经理? ----写给公司所有的开发人员-爱代码爱编程

第一部分:软件项目经理的要求 首先是一个管理者,其次熟悉某些工具,某几种语言,行业背景,项目管理技能。 软件项目经理面临的恶劣环境,我们绝大部分软件企业运行在相对混乱的状态(CMM一级),组织不大可能对项目以及项目经理的责任做出明确、合适的界定,所以,影响项目成功的一切因素都是项目经理的责任,包括客户、环境、考核、激励等等。 一、责任心。取得项目的成

https实现原理(SSL认证过程)-爱代码爱编程

目录 1.https验证原理 1.1原理图 1.2https建立连接过程 1.2.1 客户端访问https连接 1.2.2 - 1.2.3 服务端发送证书(公钥)给客户端 1.2.4- 1.2.5 客户端验证服务端的证书 1.2.6 - 1.2.7 服务端接收加密信息,解密得到客户端提供的随机字符串 1.2.8 客户端验证服务端返回的握手信

Java集合类实现整理及Concurrent并发包整理总结(CAS,AQS)-爱代码爱编程

目录 ​ 1.集合包 1.1 ArrayList 1.2 LinkedList 1.3 Vector 1.4 Stack 1.5 HashSet 1.6 TreeSet 1.7 HashMap 1.8 TreeMap 2.并发包 2.1 ConcurrentHashMap 2.2 ReentrantLock 2.3 Condit

一文弄懂悲观锁和乐观锁-爱代码爱编程

一、前言 在了解悲观锁和乐观锁之前,我们先了解一下什么是锁,为什么要用到锁? 技术来源于生活,锁不仅在程序中存在,在现实中我们也随处可见,例如我们上下班打卡的指纹锁,保险柜上的密码锁,以及我们我们登录的用户名和密码也是一种锁,生活中用到锁可以保护我们人身安全(指纹锁)、财产安全(保险柜密码锁)、信息安全(用户名密码锁),让我们更放心的去使用和生活,因

JDK1.8HashMap源码分析说明-爱代码爱编程

目录 1.HashMap数据存储结构 ​2.HashMap成员变量 3.HashMap构造方法 4.HashMap数据操作 4.1put(key,value) 4.2get(key) 5.get()和put()方法的辅助操作 5.1resize() 5.2treeifyBin() 6.get()和put()方法的辅助类 6.1Node

Java中的堆和栈的区别-爱代码爱编程

当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是

HTTP协议,HTTP请求和响应,TCP三次和四次握手-爱代码爱编程

目录   1.HTTP协议是什么? 2.HTTP主要特点 3.HTTP请求和响应 3.1HTTP请求 3.2HTTP响应 3.3HTTP请求和响应流程 3.4HTTP响应状态码分类  3.5HTTP请求方法 4.TCP三次握手和四次握手 4.1三次握手过程(建立连接) 4.2四次挥手过程理解(释放连接) 5.HTTP七层协议 1

Java常见数据结构整理(数组,栈,队列,链表,红黑树)二-爱代码爱编程

目录   1.链表 1.1单链表 1.2双链表 1.3单链表常见操作 1.3.1InsertAtEnd - 在链表的末尾插入指定元素 1.3.2InsertAtHead - 在链接列表的开头/头部插入指定元素 1.3.3Delete - 从链接列表中删除指定元素(指定位置) 1.3.4Delete - 从链接列表中删除指定元素Node

Java常见数据结构整理(数组,栈,队列,链表,红黑树)一-爱代码爱编程

目录   什么是数据结构? 为什么我们需要数据结构? 1.数组 1.1数组基本操作 1.2数组常见面试算法 1.2.1寻找数组中第二小的元素 1.2.2找到数组中第一个不重复出现的整数 1.2.4重新排列数组中的正值和负值 2.栈(后进先出) 2.1栈的基本操作 2.2数组常见面试算法 2.2.1用两个栈来实现一个队列 2.2.

Java虚拟机JVM整理-爱代码爱编程

目录   1.虚拟机JVM是什么? 2.虚拟机执行流程图 3.类加载系统 3.1类加载系统流程 3.2自定义类加载器 4.运行时数据区 4.1字节码加载流程 4.2运行时数据区划分 4.3内存溢出实例 4.3.1堆溢出 4.3.2虚拟机栈和本地方法栈溢出 4.3.3方法区和运行时常量池溢出 4.3.4则抛出OutOfMemory

Java常见排序算法及对应的时间复杂度和空间复杂度-爱代码爱编程

排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序