Blog
Page 10 - Showing 5 of 88 posts
本文介绍了Java和Go的内存管理学习,通过GC实现自动内存管理,有助于深入理解性能瓶颈。GC分为三种:Series GC、Parallel GC和Concurrent GC,各有其特点和适用场景。GC策略包括Copying GC、Mark-sweep GC和Mark-compact GC,每种策略都有其优缺点。引用计数是判断死亡对象的一种方法,但存在缺点如线程不安全和无法处理环形结构。Java内存管理技术经过多代发展,采用分代回收法,根据对象的存活时间长短选择不同的清理策略。Golang采用三色标记法来追踪死亡对象,通过白色、灰色和黑色分别表示可以回收、正在检查和不能回收的对象。
本文介绍了如何使用LangChain对JSON文件数据进行RAG处理时遇到的jq_schema语法。jq_schema是jq工具的查询语法,用于解析、过滤和转换JSON数据。文章记录了常见的jq_schema语法,包括选择整个JSON数据、特定键的选择、嵌套对象中的键选择、数组元素的选择以及数组中特定元素的选择等。同时,文章还提供了高级语法,如筛选和条件、管道操作符`|`、字符串处理、计算和数学运算等。最后,通过案例分析展示了如何提取JSON对象中的多个字段以及将数组元素提取为特定格式。
本文介绍了OAuth2.0和单点登录的实现方法,以及它们在现代应用中的使用。文章首先解释了SSO(Single Sign-On)的概念及其核心流程,接着讨论了单点注销的功能和挑战。此外,还探讨了JWT(JSON Web Tokens)作为认证登录方式的优势与局限性,包括其无状态特性带来的权限更新问题。最后,文章详细描述了微信、飞书等第三方授权平台的实现原理及安全性考量。
Java的线程安全主要体现在三个方面:原子性、可见性和有序性。数据的线程安全可以通过三种方式来保证:事务管理、锁机制和版本控制。
本文探讨了Java反射机制的原理,强调了其强大的运行时获取类信息的能力。文章首先介绍了基本的反射代码示例,然后深入分析了反射的实现过程,包括编译、加载和运行阶段。最后指出,由于Java中的对象创建机制涉及Class类对象存储类的具体信息,因此反射能够实现动态获取类信息。