
工具使用研究
文章平均质量分 86
熊崽_张
这个作者很懒,什么都没留下…
展开
-
Jedis 使用教程总结
jedis原创 2022-11-28 17:56:26 · 2808 阅读 · 0 评论 -
JDTX-京东数科强一致、高性能分布式事务中间件
在分布式数据库、云原生数据库、NewSQL 等名词在数据库领域层出不穷的当今,变革——在这个相对稳定的领域已愈加不可避免。相比于完全革新,渐进式增强的方案在拥有厚重沉淀的行业则更受青睐。同所有分布式领域的解决方案相同,分而治之的透明化数据分片方案,是新一代数据库解决海量数据的核心理念。水平拆分使得分布式事务的重要性,较之垂直拆分的业务系统进一步提升。另外,弹性扩(缩)容、HTAP 等概念也是新一代数据库的关注重点。...转载 2022-08-02 21:52:23 · 608 阅读 · 0 评论 -
Mybatis 中 $ 和 #千万不要乱用
2、${}: 主要用于获取配置文件数据, DAO 接口中的参数信息, 当 $ 出现在映射文件的 SQL 语句中时创建的不是预编译的 SQL, 而是字符串的拼接, 有可能会导致 SQL 注入问题. 所以一般使用 $ 接收 dao 参数时, 这些参数一般是字段名, 表名等, 例如 order by {column}。看了上面的区别介绍,相信大家其实都应该知道区别在哪里,我们的问题在哪里,其实就是 sql 在 in 的时候 ,里面的数据被加了两个双引号。所以导致部分数据查不到了。输出后,终于发现了问题在哪里。..转载 2022-08-02 21:07:09 · 865 阅读 · 0 评论 -
Nginx-入门到实战
来源基础篇一、环境二、Nginx是什么?三、我们为什么选择Nginx?三、安装与目录四、基本配置五、模块场景实现篇一、静态资源WEB服务二、浏览器缓存三、跨站访问四、防盗链五、HTTP代理服务负载均衡和缓存服务一、负载均衡二、缓存服务常见问题一、相同server_name多个虚拟主机优先级二、location匹配优先级三、try_files的使用四、alias和root的区别五、如果用户真实IP六、Nginx常见错误码。...转载 2022-08-01 20:41:49 · 161 阅读 · 0 评论 -
IDEA-7 个 IntelliJ IDEA 必备插件
来源首先说一下idea引入外部插件的方式用插件。转载 2022-08-01 20:33:59 · 2503 阅读 · 0 评论 -
hikaricp-MySQL 连接为什么挂死了?
Unable to acquire JDBC Connection [n/a]java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:669) ~[HikariCP-2.7.转载 2022-07-13 14:16:30 · 2305 阅读 · 0 评论 -
软件-手把手教你抓包和屏蔽软件更新
我们喜欢绿色软件,修改版软件,其很重要的一个原因是软件屏蔽了更新,可以一直使用。很多人是否像果核一样,不 i 喜欢软件更新,除非出现重大 BUG,一般都不想更新呢?那么,除了下载别人修改的软件,有没有可能手动屏蔽软件联网的各种功能呢?你可能会想到,使用防火墙软件禁止软件联网,但是!禁止联网后,虽然不更新了,但是所有和网络有关的功能,都给禁止了。今天我们要操作的就是系统 host 文件,通过 host 来屏蔽指定网址的访问,来达到屏蔽软件更新的效果。聪明的你应该想到了,要禁止某个网址不能访问,只需要把这个网转载 2022-07-10 14:28:33 · 2412 阅读 · 0 评论 -
IDEA-自动补全
1、var 声明2、null 判空3、notnull 判非空4、nn 判非空5、for 遍历6、fori 带索引的遍历7、not 取反8、if 条件判断9、cast 强转10、return 返回值IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码。这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format() 包裹一个字符串、使用类型转化包裹一个表达式、根据判(非)空或者其它判别语句生成 if 语句转载 2022-07-10 14:20:23 · 2611 阅读 · 0 评论 -
Eureka-服务注册与发现组件 Eureka 客户端实现原理解析
在前面的文章介绍了,如何使用服务注册发现组件:Eureka,并给出使用示例。本文在此基础上,将会讲解 Eureka 客户端实现的内幕,结合源码深入实现的细节,知其所以然。客户端需要重点关注以下几点:从 Eureka Server 中拉取注册表信息全量拉取注册表信息增量式拉取注册表信息注册表缓存刷新定时器与续租 (心跳) 定时器服务注册与服务按需注册服务实例的下线本文摘录于笔者出版的书籍 《Spring Cloud 微服务架构进阶》在 Finchley 版本的 SpringCloud 中,不需要添加任何的额外转载 2022-07-10 14:18:17 · 739 阅读 · 0 评论 -
Eureka-服务注册与发现组件 Eureka 应用实战
本文摘录于笔者出版的书籍 《Spring Cloud 微服务架构进阶》在传统的单体应用中,组件之间的调用通过有规范约束的接口进行,实现不同模块间良好协作。在微服务架构中,原本的’巨石’应用按照业务被分割成相对独立的、提供特定功能的服务,每一个微服务都可以通过集群或者其他方式进行动态的扩展,每一个微服务实例的网络地址都可能动态变化,这使得原本通过硬编码地址的调用方式失去了适用性。微服务架构中,服务跨度之大,数量之多,迫切需要架构建立一个去中心化的组件对各个微服务实例的信息进行登记和管理,同时提供能力让各个服微转载 2022-07-10 14:15:09 · 171 阅读 · 0 评论 -
Tomcat-调优2大类
一、前言最近整理了 Tomcat 调优这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调优都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍一下,Tomcat 调优大致分为两大类。1、Tomcat 的自身调优采用动静分离节约 Tomcat 的性能调整 Tomcat 的线程池调整 Tomcat 的连接器修改 Tomcat 的运行模式禁用 AJP 连接器2、JVM 的调优调优 Jvm 内存二、Tomcat 自身调优1、采用动静分离静态资源如果让 Tomc转载 2022-07-10 14:12:04 · 86 阅读 · 0 评论 -
nginx 反向代理和负载均衡策略实战案例
先来看下 nginx 在 web 服务器排名上的趋势:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2nGuTb3W-1657338363008)(https://mmbiz.qpic.cn/mmbiz/12mPmHVcSukYocZ7fcEiaL8FS76C2LtHicbuia4ErX885hkJwEGN0KDDYMSfkq7aQ1Npzm1GsLpR7gibOz2e9zdNpw/640?wx_fmt=other)]存在即合理,那为什么要使用 nginx 呢?这得看看 ng转载 2022-07-09 11:48:12 · 291 阅读 · 0 评论 -
Elasticsearch 高并发写入优化的开源协同经历
导语:在腾讯金融科技数据应用部的全民 BI 项目里,我们每天面对超过 10 亿级的数据写入,提高 ES 写入性能迫在眉睫,在最近的一次优化中,有幸参与到了 Elasticsearch 开源社区中。本文是腾讯开源团队投稿。背景为了更便捷地分析数据,腾讯金融科技数据应用部去年推出了全民 BI 的系统。这个系统通过 Elasticsearch 进行基础的统计,超过 10 亿级的数据量需要尽可能快速地导入到 ES 系统中。即使经过多次的参数优化,我们依然需要几个小时才能完成导入,这是系统此前存在的一大瓶颈。在这样的转载 2022-07-09 11:45:54 · 1408 阅读 · 0 评论 -
HttpClient的DefaultMaxConnectionsPerHost 坑
事件背景我在凤巢团队独立搭建和运维的一个高流量的推广实况系统,是通过 HttpClient 调用大搜的实况服务。最近经常出现 Address already in use (Bind failed) 的问题。很明显是一个端口绑定冲突的问题,于是大概排查了一下当前系统的网络连接情况和端口使用情况,发现是有大量 time_wait 的连接一直占用着端口没释放,导致端口被占满(最高的时候 6w+ 个),因此 HttpClient 建立连接的时候会出现申请端口冲突的情况。具体情况如下:于是为了解决 time_wai转载 2022-07-09 11:44:15 · 1325 阅读 · 0 评论 -
IDEA-后缀补全功能
来源:https://dwz.cn/hlQEDFneIDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码。这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format() 包裹一个字符串、使用类型转化包裹一个表达式、根据判(非)空或者其它判别语句生成 if 语句、用 instanceOf 生成分支判断语句等。使用的方式也很简单,就是在一个表达式后按下点号 . ,然后输入一些提示或者在列表中选择.转载 2022-05-22 10:23:35 · 461 阅读 · 0 评论 -
面试官问:使用 Dubbo 有没有遇到一些坑?
原文地址 mp.weixin.qq.com根据我的面试经验而言, 能在简历上写上原理、源码等关键词的, 是非常具备核心竞争力的. 上周和一个公众号粉丝交流面试情况如下面试的时候, 把源码一波分析, 令面试官虎躯一震! 在一阵前戏过后, 以为接下来无非就是身体的一顿抽搐一切变得索然无味, 不料面试官来了句令剧情发生了反转“你对 Dubbo 源码这么熟悉, 那请问你使用的时候, 有没有遇到什么坑”我擦, 毫无准备的他,菊花顿时一紧!此时就面临唬住了50K,唬不住就只能15K的局面,我开始慌了.转载 2022-05-19 20:52:09 · 131 阅读 · 0 评论 -
idea-Cloud Toolkit
原文地址 mp.weixin.qq.com对于开发者而言,提高工作效率大概有 2 种主要方式,第一种方式就是加快自己的工作速度,争取在同一段时间内多码一些代码、多干一些活来实现多产;而聪明的开发者会选择第二种方式,就是通过插件,让一些重复性的、繁琐性的工作被自动化,从而节省出时间来做一些实质性的业务,达到轻松又高效的工作步调。最近通过发布会直播,了解到一款本地 IDE 插件——Cloud Toolkit,就是通过第二种方式来提高开发者的工作效率。它能够帮助开发者更高效地开发、测试、诊断并部署应用,还.转载 2022-05-19 20:50:42 · 436 阅读 · 0 评论 -
Elasticsearch-集群架构详解
作者:少强原文:https://zhuanlan.zhihu.com/p/32990496分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。我们先来简单看下 Elasticsearch 的架构。Elasticsearch 集群架构Elasticsearch 是一个非常著名的开源搜索和分析系统,目前被广泛应用于互联网多种领域中,尤其是以下三个领域特别突出。.转载 2022-05-27 21:57:40 · 2238 阅读 · 0 评论 -
Logback-正确的打日志姿势
作者:lrwin来源: http://t.cn/E9BkD7a使用 slf4j使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。实现方式统一使用: Logback 框架打日志的正确方式什么时候应该打日志当你遇到问题的时候,只能通过 debug 功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。当你碰到 if…else 或者 switch 这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支经常以功能为核心进行开发,你.转载 2022-05-17 20:42:57 · 586 阅读 · 0 评论 -
Kafka-幂等性的原理及实践
原文地址 mp.weixin.qq.com01 幂等性如此重要Kafka 作为分布式 MQ,大量用于分布式系统中,如消息推送系统、业务平台系统(如结算平台),就拿结算来说,业务方作为上游把数据打到结算平台,如果一份数据被计算、处理了多次,产生的后果将会特别严重。02 哪些因素影响幂等性使用 Kafka 时, 需要保证 exactly-once 语义。要知道在分布式系统中,出现网络分区是不可避免的,如果 kafka broker 在回复 ack 时,出现网络故障或者是 full gc 导致 a.转载 2022-05-17 20:39:27 · 1242 阅读 · 0 评论 -
Dubbo-在携程的升级历程
作者丨顾海洋1 什么是 CDubbo携程从 2017 年 11 月左右开始调研,真正落地是在 2018 年 4 月发布的 CDubbo 0.1.1 版本。在携程内部,我们管他叫 CDubbo,言下之意就是携程版的 Dubbo。考虑到以后升级的问题,CDubbo SDK 是对 Dubbo SDK 的扩展和包装,保留了 Dubbo 所有的扩展和配置能力。目前,生产环境已经从第一个 0.1.1 版本,到目前的 0.13.3 版本,历经十几个版本的迭代,服务端有 156 个应用,客户端 170 个应用,生.转载 2022-05-17 20:34:01 · 424 阅读 · 0 评论 -
RocketMQ-最佳实践
原文地址 mp.weixin.qq.comRocketMQ 是阿里开源的消息队列框架,如今也已成为 Apache 顶级项目,RockerMQ 是一个非常优秀的框架,现在大部分互联网公司使用的消息队列也是 RocketMQ,在我们使用的过程中,如果能一开始就给你最佳实践,可以避免走一些弯路,甚至你看完之后可以自身检查下你们是不是这样使用,没有的话可以进行适当的调整,这篇文章应该能够帮助你更好的使用 RockerMQ。1〓Producer 最佳实践1、Topic一个应用尽可能用一个 Topic,.转载 2022-05-15 18:37:14 · 682 阅读 · 0 评论 -
Java-阿里巴巴优秀开源项目汇总
来源:segmentfault.com/a/11900000173467991. 分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里.转载 2022-05-14 11:05:33 · 388 阅读 · 0 评论 -
限流-RateLimiter 源码分析 (Guava 和 Sentinel 实现)
作者 javadoop,资深 Java 工程师 原文链接 https://www.javadoop.com/post/rate-limiter本文主要介绍关于流控的两部分内容。第一部分介绍 Guava 中 RateLimiter 的源码,包括它的两种模式,目前网上大部分文章只分析简单的 SmoothBursty 模式,而没有分析带有预热的 SmoothWarmingUp。第二部分介绍 Sentinel 中流控的实现,本文不要求读者了解 Sentinel,这部分内容和 Sentinel 耦合很低,所.转载 2022-05-14 10:47:13 · 1035 阅读 · 0 评论 -
Redis-原理讲解
原文地址 mp.weixin.qq.com是数据结构而非类型很多文章都会说,redis 支持 5 种常用的数据类型,这其实是存在很大的歧义。redis 里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。这一点必须要记住。所以任何东西只要能转化成字节数组(byte[])的,都可以存到 redis 里。管你是字符串、数字、对象、图片、声音、视频、还是文件,只要变成 byte 数组。.转载 2022-05-15 18:31:07 · 339 阅读 · 0 评论 -
Travis CI-持续集成服务教程
原文地址 mp.weixin.qq.com编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis CI 就是这类工具之中,市场份额最大的一个本文介绍 Travis CI 的基本用法。用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。而且,它对于开源项目是免费的,不花一分钱,就能帮你做掉很多事情。一、什么是持续集成?Travis CI 提供的是持续集成服务(Con.转载 2022-05-13 21:38:42 · 397 阅读 · 0 评论 -
Elasticsearch-原理及使用、优化
原文地址 mp.weixin.qq.com希望通过这篇文章能让读者大致了解 Elasticsearch 是做什么的以及它的使用和基本原理。生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:又可称为全文数据,不定长或无固定格.转载 2022-05-13 21:36:54 · 377 阅读 · 0 评论 -
Java 程序员常用资源工具集合
来源:http://rrd.me/emdDq搜索资源网站工具类思维导图工具文档笔记平台搜索资源网站学习技术过程我们经常需要使用搜索引擎来检索资料,国内常用的也就是某度了。当然有条件的话,搜索引擎首先还是推荐使用 Google,如果没办法使用,可以使用以下几个作为备用:BingBing 国际版:https://cn.bing.com/比某度好用,之前还被停用了几天,最近可以了。DuckDuckGoDuckDuckGo:https://duckduckgo.com.转载 2022-05-13 21:28:04 · 192 阅读 · 0 评论 -
2019 年 IntelliJ IDEA 快捷键终极大全
来源:http://uee.me/aXfNf自动代码查询快捷键其他快捷键调试快捷键重构十大 Intellij IDEA 快捷键1 智能提示2 重构3 代码生成4 编辑5 查找打开6 其他辅助太难割舍,前三名并列吧!本文有点长,建议收藏 + 分享给基友。独乐乐,不如重基基自动代码常用的有 fori/sout/psvm+Tab 即可生成循环、System.out、main 方法等 boilerplate 样板代码 。.转载 2022-05-12 20:25:06 · 434 阅读 · 0 评论 -
IDEA-构建 maven 多模块工程项目
**来源:**http://suo.im/5n5ymH食用前须知本文以 a b c 三个模块为例来搭建项目, 以达到通俗易懂的初衷模块 a —– 基模块, 就是人们常说的 parent模块 b —– 其他模块都需要使用的一些工具, 比如时间工具, json 工具等模块 c —– 项目主要的内容, 一般为聚合工程先简单讲一下 maven 的一些特点继承这个可以理解为 java 中的继承类似, 父类定义的东西, 子类如果你想用就拿过来用就可以。依赖依赖就相当于我们 java .转载 2022-05-12 20:23:41 · 3111 阅读 · 0 评论 -
Redis该如何监控
原文地址 mp.weixin.qq.com本文重点讲述 Redis 的哪些 metrics 需要重要监控(篇幅有限,不能涵盖所有),以及我们如何获取这些 metrics 数据。从而确保对我们应用至关重要的 Redis 是否健康运行,以及当出现问题时能及时通知我们。吞吐量吞吐量包括 Redis 实例历史总吞吐量,以及每秒钟的吞吐量。可以通过命令 info stats 中的几个得到我们要监控的吞吐量:# 从Rdis上一次启动以来总计处理的命令数total_commands_processed:22.转载 2022-05-15 18:31:29 · 3689 阅读 · 0 评论 -
fastjson 与一起堆内存溢出引发的‘血案‘
问题现象QA 同学反映登录不上服务器排查问题 1-- 日志查看 log, 发现玩家登录的时候抛出了一个 java.lang.OutOfMemoryError,大概出错代码是序列化一个 PlayerMirror 镜像数据保存到 Redis 的时候,但是在 JSON.toJSONString 的时候出现了错误。即序列化的时候需要扩容 expandCapacity,但是内存不足。又看了一下日志,有好几个 OutOfMemoryError, 都是类似于用 fastjson 序列化 Playe..转载 2022-05-11 21:41:52 · 2783 阅读 · 0 评论 -
Netty 的内存管理
原文地址 mp.weixin.qq.com说明在学习 Netty 的时候,ByteBuf 随处可见,但是如何高效分配 ByteBuf 还是很复杂的,Netty 的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解:**Netty 分配池化的堆外内存的细节,**期待可以让你明白!!!由于为了更好的表达,文章中的图我最少画了 6 小时,画的不熟悉,并且也强调一些细节上。由于该源码中涉及到大量的二进制操作,建议看看我之前写的 2 篇二进制文章:java 二进制.转载 2022-05-11 21:37:04 · 336 阅读 · 0 评论 -
抓包工具-tcpdump用法说明
转自:骏马金龙www.cnblogs.com/f-ck-need-u/p/7064286.htmltcpdump 采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。不带任何选项的 tcpdump,默认会抓取第一个网络接口,且只有将 tcpdump 进程终止才会停止抓包。例如:shell> tcpdump -nn -i eth0 icmp下面是详细的 tcpdump 用法。1.1 tcpdump 选项它的命令格式为:tcpdump [ -DenNqvX .转载 2022-05-11 21:34:38 · 2253 阅读 · 0 评论 -
IDE-最佳配置
作者 | 琦彦链接 | blog.youkuaiyun.com/fly910905/article/details/778683001. 设置 maven1.在File->settings->搜索maven2.Mavan home directory--设置maven安装包的bin文件夹所在的位置3.User settings file--设置setting文件所在的位置4.Local repository--设置本地仓库2.IDEA 设置代码行宽度1.在File->sett.转载 2022-05-11 20:56:59 · 3566 阅读 · 0 评论 -
大数据-Apache Kylin 在携程的实践
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com在近期的 Apache Kylin Meetup 上,携程大数据资深研发工程师张巍分享了 Kylin 在携程的应用。本文为大家介绍携程当前的架构以及使用 Kylin 过程中的挑战与心得。背景1早期架构下图是携程早期的 OLAP 结构,比较简单。有两个应用,一个是 BI 分析报表工具,另一个是自助分析的 Adhoc 平台,下层主要是 Hive,技术比较单一。Hive 是比较慢的运行引擎,但是很稳定。期间我们也使用过.转载 2022-03-25 18:34:02 · 357 阅读 · 0 评论 -
Git-提升效率的方式
GitHub 作为全球最大的代码托管网站,每天在上面都会产出大量的项目仓库、代码、提交记录。而据 2018 年的官方统计报告称,GitHub 上已累积超过 9600 万个仓库,2 亿条 pull requests。由此可见,在如此高密度的代码推送频率下,GitHub.转载 2022-03-25 18:20:53 · 293 阅读 · 0 评论 -
Presto学习(2)-Presto部署报错信息汇总
com.facebook.presto.server.PrestoServer Unable to create injector, see the following errors:网上说的是配置文件没弄好,我就是配置文件的端口号被占用了:config.properties里面的http-server.http.port Cannot connect to discovery serve...原创 2019-02-26 17:38:52 · 5208 阅读 · 2 评论 -
Presto学习(6)-配置优化
由于公司的安规要求,不允许又第三方的聊天工具、云盘及笔记,导致有道云无法使用,故将有道云笔记整理发布在优快云 基本环境服务器1:JDK1.8、zookeeper 、presto、presto client、hive、hive client服务器2:JDK1.8、zookeeper 、presto服务器3:JDK1.8、zookeeper 、presto服务器配置:CPU 双核,内存20G,硬盘100G config.properties文件配置优化#改动这个查询速度影响不大,但是注原创 2022-03-16 15:07:39 · 2082 阅读 · 0 评论 -
Presto学习(5)-Oracle连接
Oracle ConnectorOracle数据库连接器允许在外部Oracle数据库中查询和创建表。这可用于在不同系统(如Oracle和Hive)之间或不同Oracle数据库实例之间连接数据。默认情况下不安装此插件。如果您想了解有关获取和使用Presto与Oracle数据库的更多信息,请联系hello@starburstdata.com。安装和配置先决条件:以下任何安装和配置方法都需要以下工件:Oracle的JDBC驱动程序可以从Oracle的https://www.or原创 2022-03-16 15:04:51 · 3221 阅读 · 0 评论