JAVA自学之路1.1:JAVA入门纠错
1.1、JAVA入门纠错
在JAVA入门这篇文章里有些问题和错误需要纠正,懒得再改那篇文章了,直接写在这好了。
package test.test1;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
在之前的文章里,我将HelloWorld.java文件放在了E盘根目录下 ...
java研发工程师必知必会
java作为一种跨平台、面向对象的编程语言,广泛应用于企业级Web开发和移动应用开发。其核心特性包括可移植性(一次编写,到处运行)、安全性、分布式支持以及泛型编程能力。又因其简单易学深受广大程序员所喜爱。自1995年推出以来,语言也经历了多次的迭代更新,而对于一些较早接触该语言的老程序员来说,对一些新特征甚至 ...
Spring AI学习:工具调用实践(基于和风天气api)
工具调用总体实现:
设计工具类:
@Component
public class WeatherInquiryTools {
@Autowired
private WeatherService weatherService;
@Tool(description = "根据城市名称查询城市LocationID")
public String getLocationId(@ToolParam(description = "城市名称") String cityName){
return w ...
Queue & Stack:实现机制与使用场景深度分析
为什么不推荐使用Stack
Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque
为什么不推荐使用
性能低:是因为 Stack 继承自 Vector, 而 Vector 在每个方法中都加了锁。由于需要兼容老的项目,很难在原有的基础上进行优化,因此 Vector 就被淘汰掉了,使用 ArrayList 和 CopyOnWriteArrayList 来代替,如果在非线程 ...
Spring AI学习:配置redis向量数据库&RAG实践
配置redis向量数据库:
配置依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-vector-store-redis</artifactId>
</dependency>
配置redis数据库属性:
RAG实践:
使用spring ai提供的环绕增强(advisor)功能实现RAG。
配置依赖:
<depen ...
一个月搞定100+表迁移:我的“偷师”Navicat实战复盘
个人声明:本文所有代码示例均已脱敏处理,仅保留核心技术逻辑,不涉及任何敏感业务信息。
前情提要:一个堪称"社死"的工期
还记得那天,老板把我叫到办公室,递过来一份需求文档:"下个月要把项目迁移到新平台,数据这块你来搞定。"
我打开文档,扫了一眼,差点当场石化:
需求清单:
100+张数据表要迁移(还要支持后 ...
剑指offer-67、剪绳⼦
题目描述
给你⼀根⻓度为n 的绳⼦,请把绳⼦剪成整数⻓的m 段( m 、n 都是整数, n>1 并 且m>1 , m<=n ),每段绳⼦的⻓度记为k[1],...,k[m]。请问k[1]x...xk[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是8 时,我们把它剪成⻓度分别为2 、3 、3 的三段,此时得到的最⼤乘积是18`。
输⼊描述:输⼊⼀个数n,意义⻅题⾯ ...
10408_基于SSM的野营用品租赁管理系统
1、项目包含
项目源码、项目文档、数据库脚本、软件工具等资料;
带你从零开始部署运行本套系统。
2、项目介绍
随着互联网技术的发展与普及,传统的经营方式受到很大影响。野营用品租赁系统是以互联网为基础的线上租赁方式。传统野营用品店的纸质化服务流程繁琐,浪费人力物力。线上租赁可以实现网页挑选野营用品并完成一系 ...
Arthas使用
1. Arthas 介绍
Arthas 是阿里巴巴开源的 Java 诊断工具,用于:
实时监控线上应用(无需重启)
快速定位 CPU、内存、线程问题
分析方法执行耗时、参数、返回值
支持 JDK 6+(包括 JDK 21)
✅ 核心优势:通过 JVM Attach 机制动态注入 Agent,不修改代码、不重启应用。
2. Arthas 的使用(下载安装 + 启动 ...
Java自学之路1:Hello World
1、JAVA入门
本文将通过演示一个简单的hello world代码来简单讲解java代码的执行过程,不会涉及太多底层原理。
1、编写源代码
代码如下:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
上面的代码称为源代码,是由程序员编写的人类能看懂 ...
剑指offer-66、机器⼈的运动范围
题目描述
地上有⼀个 m ⾏和 n 列的⽅格。⼀个机器⼈从坐标(0,0) 的格⼦开始移动,每⼀次只能向左,右,上,下四个⽅向移动⼀格,但是不能进⼊⾏坐标和列坐标的数位之和⼤于 k 的格⼦。 例如,当k 为 18 时,机器⼈能够进⼊⽅格(35,37) ,因为 3+5+3+7 = 18 。但是,它不能进⼊⽅格(35,38) ,因为 3+5+3+8 = 19 。请 ...
Spring AI学习:Advisor&Tool
一句话总结:
Advisor = AI的"高级秘书" :先帮你查资料、整理思路,再让AI回答,并把ai的回答整理/处理好展现给你。
Tool = AI的"专属工具箱" :AI可以直接使用里面的工具完成任务。
Advisor:
Advisor会在提示词(prompt)发送给大模型前拦截它(提示词),并对提示词进行加工或其他处理;也会在大模型的回答展示在你眼中前 ...
剑指offer-65、矩阵中的路径
题目描述
请设计⼀个函数,⽤来判断在⼀个矩阵中是否存在⼀条包含某字符串所有字符的路径。路径可以从矩阵中的任意⼀个格⼦开始,每⼀步可以在矩阵中向左,向右,向上,向下移动⼀个格⼦。如果⼀条路径经过了矩阵中的某⼀个格⼦,则该路径不能再进⼊该格⼦。 例如矩阵:
中包含⼀条字符串 " bcced " 的路径,但是矩阵中不 ...
Spring AI学习:基本配置&聊天客户端
创建spring boot项目并选择ai功能:
spring boot版本不能过高,4.x.x暂时不支持ai
非本地部署可以使用openai,本地部署可以使用ollama。对应的,在创建项目初(上一步)选择的ai功能需与客户端一致。
配置基本如下:
创建一个文本交流客户端,交由spring boot管理:
defaultSystem可以告诉大模型它在 ...
25K+ Star!一个开源的通用 SQL 客户端工具!
大家好,我是 Java陈序员。
对于每一位后端开发者、数据分析师、DBA 而言,日常工作中绕不开的就是与各类数据库打交道,拥有一款功能强大的数据库管理工具,可以大大地提高工作效率。
今天,给大家推荐一款开源的 SQL 客户端工具,帮助你更好的管理数据库!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享 ...
InheritableThreadLocal,从入门到放弃
InheritableThreadLocal相比ThreadLocal多一个能力:在创建子线程Thread时,子线程Thread会自动继承父线程的InheritableThreadLocal信息到子线程中,进而实现在在子线程获取父线程的InheritableThreadLocal值的目的。
关于ThreadLocal详细内容,可以看这篇文章:史上最全ThreadLocal 详解
和 ThreadLocal 的区别
举个简单的 ...
金蝶云苍穹,新手初学者小白PC端java插件开发教学示例
注:
1.本文章的面向对象为刚刚接触金蝶云苍穹星空旗舰版,具有PC端Java插件开发需求的新手、小白、与初学者
2.本文章中涉及的开发环境包括:金蝶云苍穹星空旗舰版开发平台、安装了金蝶官方插件的IDEA
3.插件的实际开发涉及表单页面的生命周期,建议对此内容有一定熟悉,页面的生命周期参考文章:
https://vip.kingdee.com/ ...
PriorityQueue的秘密:堆结构的高效应用与实现原理
介绍
优先级队列的作用是能保证每次取出的元素都是队列中权值最小(或最大)的。这里元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。
Java中PriorityQueue实现了Queue接口,不允许放入null元素;其通过堆实现,具体说是通过完全二叉树(complete binary tree)实现的 ...
Keycloak~infinispan中MergedUpdate中lifespanMs和maxIdleTimeMs
在 Keycloak 中,MergedUpdate 类里的 lifespanMs 和 maxIdleTimeMs 是与 Infinispan 分布式缓存会话管理密切相关的两个核心参数。它们共同决定了用户会话在缓存中的存活时间。
下面的表格能帮你快速把握它们的核心区别:
参数
含义
对应 Keycloak 配置举例
过期触发条件
lifespanMs
会话的绝对最大存活时间
SSO Ses ...
vivo 微服务架构实践之 Dubbo 性能优化
作者:互联网中间件团队-Zhang Zhenwei本文为2025年 vivo 开发者大会互联网技术专场分享内容之一,在微信公众号《vivo互联网技术》对话框回复【2025VDC】获取 2025VDC 互联网技术会场议题相关资料。在Java技术栈场景,vivo主要基于 Apache Dubbo 框架来作为微服务之间的通信桥梁,在内部业务的大规模实践过程中,我们碰到了 ...