随笔分类 - java
java
摘要:Spring AI + ollama 本地搭建聊天 AI 不知道怎么搭建 ollama 的可以查看上一篇Spring AI 初学。 项目可以查看gitee 前期准备 添加依赖 创建 SpringBoot 项目,添加主要相关依赖(spring-boot-starter-web、spring-ai-ol
阅读全文
摘要:Spring AI 初学 Spring AI 官方地址 ”spring 不生产 AI,只是 AI 工具的搬运工“ 项目可以查看gitee Open AI 前期准备 Open AI官方地址,需要使用魔法才能打开,同时购买很麻烦,建议淘宝进行购买,只需要购买 open ai 的 apikey 即可。 a
阅读全文
摘要:基础代码 只包含最简单的代码,不包含乱码解决、文件上传。 import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.client.config.RequestConfig; imp
阅读全文
摘要:(以下测试均采用 hotspot 虚拟机)讨论两个问题: finally 以下代码输出什么 import org.junit.Test; public class NoneTest1 { public String code(){ String str = "1"; try { return str
阅读全文
摘要:二分法(红蓝染色) 思路来源于B站UP主五点七边。 二分法的介绍不用过多,虽然思想简单,但是细节却很多,循环条件中是否含有等于,过程中是left是mid+1还是left=mid,傻傻分不清楚。 初始方法 在二分法之前,都是从左到右或者从右到左逐个遍历,找到最后结果返回,例如,如果想要找到第一个大于等
阅读全文
摘要:StackOverFlow & OutOfMemory 两者都为 Error,广义上的“异常” StackOverflow 通常为 Java 虚拟机栈内存不够,JVM 对方法栈只有入栈和出栈的操作,所以在此处要报异常,让方法一直加入到方法栈中,而不出栈,将栈爆满,即可报异常。 举个栗子(最简单的栗子
阅读全文
摘要:Java自增 本文分为以下部分: 栗子 栗子解释 来点复杂的 字节码解读 总结 栗子 java存在一种神奇的操作符,,自增1,但是经常分不清楚 **i** 和**++i** 两者的区别,虽然最后结果可能都是 i+1,但是在不同场景使用有不同效果。先上一段代码。 public class Increa
阅读全文
摘要:二叉树的遍历(非递归) 本文分为以下部分: 前期准备 先序遍历 中序遍历 后序遍历 上次文章中写的是递归版的二叉树遍历,这次采用非递归模式遍历二叉树。 前期准备 建立一个节点类,各个节点即可组成树 public class TreeNode { private int val; private Tr
阅读全文
摘要:归并排序 本文分为以下几个部分 问题引入 master 公式 归并排序 写在最后 问题引入 求一串非空数组中的最大值,使用O(n)的时间复杂度。 最直接想到的代码就是直接一次遍历 @Test public void maxNum1(){ int arr[] = {2, 3, 4, 1, 54, 1,
阅读全文
摘要:LocalDate ###当天日期 2021-06-16 基本操作 操作 说明 LocalDate.now() 获取当前日期,精确到日 LocalTime.now() 获取当前时间,不含有日期 LocalDateTime.now() 获取当前日期+时间 DateTimeFormatter 格式化 g
阅读全文
摘要:equals && deepEquals 本文分为以下几个部分 equals deepEquals 总结 equals 首先说明:这里说的 equals 是 java.util.Arrays#equals 的,不是 java.lang.Object#equals 下的。 当我们比较两个数组中的每个值
阅读全文
摘要:写在前面 本文为笔者学习的一些心得,如有问题,评论请轻喷 本文分为以下部分: 中间操作 终止操作 归纳 中间操作 对 list 进行操作,返回一个新的 list 主要函数 作用 filter 过滤操作 limit 截取限制个数的 list skip 对 list 进行跳过操作 distinct 去重
阅读全文