深入理解java和dubbo的SPI机制

1 SPI简介 1.1 SPI(Service Provider Interface) 本质:将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。 java SPI:用来设计给服务提供商做插件使用的。基于策略模式来实现动态加载的机制。我

入门篇-其之四-字符串String的简单使用

什么是字符串? 在Java编程语言中,字符串用于表示文本数据。 字符串(String)属于引用数据类型,根据String的源码,其头部使用class进行修饰,属于类,即引用数据类型。 字符串的表示 字符串使用双引号""表示,在双引号中你可以写任意字符。 和前面定义并初始化基本数据类型的变量一样,定义

记一次 .NET 某工控软件 内存泄露分析

一:背景 1.讲故事 上个月 .NET调试训练营 里的一位老朋友给我发了一个 8G 的dump文件,说他的程序内存泄露了,一时也没找出来是哪里的问题,让我帮忙看下到底是怎么回事,毕竟有了一些调试功底也没分析出来,说明还是有一点复杂的,现实世界中的dump远比课上说的复杂的多。 还是那句话,找我分析是

restTemplate 使用问题小记

使用restTemplate在后端进行接口转发, 期间包括文件上传, 预览和下载. 还有一些字符串或css/js文件的读取. 1. 文件上传 参考: RestTemplate转发MultipartFile LinkedMultiValueMap params = ne

谈谈Selenium中浏览器驱动的日志

谈谈Selenium中浏览器驱动的日志 来源于一位同学,“老师为啥firefox执行后会有日志文件,chrome没有呢?” 比对 你打开chrome浏览器 from selenium import webdriver driver = webdriver.Chrome() 这样是没有日志的 同样的代

Excel小技巧之轻松添加.sjs文件格式

近日,GrapeCity Documents 正式迎来其V6.2 的发布更新,能够支持 SpreadJS 中 .sjs 类型的文件。这一重大更新将为用户带来更多地惊喜。 .sjs文件有两个关键优势:空间更小且导入导出速度更快。通过采用 .sjs格式,GcExcel实现了更高效的文件压缩,从而使文件大

Windows 11 内核新调试器「GitHub 热点速览 v.23.01」

本周热点趋势榜虽然新项目不多,但是还是有几个不错值得收藏的工具项目,比如用来做文本转语音的 tortoise-tts 能生成更加贴近真实人声的语音,让 Go

有了这些 AI 工具,健康和财富兼得「GitHub 热点速览」

新的一周,又有什么新的 AI 应用呢?在 AI 专场,这次是文本生语音和双语对话模型,前者能解决你的语音问题,后者则是清华开源的模型,能让你搞个

Tomcat 与 JVM 中classpath的理解和设置总结

本文为博主原创,转载请注明出处: 1.介绍 classpath是java运行时环境搜索类和其他资源文件(比如jar\zip等资源)的路径。类路径告诉JDK工具和应用程序在哪里可以找到第三方和用户定义的类; 可以通过JDK工具(比如javac命令、java命令)后面的-classpath 参数设置cl

protoBuf 实现客户端与服务端

转载请注明出处: 1.定义消息格式 在 src/main/proto 目录下创建 person.proto 文件,并定义消息格式,例如: syntax = "proto3"; package example; message Person { string name = 1; int32 age =

从零开始使用 Astro 的实用指南

在这个实用的Astro指南中,我将指导你完成设置过程,并告诉你如何构造你的文件。你将学习如何添加页面、交互式组件,甚至是markdown文章。我还会告诉你如何从服务器上获取数据,创建布局,并使用vanilla JavaScript和其他框架添加互动性。准备好享受一些动手的乐趣,因为我们将一起创建一个

husky的使用

前言 在做个人项目的时候遇到一个需求,要在编完代码之后代码提交之前生成一个预览文件,手动执行脚本难免会遗漏。然后就想到之前在工作中使用过的husky,正好拿过来用一用; husky是什么? husky是一个给git增加 hooks 工具 打开文档发现husky的版本已经更新到8.x了,这时候就照着新

OpenHarmony移植案例: build lite源码分析之hb命令__entry__.py

摘要:本文介绍了build lite 轻量级编译构建系统hb命令的源码,主要分析了_\entry__.py文件。 本文分享自华为云社区《移植案例与原理 - build lite源码分析 之 hb命令__entry__.py》,作者:zhushy 。 hb命令可以通过python pip包管理器进行安

云图说|图解制品仓库CodeArts Artifact

摘要:制品仓库用于存放由源码编译生成的、可运行的二进制文件,重要作用是实现制品文件的可信存储,支撑软件开发活动。 本文分享自华为云社区《【云图说】第277期 图解制品仓库CodeArts Artifact》,作者:阅识风云 。 制品仓库用于存放由源码编译生成的、可运行的二进制文件,重要作用是实现制品

Mac基本命令操作

Mac使用常见命令 删除空目录:rmdir 目录 删除文件夹:rm -rf 文件夹 创建一个文件夹:mkdir 文件名 创建一个文件:touch 文件 修改一个文件:vi 文件名 重命名文件 mv 原始文件名 修改文件名

【NLP 系列】Bert 词向量的空间分布

我们知道Bert 预训练模型针对分词、ner、文本分类等下游任务取得了很好的效果,但在语义相似度任务上,表现相较于 Word2Vec、Glove 等并没有明显的提升。

Flutter 异步编程指南

在 App 开发中,经常会遇到处理异步任务的场景,如网络请求、读写文件等。Android、iOS 使用的是多线程,而在 Flutter 中为单线程事件循环

实际上手体验maven面对冲突Jar包的加载规则

这篇文章主要记录了本次遇到的问题:即maven在面对不同版本的jar包在pom文件中同时声明会存在加载覆盖的问题,于是通过查询网上相关资料对maven包的加载规则介绍,并通过实际场景对其进行分析验证

从原理聊 JVM(五):JVM 的编译过程和优化手段

# **一、前端编译** 前端编译就是将Java源码文件编译成Class文件的过程,编译过程分为4步: ## **1 准备** 初始化插入式注解处理器(Annotation Processing Tool)。 ## **2 解析与填充符号表** 将源代码的字符流转变为标记(Token)集合,构造出`

Flutter 异步编程指南

在 App 开发中,经常会遇到处理异步任务的场景,如网络请求、读写文件等。Android、iOS 使用的是多线程,而在 Flutter 中为单线程事件循环