Java SPI机制学习与常用框架SPI案例 (l1n.wang)

【简介】

SPI(Service ProviderInterface)是JDK内置的服务提供机制,常用于框架的动态扩展,类似于可拔插机制。提供方将接口实现类配置在classpath下的指定位置,调用方读取并加载。当提供方发生变化时,接口的实现也会改变。Java生态中JDK、Dubbo、Spring等都通过SPI提供了动态扩展的能力。

点击查看原文 >>

@技术头条 2024-01-17 23:19 / 0个评论
要不要再学学下面的文章?
带你认识本地大模型框架Ollama(可直接上手) (wiki.eryajf.net)
自 OpenAI 公司于2022 年 11 月 30 日发布 ChatGPT 以来,经过 23 年一整年的发展之后,大模型的概念已逐渐普及,各种基于大模型的周边产品,以及集成层出不穷,可以说已经玩出花来了。在这个过程中,也有不少本地化的模型应用方案冒了出来,针对一些企业知识库问答的场景中,模型本地化是第一优先考虑的问题,因此如何在本地把模型调教的更加智能,就是一个非常重要的技能了。在 23 年的时候,我也接触过一些本地模型的开源项目(比如 LocalAI),当时在本地部署跑起来之后,发现交互的体验,回答的速度,以及智能程度,都远低于预期。最近又一次了解本地模型的玩法,从微信群里了解到了 ollama,经过几天业余时间的研究及了解,发现现在模型本地化的玩法,以及能力都早已不可同日而语,本文,将记录我这几天来对于 ollama 的粗浅认识以及快速入门玩起来。
by @技术头条 2024-03-12 22:53 查看详情
浅谈安全方向的学习方法 (www.hackerpoet.com)
最近经历了一次ctf培训之后,突然对安全学习有了一点新的理解,所以写下文章来记录。
by @技术头条 2024-03-10 19:36 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
完善 Golang Gin 框架的静态中间件:Gin-Static (soulteary.com)
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。所以,我顺手改了它,然后把这个改良版开源了。
by @技术头条 2024-01-14 19:19 查看详情
Java ZGC 调优 (www.diguage.com)
本篇文章讨论了 ZGC 的各种 JVM 调整参数,旨在优化其在 Java 应用程序中的性能。通过利用这些调整选项,开发人员可以对 ZGC 进行微调,以根据其特定需求提供最佳性能。此外,仔细分析 GC 日志和监控 ZGC 的行为可以为了解其性能特征提供有价值的信息。通过尝试使用这些调整参数并密切监控 GC 日志,开发人员可以释放 ZGC 的全部潜能,并确保其 Java 应用程序中的垃圾回收效率。
by @技术头条 2024-01-14 18:58 查看详情
GC 调优成功案例:减少新生代的大小 (www.diguage.com)
当对垃圾回收性能做调优时,不仅能改善垃圾回收暂停时间,还能改善整个应用程序的响应时间并降低云计算成本。最近,我们帮助调整了一个流行应用程序的垃圾回收行为。仅仅是一个微小的改动,就带来了巨大的改善。让我们在这篇文章中讨论一下这个垃圾回收调整的成功案例。
by @技术头条 2024-01-13 23:49 查看详情
证书透明机制 — 防范证书签发机构作恶 (www.addesp.com)
如果我拿到了一个网站的证书,但这个网站并不属于我,我就可以窃听,篡改这个网站的通信。

证书透明机制(Certificate Transparency)即 CT 机制可以缓解这个问题。
by @技术头条 2023-12-26 22:36 查看详情
初探 Struts2 框架安全 (paper.seebug.org)
最近分析 confluence 的漏洞,发现是基于 Struts 框架的,其中有很多相关知识点并不了解,因此专门来学习一下 Struts 2。

在网上一搜 Struts 2 资料发现介绍漏洞的文章比介绍开发的还多,少数开发者的声音也是 “Struts 过时了吗?” 之类的疑问,事实上这个框架也确实是过时了,现在Java Web 开发早已是 Spring 全家桶一统江山的局面。但我们也不能不承认曾经 Struts 的地位。Struts2 + Spring + Hibernate 三大框架在当年组合号称 SSH,对 Java Web 应用生态产生了深远的影响,以至于现在有许多知名应用中还有 Struts 的影子。

因此,即便 Struts 已经日薄西山,对于 Java 安全研究者而言也是需要深入了解的目标,就像二进制研究员需要理解 “过时” 的 jmp esp 栈溢出利用方法一样。
by @技术头条 2023-11-06 22:58 查看详情
一个分布式锁「失效」的案例分析 (mazhuang.org)
在日常的开发过程中,如果涉及到并发和事务,一定要多留几个心眼,考虑周全,确认以下要点是否都正确实现:1、是否做了必要的并发控制?2、事务的传播行为是否符合预期?3、AOP 的执行顺序是否符合预期?4、对并发的场景是否做了充分的测试?5、对于比较关键的操作,是否打印了必要的日志?
by @技术头条 2023-11-06 22:45 查看详情
Hadoop安全学习 (ixyzero.com)
Hadoop集群基本都放在内网,有一层网络隔离做保护,懂这个且想利用和能利用这个做坏事的人比较少,一般不容易出问题;对于没放在内网或者没有做隔离的那些公司或团队,安全意识和能力肯定是有较大欠缺,数据泄露的渠道和方式很多,不缺这一个,都不需要用这种方式来搞数据;使用第三方云服务的公司或团队一般不需要操心底层服务的安全问题,只需要关注上层应用的账号安全和使用安全等问题就行。
by @技术头条 2023-10-30 23:38 查看详情