Java
文章平均质量分 85
记录自己的学习历程
lbwxxc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AI 应用开发
注入 OpenAiApi,OpenAiApi 是真正“干活”与 OpenAI 服务器对话的工具,后续 SpringAI 的封装层,比如说 ,其内部持有 的实例 方法产生流式对话 :“文本向量化”工具调用 OpenAI 的 API 来生成“词嵌入”(Embeddings)。词嵌入是一种将文本(如单词、句子)转换为数值向量(一串数字)的技术,这些向量能捕捉文本的语义含义。:连接到 PostgreSQL 的“向量数据库”存储、管理和检索由上一个 Bean(embeddingModel)生成的向量。这原创 2025-10-27 11:45:14 · 696 阅读 · 0 评论 -
手写跳表 - Java
跳表是算法设计中简洁性和概率力量的有力证明。它为其核心操作实现了令人垂涎的OlognO(\\log n)Ologn平均时间性能,可与复杂的平衡树相媲美,但其实现却更直接、更容易理解。这段 Java 代码提供了一个极佳的、真实世界的例子,展示了如何从零开始构建一个跳表,并配备了泛型和数据持久化功能。它是每个开发者工具箱中一个强大的工具,也是算法优雅之美的一个完美例证。跳表是一种概率性数据结构,基于多层链表,每一层都是下一层的一个子集。原创 2025-09-10 12:44:36 · 1023 阅读 · 0 评论 -
手写 Tomcat
使用 Socket 简单实现ResponseHttpServer03 动态 Response : 按照规范构造返回流04 各司其职的 Server : 拆分响应模块与处理模块#mermaid-svg-2INa1N7vV9JzTK1K {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2INa1N7vV9JzTK1K .error-icon{fill:#5522原创 2025-09-04 11:55:24 · 5239 阅读 · 0 评论 -
手写 Spring
IOC 容器的作用是自动创建对象,降低系统间的耦合度。原创 2025-08-10 14:08:53 · 872 阅读 · 0 评论 -
JVM 学习总结
程序计数器,也常被称为 PC 寄存器,是 JVM 内存模型中一块非常小的内存空间。你可以把它想象成是当前线程正在执行的字节码指令的地址或行号指示器。简单来说,它就是一个“书签”,记录着虚拟机“读”到了哪一行代码,下一行应该“读”什么。在 JVM 的规范中,每个 Java 线程都有其自己独立的程序计数器。这些计数器在线程创建时一同创建,并伴随线程的整个生命周期。特性描述定义当前线程所执行的字节码指令的地址指示器。作用控制程序执行流程,实现分支、循环、跳转、异常处理、线程恢复等功能。归属线程私有。原创 2025-08-02 00:20:41 · 890 阅读 · 0 评论 -
动态线程池
此项目是已组件的形式进行搭建分为 4 个部分 config、domain、registry、trigger。原创 2025-07-22 17:35:50 · 303 阅读 · 0 评论 -
仿小红书交流社区(微服务架构)
在单体项目中,使用 ThreadLocal 就可以满足要求,但在微服务项目,存在微服务间调用的问题,这时 ThreadLocal 就不能保证全局上下文,需要放置拦截器,将信息放在请求头中,保证透传。这个项目提供的注册方式手机验证码,当尝试通过手机号注册时,会先检查数据库,如果存储则返回原有账户,如果不存在则新加一个账户插入到数据库中,用户的 Id,是由上文提到的分布式 id 服务生成的。用户在注册成功后,默认设置为普通用户,并将用户的角色缓存在 redis 中,供后续网关鉴权使用。原创 2025-07-03 20:51:05 · 1034 阅读 · 0 评论 -
ThreadPoolExecutor源码阅读以及手写简单线程池 —— JDK17
如果想知道线程是否正在执行任务,只需要调用 Woker 的 tryLock 方法,根据是否加锁成功就能判断,加锁成功说明当前线程没有加锁,也就没有执行任务了,在调用 shutdown 方法关闭线程池的时候,就时用这种方式来判断线程有没有在执行任务,如果没有的话,会尝试打断没有执行任务的线程。这段代码主要为了并发情况下,线程数量的问题,其内部的循环尝试通过 CAS 增加线程的数量 c,如果成功则通过 retry 退出外部循环继续向下执行,如果失败,则继续尝试,直到成功或者条件不符。原创 2025-05-10 18:00:46 · 908 阅读 · 0 评论 -
HashMap学习总结——JDK17
操作数加一,并检查是否需要扩容。原创 2025-03-22 17:14:25 · 1109 阅读 · 0 评论 -
基于Java与Netty的RPC框架
解码器和序列化器。原创 2025-02-24 21:35:43 · 1168 阅读 · 0 评论 -
Java-动态代理学习总结
类似与Spring中的AOP,是对原有代码的增强,也是对原有代码的封装在Java中,代理(Proxy)是一种设计模式,用于控制对某个对象的访问。代理模式通过创建一个代理对象,来替代原始对象,以实现对原始对象的访问控制。代理对象和原始对象实现相同的接口,客户端对象可以透明地使用代理对象。原创 2025-02-17 19:57:30 · 356 阅读 · 0 评论 -
SpringCloud学习总结
Component //自定义断言Config> {@Override@Override@Overrideif (first!@Validated@NotEmpty@NotEmpty- name: Vip #自定义断言args:value: lei此断言判断https://cn.bing.com/user=lei,如果user不等于lei则拒绝访问@Component@Override@Override}));原创 2025-01-31 21:52:29 · 742 阅读 · 0 评论 -
NIO学习总结
而引入Selector后,可以将Channel注册在Selector上(相当于Channel添加到Selector这个集合中),每个由这个Channel所触发的事件,会放在SelectionKey中,然后由selector.select()进行阻塞,一旦有事件发生,就会处理。这段代码处理accept事件,并将客户端的channel注册在selector上,对可读事件进行反应,下次客户端发来数据,该channel会触发可读事件并添加到SelectionKey中,等待处理。将多个buffer写入同一个文件中。原创 2025-01-01 10:31:33 · 986 阅读 · 0 评论 -
JUC学习总结
文章目录锁锁机制原理Mark WordCAS重量级锁轻量级锁偏向锁volatile关键字Lock和Condition接口LockCondition可重入锁公平锁和非公平锁读写锁锁降级和锁升级原子类并发容器CopyOnWriteArrayListConcurrentHashMap阻塞队列线程池线程池的使用锁锁机制原理synchronized使用的锁就是存储在Java对象头中的,在Java中,对象存储在内存中,而每个对象内部,都有一部分空间用于存储对象头信息,其中就包含锁的信息monitorenter原创 2024-12-27 17:11:17 · 810 阅读 · 0 评论 -
Java并发编程基础篇
的线程的ThreadLocalMap中以该线程为key,赋的值的为值来创建当前线程的对应的HashMap,在Java中,启动main函数时,其实启动的是一个JVM的进程,尔main函数所在的线程是主线程。是进程的一个执行路径,一个进程可以有多个线程,线程之间共享进程的资源。:使用完这些变量后要及时删除,否则可能会造成内存溢出。在线程中对ThreadLocal赋值时,实际上是。是系统分配资源的基本单位,原创 2024-12-09 19:28:39 · 324 阅读 · 0 评论 -
mybatis复杂查询一对一,一对多
这段 MyBatis 配置代码用于查询。这段 MyBatis 配置代码用于查询。表的数据,并通过关联查询获取。表的数据,并通过关联查询获取。原创 2024-11-29 21:08:16 · 531 阅读 · 0 评论 -
反射与注解
注解是提供一种为程序元素设置元数据的方法,理解起来还是一样的,程序元素就是指接口、类、属性、方法,这些都是属于程序的元素,那啥叫元数据呢?就是描述数据的数据(data about data)通过class对象获取类的方法,但在使用方法时,要指名那个对象。运行结果发现输出为真说明类的class对象在内存中是唯一的。将上述代码的class文件反编译后。可以通过反射获取构造器来构造对象。可以看出注解本质是一个接口。原创 2024-11-28 21:15:27 · 425 阅读 · 0 评论 -
基于Servlet实现上传和下载文件
基于servlet可以实现前后端分离,前端的html页面中可以用form表单,后端可以在service方法中实现上传与下载原创 2024-09-17 17:10:15 · 931 阅读 · 0 评论 -
类&方法&对象---PC 版美颜相机v1
类&方法&对象原创 2024-07-17 14:08:27 · 533 阅读 · 0 评论 -
通过Java实现简单画板
简单画板的实现,涉及监听器,方法的重载,面向对象方法,地址的传递原创 2024-06-10 20:30:14 · 650 阅读 · 3 评论
分享