-
后端必备:2023 Java工程化指南——从"能跑"到"能扛"的实战兵法当项目从Demo膨胀到百万级用户,当线上故障让你凌晨三点爬起来——你会深刻理解一个真理:代码写得好不好是能力,工程做得好不好是生死。 2023年,Java后端工程化已经不是"加分项",而是"入场券"。这篇指南,就是你从野路子走向正规军的作战地图。一、为什么工程化是后端的"续命丹"?三个真相击穿幻想真相一:80%的线上故障,根源不在代码,在工程。 某电商大促期间系统崩溃,排查后发现不是算法问题,而是没有限流、没有熔断、没有灰度发布。代码再漂亮,工程塌了一切归零。真相二:团队协作的最大敌人,是"每个人都有自己的风格"。 没有统一规范,十个人写出十种代码,维护成本呈指数级上升。工程化的本质,是用制度消灭混乱。真相三:2023年的技术趋势已经指明方向。 DevOps、云计算、GitHub协作、AI融合——这些不是概念,是你每天必须面对的现实。不懂工程化,连招聘JD都看不懂。二、六大适用场景:工程化落到哪里,哪里就不崩场景一:微服务架构治理。 Spring Cloud Alibaba已经成为主流——Nacos做注册中心与配置中心,Sentinel做限流熔断,Seata管分布式事务。某金融机构用这套体系改造核心系统后,故障率下降67%,发布频率从每月一次提升到每天三次。微服务不是拆完就完事,治理才是真功夫。场景二:CI/CD持续交付。 Jenkins、GitLab CI、GitHub Actions——选哪个不重要,重要的是必须有。自动化构建、自动化测试、自动化部署,把"人肉发布"变成"一键上线"。某团队上线CI/CD后,部署时间从2小时压缩到8分钟,回滚时间从30分钟降到2分钟。场景三:容器化与云原生。 Docker是基础设施,Kubernetes是指挥中枢。2023年不会K8s的后端,就像2010年不会用Linux。某视频平台将200个微服务容器化后,资源利用率提升40%,运维人力减少一半。场景四:全链路可观测性。 Prometheus采集指标,Grafana做可视化,SkyWalking做链路追踪,ELK Stack管日志。没有监控的系统就是在裸奔。某支付公司引入全链路追踪后,平均故障定位时间从45分钟降至5分钟——这不是优化,是救命。场景五:代码质量保障。 Git做版本控制,JUnit写单元测试,SonarQube做代码扫描,GitHub做Code Review。某团队强制Code Review后,线上Bug数量减少62%。测试不是浪费时间,是最便宜的保险。场景六:安全工程化。 Spring Security做认证授权,OWASP工具扫漏洞,PreparedStatement防SQL注入,敏感数据加密存储。Java漏洞中超过三分之一涉及序列化问题——工程化的安全策略,不是事后补救,是事前免疫。三、四条铁律:工程化不是堆工具,是建体系铁律一:规范先行,工具跟上。 先定编码规范、Git分支策略、API设计标准,再选工具。没有规范的工具链,只是把混乱自动化了。铁律二:小步迭代,持续改进。 别想一步到位,先把CI/CD跑通,再加监控,再上容器化。每一步都能看到效果,团队才有信心。铁律三:可量化,可复盘。 "系统更稳定了"不是结论,"P99延迟从800ms降到200ms"才是。没有数据的工程化就是自嗨。铁律四:人比工具重要。 再好的体系,没有人执行就是废纸。工程化的终极目标,是让团队每个人都成为"靠谱的人"。一句话总结2023年,Java后端的竞争已经不是"谁代码写得好",而是"谁工程做得稳"。 微服务治理、CI/CD、容器化、可观测性、代码质量、安全体系——这六根柱子,缺一根就塌。工程化不是大厂的专利,是每个后端开发者的生存技能。别等线上出事才后悔,现在就开始,把你的项目从"能跑"升级到"能扛"。
-
2023Java高频面试技术要点总结站在2026年的深秋回望,2023年的Java面试就像一本泛黄的武功秘籍,虽然技术浪潮已几度更迭,但当年那些高频考点至今仍是衡量Java程序员基本功的黄金标准。三年过去了,技术框架不断推陈出新,大模型改变了编程方式,但Java的底层原理、并发基础、JVM调优这些核心知识,依然像地基一样支撑着每一座高楼大厦。作为一个经历过那个时代的面试官和候选人,我想把这些年沉淀下来的面试要点做一个系统梳理,希望能帮你理清思路,少走弯路。面试的本质:底层能力的试金石在深入具体的技术点之前,有必要先说说面试到底在考什么。很多候选人把面试等同于“做题”,背了一堆八股文,结果面完还是一头雾水。其实面试官的所有问题,最终都在考察三件事:技术理解的深度、解决问题的思路、以及学习新知识的能力。举个例子,问到HashMap,初级工程师能说出数组加链表、键值对存储、允许null键值。中级工程师能讲清楚扩容机制、负载因子0.75的由来、红黑树的转换阈值。高级工程师能深入分析多线程环境下的死循环问题、扰动函数的设计思想、以及ConcurrentHashMap的分段锁优化。同一个知识点,不同层次的回答反映了候选人认知的深度。所以,这篇文章总结的不是“标准答案”,而是一个知识框架和思考路径。真正的高手不是背得最熟的人,而是理解最透的人。JVM:Java程序员的必修课JVM是Java面试的重中之重,几乎每一轮技术面都会涉及。原因很简单:不懂JVM,就无法真正理解Java程序的运行机制,更谈不上性能调优和问题排查。内存模型是JVM部分的基础。堆、栈、方法区、程序计数器,各自存什么、生命周期怎样、什么情况下会内存溢出,这些是必须烂熟于心的。2023年面试时,面试官特别喜欢问:“一个对象从创建到被回收,它在内存里经历了什么?”这个问题能把栈上分配、TLAB、老年代晋升、GC标记清理这些知识点串起来,是检验候选人有没有真正理解内存模型的经典问题。垃圾回收是另一个重灾区。很多候选人背了各种GC算法的定义,但说不清楚CMS和G1的区别到底在哪、什么场景选哪个。面试官真正想听的是:你能不能说清楚CMS的并发标记和重新标记是为了解决什么问题,G1的Region划分和停顿预测模型是怎么设计的,以及在你过往的项目里有没有实际遇到过GC问题、怎么定位的、怎么解决的。GC日志、MAT分析、Arthas在线诊断这些工具的使用经验,比背诵算法定义加分得多。类加载机制也经常被问到。双亲委派模型的含义、为什么这样设计、如何打破、Tomcat的WebAppClassLoader是怎么做的、OSGi的类加载器和双亲委派有什么不同。这些问题背后考察的是对Java生态中类隔离和版本冲突问题的理解。并发编程:高手和普通人的分水岭并发编程是拉开薪资差距的关键科目。会用synchronized和会用JUC工具类之间差一个级别,会用工具类和能排查并发问题之间又差一个级别。锁机制的演进是面试官喜欢顺着问的话题。synchronized从重量级锁到偏向锁、轻量级锁、重量级锁的膨胀过程,锁消除、锁粗化这些编译期优化,和Lock接口的对比。面试官希望听到的不是“synchronized比较重,Lock更灵活”这种泛泛而谈,而是具体的场景判断:什么情况下偏向锁有意义,自旋锁的参数怎么调,什么时候应该用StampedLock的乐观读。线程池是生产环境使用最频繁的并发组件,也是最容易被问倒的地方。核心线程数、最大线程数、队列容量之间的关系不是死记硬背的参数,而是一个需要根据任务类型来设计的配置。IO密集型和CPU密集型的任务,线程数的计算公式不一样;拒绝策略的选择,取决于你的业务能接受丢弃还是愿意等。面试官一般会给一个具体场景让你设计线程池参数,这时候要说出设计思路和理由,而不是直接抛出一个数字。volatile的可见性和禁止指令重排,单独问的时候大多数人都能答上来。但放到双重检查锁定的单例模式里,问为什么要加volatile,很多人就支支吾吾了。这个问题的本质是:对象的创建不是原子操作,先分配内存、再初始化、最后赋值的步骤可能会被重排,导致其他线程拿到一个未初始化完成的对象。能讲清楚这个细节,说明对Java内存模型的理解已经到位了。集合框架:源码级别的理解才是真懂ArrayList和LinkedList的区别,入门级的问题。但面试官不会停在这里,他会追问:ArrayList的扩容机制是怎样的,扩容时为什么是1.5倍,System.arraycopy的效率如何,subList返回的视图和原列表有什么关系。这些问题不在源码里过一遍,很难回答得让面试官满意。HashMap就更不用说了。put方法的完整流程、hash计算的扰动处理、数组长度为什么是2的幂次、树化的阈值为什么是8和6、红黑树和链表的转换时机、resize时的rehash过程。2023年面试时,能完整画出一个HashMap插入和扩容的流程图,基本就过关了。但高手还会追问:多线程环境下为什么会有死循环、JDK 1.8之后解决了没有、ConcurrentHashMap是怎么用CAS和synchronized组合实现线程安全的。Spring框架:从使用到理解Spring是Java开发的基础设施,面试必然会问。但面试官想区分的是:你是会用注解,还是理解Spring的设计思想。IoC容器的Bean生命周期是必考题。实例化、属性赋值、初始化前中后、销毁,这些阶段要能说清楚。每个阶段有哪些扩展点——BeanPostProcessor、InitializingBean、init-method、@PostConstruct的关系和区别。能准确说出这些,说明你对Spring容器的运行机制有真实的理解。AOP的原理也是高频考点。动态代理和CGLIB的区别、选择规则、JDK动态代理为什么必须基于接口。面试官会追问:目标方法的内部调用为什么AOP会失效,怎么解决。这个问题考察的是对代理模式实质的理解——代理对象调用的是目标对象的方法,内部调用绕过了代理。事务的传播行为也是面试常客。七种传播级别,尤其是REQUIRED和REQUIRES_NEW的区别,NESTED的实现原理。面试官会给一个多方法调用的场景,问事务会不会回滚,需要你根据传播级别和异常类型来判断。MySQL:索引和优化是核心数据库面试的核心永远是索引和优化。索引的数据结构为什么是B+树不是B树也不是红黑树,聚簇索引和非聚簇索引的区别,回表和索引覆盖,最左前缀原则,索引下推。这些问题需要你从磁盘IO和查询成本的角度去理解,而不是背概念。一条SQL执行慢,怎么分析。explain的输出每个字段的含义,type列从system到ALL的性能排序,Extra列里的Using filesort和Using temporary意味着什么。慢查询日志的配置和解读,profile分析,以及常见的优化手段。MVCC和事务隔离级别也是绕不开的。可重复读级别下如何通过MVCC解决不可重复读,间隙锁和临键锁在什么场景下生效,幻读在InnoDB中是怎么被解决的。从2023到2026回看2023年的Java面试,和2026年的面试相比,最大的不同是AI工具的普及让“会写代码”变得廉价了。但有一类能力反而更加珍贵:理解底层原理、能在没有AI辅助的情况下独立排查复杂问题、能设计和做技术决策。当年那些高频面试题,今天依然是面试的基石。它们代表的不是“过时的知识”,而是Java技术体系中最稳定、最核心的部分。框架会变,工具会变,但JVM的内存模型、并发的底层机制、数据库的索引原理,这些知识会像杠杆一样,让你的能力放大十倍、百倍。花时间把这些基础夯实,是在技术道路上走得更远的最好投资。无论技术如何演进,那些真正理解底层的工程师,永远是团队中最不可或缺的人。
-
越过语法泥潭,直击智能核心:一个Java老兵的AI破局宣言当“生产级AI Agent课程结业”的证书在屏幕上亮起,我长长地舒了一口气。作为一名在Java企业级开发里摸爬滚打多年的老兵,这一刻,我仿佛听见了职业生涯那道沉重天花板碎裂的声音。在这个大模型狂飙突进的时代,我经历了从轻视到焦虑,再到破釜沉舟转型的完整心路。而这段学习经历,让我无比确信:Java开发者转战AI,首选绝非去卷底层算法,而是打造生产级AI Agent。这不仅是职业轨道的切换,更是一场深刻的认知重构。一、 打破“螺丝钉”宿命:Java老兵的困境与觉醒不可否认,Java曾是我们安身立命的法宝,它严谨的生态、完善的设计模式,构筑了互联网时代的商业底座。但随着时代演进,Java开发越来越像是在一套精密且庞大的齿轮系统中做微调。我们熟练地写着CRUD,熟练地处理事务与中间件,却悲哀地发现:业务价值的核心正在转移。我们变成了高级的“砌砖工”,对软件系统的整体智能走向毫无话语权。当大模型横空出世,我最初的本能是恐慌的——不懂神经网络,不会调参,难道只能被时代边缘化?但AI Agent课程给了我当头一棒:AI的落地,不仅需要懂模型的“科学家”,更需要懂工程、懂业务的“架构师”。Java开发者多年积累的系统性思维、对并发与稳定性的极致追求,正是将大模型从“玩具”变成“生产力工具”最稀缺的品质。我们的战场不在实验室,而在生产环境。二、 从“指令执行”到“目标委托”:思维的降维打击学习AI Agent,最大的震撼不是技术本身,而是交互范式的根本逆转。传统的Java开发是“指令式”的,我们把每一步逻辑用if-else写得死死的,机器只是被动执行的提线木偶;而Agent是“委托式”的,我们赋予它一个宏观目标,它自主拆解、规划、调用工具、反思纠错。这种转变,对程序员的思维是毁灭性的,也是重生的。初学时,我总想用代码去控制Agent的每一步走向,难以忍受它的“不可控”。但课程的实战让我明白:做Agent,就是要学会“放手”。我们要设计的不再是铁板一块的流程图,而是设定合理的护栏、提供丰富的工具箱、设计精妙的提示词策略。从“编写逻辑”到“设计认知”,这是从码农向AI架构师跨越的最关键一步。三、 拒绝Demo幻觉:“生产级”才是Java人的绝对主场市面上讲AI的课很多,但敢讲且能讲透“生产级”的凤毛麟角。这是这门课程最硬核的地方,也是Java开发者最能产生共鸣的地方。一个大模型API调用,加一个简单的网页界面,那是Demo,是业余玩家的狂欢;而一个真正的生产级AI Agent,需要面对的是:大模型的幻觉如何兜底?高并发下的Token限流怎么做?多轮对话的上下文如何高效管理?异构工具调用的异常如何重试与回滚?复杂的业务权限如何隔离?这简直是为我们量身定制的战场!我们在Java领域沉淀的高并发处理、微服务架构、分布式事务、设计模式等工程经验,在Agent的工程化落地中迎来了大爆发。我们懂得如何将大模型这种“非确定性”的引擎,封装在企业级应用“确定性”的框架内。课程中对RAG的深度工程化拆解、对Agent工作流的持久化设计,让我彻底摆脱了“AI只是个聊天框”的狭隘认知,真正具备了将其作为企业核心基础设施来架构的能力。四、 突围之路:用工程重塑智能的边界转型不是背叛,而是进化。我们不需要抛弃Java,而是要将其作为构建AI大厦的钢筋水泥。大模型提供的是智慧的“大脑”,而Agent框架是其“神经中枢”,Java工程化能力则是支撑其跑跳的“骨骼与肌肉”。这门课程让我看清了未来的职场核心竞争力:纯粹写业务逻辑的程序员会被AI替代,但能够驾驭AI、设计Agent系统、将大模型能力与复杂业务场景深度融合的“AI工程架构师”,将是未来十年最稀缺的人才。结语打破职业瓶颈,从来不是靠在原有的赛道上疯狂内卷,而是跃迁到新的维度。生产级AI Agent课程,给了我越级攀登的阶梯。我不再焦虑于大模型又更新了什么参数,因为我知道,无论模型如何演进,都需要坚实的工程架构去承载,需要聪明的Agent去调度。作为Java老兵,我们的代码生涯并没有结束,而是刚刚翻开最激动人心的新篇章——我们不再是给业务打补丁的人,而是赋予系统智能、让AI真正在产业中落地的造梦师。
-
跨越周期迷雾:2023 Java 工程师进阶与薪资跃迁的底层逻辑在 2023 年这个技术演进与经济周期发生剧烈碰撞的十字路口,Java 开发领域正经历着一场极其残酷却合乎逻辑的洗牌。曾几何时,只要熟练掌握 SSH/SSM 框架,会写基本的增删改查,就能在互联网红利期轻松拿到高薪入场券。然而今天,伴随着流量见顶与产业互联网的深化,“会用框架”已经从核心竞争力退化成了从业者应有的“呼吸能力”。大量仍停留在业务胶水代码层面的 Java 工程师,正陷入无休止的内卷与薪资停滞的泥沼。“告别死工资,实现薪资跃迁”,这句话在当下绝不仅仅是跳槽换名片那么简单。它背后要求 Java 工程师必须重新审视自身的发展轨迹,精准把脉当前的就业市场趋势,完成从“代码搬运工”到“复杂系统架构师”的底层逻辑重构。一、 就业趋势之变:从“野蛮生长”到“精耕细作”的价值重估想要实现薪资跃迁,首先要看懂企业在 2023 年到底愿意为什么样的能力买单。当前的就业市场呈现出两个极其明显的断裂带。第一个断裂带是初级人才的绝对过剩与高级架构人才的极度稀缺。随着各大厂降本增效成为常态,企业缩减了毫无经验的“螺丝钉”HC。但与此同时,企业在进行数字化转型、微服务改造、底层性能调优时,却发现能真正扛起大旗的人少之又少。市场不再愿意为“人力堆叠”买单,而是疯狂追逐“智力杠杆”。这意味着,那些能够以一己之力解决线上 OOM 频繁宕机、能够将系统吞吐量提升数倍的 Java 工程师,其薪资定价权完全掌握在自己手中。第二个断裂带是技术栈的收敛与底层深度的要求急剧上升。过去几年,Java 生态中出现了海量的中间件和框架,很多人沾沾自喜于“用过多少框架”。但在 2023 年的就业面试中,简历上写“熟悉 Redis、熟悉 MQ”已经无法引起面试官的任何兴趣。企业的考察点正在疯狂向下穿透:你不仅要用 Redis,你还要懂底层跳表结构、懂 RDB 与 AOF 混合持久化的底层 IO 模型;你不仅要用消息队列,你还要能画出极其严谨的分布式事务状态机,能讲清楚在极端宕机情况下消息防丢失、防重复消费的底层机制。就业趋势已经明确宣告:知其然的时代结束了,知其所以然才是高薪的护城河。二、 发展趋势之变:从“业务支撑”向“技术赋能”的角色蜕变从程序员个人长远的职业发展来看,Java 工程师的价值锚点正在发生根本性的位移。这也是打破“死工资”天花板的核心所在。传统的 Java 开发者,往往被定位为“业务需求的翻译机”。产品经理画原型,开发者写代码实现。在这种模式下,你的薪资上限是由业务部门的利润上限决定的,一旦业务停滞,你的发展也就随之停滞。而 2023 年之后的进阶趋势是,优秀的 Java 工程师必须成为“技术赋能者”。所谓技术赋能,是指你不再被动等待需求,而是能够利用底层技术手段,主动为业务开辟新的可能性。例如,当业务面临高并发秒杀瓶颈时,你能够主动引入多级缓存架构、异步化改造,将原本只能支撑 1000 QPS 的系统拉升到 10 万 QPS,直接为公司创造出承接更大规模营销活动的条件;当数据库面临千万级大表的查询危机时,你能够通过分库分表、索引深度优化、甚至引入 ES 和 CQRS 架构,将响应时间从秒级降到毫秒级。当你完成了这种角色蜕变,你交付的不再是“代码行数”,而是“性能指标的提升”和“服务器成本的节约”。你的价值评估模型就从“研发成本”变为了“利润中心”,薪资跃迁自然水到渠成。三、 薪资跃迁的破局之道:重塑三大核心壁垒看懂了趋势,接下来就是如何将认知转化为实际的进阶动作。想要在 2023 年告别死工资,必须着力重塑以下三大核心壁垒:1. 夯实底层基石:将 JVM 与并发编程化为肌肉记忆不要再去纠结各种边缘框架的使用,把最核心的精力投入到 Java 底层。深入理解 JVM 内存模型、垃圾回收算法在不同业务场景下的调优策略;将 Java 并发编程(JUC)啃透,不仅要知道各种锁的实现原理,更要深刻理解线程池的底层运转机制、内存可见性与指令重排在实际高并发场景下的致命影响。能够在线上复杂的生产环境中,通过 dumped 内存快照快速定位内存泄漏,是拿到高薪的绝对硬通货。2. 攻克分布式难题:构建高可用架构的系统化思维微服务不是简单的把一个大项目拆成几个小项目,而是面对分布式环境下“一切皆不可靠”的妥协与治理。必须死磕分布式事务(如 Seata 的 AT、TCC 模式的底层原理)、分布式锁、以及限流熔断降级的完整链路。你要在脑海中建立一套完整的系统可用性防御体系:当某个节点挂掉时,如何做到无损容灾?当流量洪峰到来时,如何保护核心链路?这种全局的架构视角,是区分初级开发与资深架构的分水岭。3. 拥抱云原生生态:拓宽技术与业务的物理边界Java 已经不再是孤立的运行在物理机上的程序。未来的进阶方向必须与云原生(Docker、Kubernetes)深度绑定。你需要理解 Java 程序在容器环境下的资源限制问题、懂服务网格的流量调度逻辑。更重要的是,要将视野向外延伸,理解大数据的离线/实时计算链路(如 Flink、Kafka 的深度应用),理解基础架构如何支撑业务数据的流转。你的技术视野越宽广,能够解决的业务复杂度就越高,薪资的弹性空间就越大。结语在 2023 年这个时间节点,Java 工程师告别死工资的过程,注定是一次逆人性的苦行。它要求你彻底砸碎过去赖以生存的“舒适区”,向下扎根到枯燥的底层原理中,向上延展到复杂的业务架构里。时代的红利已经从“普及计算机知识”转移到了“攻克高深复杂系统”。当你不再畏惧底层的晦涩,当你能够以架构师的上帝视角审视每一行代码对整个系统的影响时,你会发现,所谓的薪资天花板,不过是弱者给自己设定的心理牢笼。跨越它,前方是另一片广阔的星辰大海。
-
org.postgresql.util.PSQLException: The authentication type 5 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication type supported by this driver.at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:556)at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:195)at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactoryImpl.java:65)at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)连接Gaussdb库,使用的是<dependency> <groupId>com.huaweicloud.dws</groupId> <artifactId>huaweicloud-dws-jdbc</artifactId> <version>8.3.0</version></dependency>试过:1、在连接的配置参数是将spark.yarn.user.classpath.first、spark.driver.userClassPathFirst、spark.executor.userClassPathFirst三个参数均设置true,但是没啥用
-
初衷竟然只是为了防止开挂。。反正也是单核
-
全球贵金属行情查询,包括:实时价格、历史价格、K线走势、期货合约等,覆盖国内和国外贵金属交易数据。国内贵金属包括:黄金、白银、铜、国际铜、锌、铝、镍、锡、铅、不锈钢、螺纹钢。国际贵金属包括:伦敦金、伦敦银、伦敦铜、伦敦铝、伦敦锌、伦敦镍、伦敦铅、伦敦锡、现货铂金、现货钯金、美黄金、美白银、美铜。下面介绍贵金融行情的API参见此处国内贵金属报价请求参数名称类型必须说明symbolString是国内贵金属期货品种代码成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "138485498227260625726111",//本次请求号 "data": { "presettle": 614.51, "ask_vol": 3, //卖量(手数) "change": 3.71,//涨跌额 "bid_vol": 1, //买量(手数) "hold": 236472, //持仓量 "volume": 13396, //成交量 "update_time": 1731090599, "high": 619.7, //最高价 "low": 614.2, //最低价 "price": 618.22,//当前价格 "name": "黄金延期", //名称 "ask": 618.68, //卖价 "preclose": 612.87,//昨日收盘价 "bid": 616.02, //买价 "changeRate": 0.6,//涨跌率 "value": 8273493248,//成交额 "open": 614.3 //今日开盘价 } } 国内贵金属K线请求参数名称类型必须说明symbolString是国内贵金属品种typeString是k线类型0:日k1:1分钟5:五分钟30:30分钟60:60分钟120:120分钟240:240分钟limitString否返回条数 默认10成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "089625202232146663243632",//本次请求号 "data": { "lines": [ [ 621.5, 624.78, 625.7, 620.32, 3.28, 0.53, 34402, 1730044800 ] ], "fields": [ "open",//当前分钟开盘价 "close",//当前分钟收盘价 "high", //当前分钟最高价 "low", //当前分钟最低价 "change", //当前分钟涨跌额 "changeRate", //当前分钟涨跌率正常返回示例 "volume", //当前分钟成交数 "tick_at" //数据时间戳 ] } } 国内贵金属期货合约请求参数名称类型必须说明symbolString是国内贵金属期货品种代码成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "668229506174286233793097",//本次请求号 "data": { "list": [ { "symbol": "AU0", //代码 "name": "黄金2412" //名称 }, { "symbol": "AU2412",//代码 "name": "黄金2412" //名称 } ] } } 国际贵金属报价请求参数名称类型必须说明symbolString是国际贵金属品种成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "795463438161562841240471",//本次请求号 "data": { "presettle": 614.51, "ask_vol": 3, //卖量(手数) "change": 3.71,//涨跌额 "bid_vol": 1, //买量(手数) "hold": 236472, //持仓量 "volume": 13396, //成交量 "update_time": 1731090599, "high": 619.7, //最高价 "low": 614.2, //最低价 "price": 618.22,//当前价格 "name": "伦敦金(现货黄金)", //名称 "ask": 618.68, //卖价 "preclose": 612.87,//昨日收盘价 "bid": 616.02, //买价 "changeRate": 0.6,//涨跌率 "value": 8273493248,//成交额 "open": 614.3 //今日开盘价 } } 国际贵金属K线请求参数名称类型必须说明symbolString是国际贵金属品种typeString是k线类型0:日k1:1分钟5:五分钟30:30分钟60:60分钟120:120分钟240:240分钟limitString否返回条数 默认10成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "881490008152974143098955",//本次请求号 "charge": true,//计费标志 "data": { "lines": [ [ 2734.83, 2736, 2736.09, 2734.83, 1.17, 0.04, 55, 1732310100 ], [ 2736, 2736.63, 2736.63, 2736, 0.63, 0.02, 42, 1732310400 ] ], "fields": [ "open",//当前分钟开盘价 "close",//当前分钟收盘价 "high",//当前分钟最高价 "low", //当前分钟最低价 "change",//当前分钟涨跌额 "changeRate",//当前分钟涨跌率正常返回示例 "volume",//当前分钟成交数 "tick_at" //数据时间戳 ] } } 国际贵金属期货合约请求参数名称类型必须说明symbolString是国际贵金属期货品种代码成功返回样例{ "code": 200,//返回码对应描述 "msg": "成功",//返回码,详见返回码说明 "taskNo": "251234402215985750524304",//本次请求号 "charge": true,//计费标志 "data": { "list": [ "SI", "SI2411", "SI2412", "SI2501", "SI2503", "SI2505", "SI2507", "SI2509", "SI2512" ] } } }
-
>run_and_test.bat ./demos/Solution.java ./data/practice_2.in ./data/practice_1.outCompiling Solution.java...Begin running ...本地运行后一直卡在这里python的也是这样
-
不然根本不知道自己的分应该优化正确性还是速度,优化了交上去都没有提示,作为练习赛,应该放开这一点吧
-
依据任务书3.0所说,先判断欧式距离是否和正确答案差距小于1e-4,再判断图形是否重合。如果出现图形A,B之间在边缘处重合,但是因为所需位移小于1e-4而输出(0,0)答案是否算错误
-
书号通常指国际标准书号(ISBN,International Standard Book Number),是国际通行的图书唯一标识符,相当于每一本书、每一种版本的“身份证号码”。书号的构成目前使用最广的是13位ISBN(2007 年之后全面推行),其结构为:前缀元素:固定为978或979(图书产品代码)国家/语言区号:如中国为7(简体中文出版物常用)出版社代码:由书号管理机构分配给出版社书序号:出版社为具体出版物分配的编号校验码:最后一位,用于验证书号是否正确书号的作用唯一标识:一本书的不同版本(精装、平装、电子书)、不同语种、不同格式都会有各自独立的书号。全球通用:在世界范围内,通过书号可以精准定位一本出版物。出版必备:在中国,正规出版物必须配有书号,才能进入发行渠道(实体书店、电商平台、图书馆等)。流通与数据基础:图书的编目、订购、库存、销售统计、版权管理都依赖书号。#书号查询API介绍可以接入书号查询API,根据书号来查询书本的详细信息,包括:书名、作者(编者、译者)、出版社、出版日期、出版地、版次、印次、装帧信息、纸张开数、语言、字数、页数等信息。详细使用参见此处请求参数名称类型必须说明isbnString是书的isbn码(必须是10、13位的纯数字)返回样例{ "code": 200, "msg": "成功", "taskNo": "65171553403304103621", "charge": true, "data": { "details": [ { "series": "",//丛书信息(不是丛书为空字符串) "title": "2",//书名 "author": "",//作者(编者、译者)信息 "publisher": "",//出版社 "pubDate": "",//出版日期 "pubPlace": "长春",//出版地 "isbn": "9787555357902",//13位isbn号 "isbn10": "7555357909",//10位isbn号 "price": "28.80",//定价 "genus": "TP311.132.3",//中图分类号 "levelNum": "",//读者评分 "heatNum": "0",//图书热度(即:购买或评论总人次) "format": "",//纸张开数 "binding": "平装",//装帧信息 "page": "",//页数 "wordNum": "",//字数 "edition": "1版",//版次 "yinci": "1",//印次 "paper": "",//书籍纸张类型 "language": "",//语言 "keyword": "",//图书关键词 "img": "",//封面图片大图链接,有效期10天。建议自行下载保存,避免丢失 "bookCatalog": "",//目录 "gist": "",//图书内容简介 "cipTxt": "",//cip信息 "annotation": "",//一般附注 "subject": "",//主题 "batch": ""//丛编信息 } ] } }
-
线上判题器对时延的敏感性到底如何?10s的时间不改变成绩嘛?
-
想问一下各位py,c++,java交demo分别多少分啊,一样吗?
-
本地可以编译的情况下排查起来真的很费时间
-
sh脚本好像只编译Solution文件,和官方说的编译全部文件不一致,导致无法多文件运行。
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
即将直播
热门标签