自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分享技术,记录思考和感悟

分享技术,记录思考和感悟

  • 博客(185)
  • 收藏
  • 关注

原创 【Java函数篇】一文搞懂Java中Steam流常用的操作方法

在Stream中经常遇到的filter、map、collect等操作方法的概念以及含义是什么,该如何使用,都通过案例和使用场景做了一一讲解。还拓展了其他的一些常见的方法,结合下面这几篇系列的文章,对函数有个熟悉的掌握,然后再使用Stream时,遇到的一些方法,该传递什么函数参数,以及返回结果是什么,就了然于胸了。

2024-10-23 20:14:55 1601

原创 【Java函数篇】一文搞懂Java8中常用的函数接口Function Consumer Supplier Predicate Operator

Function、Consumer、Supplier、Predicate、Operator每个函数接口都有各自特点,但其实归根都是函数式接口,只是各自表现形式不一样。比如Function可以自定义入参和返回值,Consumer有入参无返回值,Predicate返回Boolean值,Operator入参和返回值类型一样。所以本质上没有特殊的,都还是函数接口,都可以通过Function来实现,这么多不同类型的函数接口,只是方便代码中使用,简化不同场景下的编码。

2024-10-23 09:00:00 2313

原创 【Java函数篇】Java8中的Lambda表达式实战详解

Lambda 表达式是一个非常有用的特性,并且从一开始就是 Java 所缺乏的。现在有了 Java 8,我们也可以借助它来使用函数式编程概念。

2024-10-21 17:15:04 1113

原创 【Java函数篇】Java8中函数接口Function使用详解

介绍了如何在 Java 中创建和管理函数式接口。我们了解到函数式接口只有一个抽象方法,并且可以通过 lambda 表达式来实现。还分享了 JDK 提供的现有函数式接口,最后通过例子了解了如何创建和使用函数式接口。

2024-10-21 15:39:23 1681

原创 【Java函数篇】Java 8 Predicate函数接口的用法详解

自从Java8发布以后,代码里面就多了很多函数式的接口和代码。在流式的编程中,我们经常会用到Predicate和其他函数,在一些开源的代码中也会看到别人定义的Predicate方法。但其实你有没有感觉在写代码的经历中,就很少会定义Predicate方法,都是用在stream流中更多,比如下面这段代码。今天就来学习和分享一下Predicate,彻底了解和掌握Predicate的概念以及用法。

2024-10-18 15:36:06 1993

原创 推荐一个Python的前端框架Streamlit

你是不是也想写一个简单的前端界面做些简单的展示和控制,不想写html、css、js,也用不到前后端分离,用不到特别复杂的Flask、Django等,如果你遇到类似这样的问题,我推荐你试试Streamlit。

2024-06-19 15:22:12 2058

原创 你是否正确的使用了Git ???

在版本控制方面,Git 是一个非常有效的工具。然而,像任何其他工具一样,你必须正确使用它才能充分发挥其作用。

2024-05-30 09:00:00 1442

原创 开发一个Java项目常用的工具类推荐

每次新起一个Java项目,都需要经历一系列的繁琐步骤去初始化这个项目,然后再一个一个地方找maven依赖,特别折腾麻烦,这里记录下初始化一个Java项目依赖的一些工具jar包。其中除了常用的工具jar包之外,还有代理仓库设置、如何发布jar包、常用的插件,以及项目第一次推送到远程仓库的操作等,最后一个完整的pom文件可以直接使用或者参考。

2024-04-04 22:52:40 1421

原创 【Go入门篇】第八章:Go实战项目2,多线程爬虫

目标:使用 Goroutine 并发爬取多个网页的标题

2025-02-21 13:56:35 210

原创 【Go入门篇】第七章:Go实战项目1,CLI 任务管理器(待办事项应用)

目标:开发一个命令行工具,管理待办任务(To-Do List)

2025-02-20 09:45:42 157

原创 【Go入门篇】第六章:Go语言进阶,连接MySQL操作数据库

在现代应用程序开发中,数据库是至关重要的组成部分。Go 语言提供了 **database/sql** 标准库以及多个数据库驱动库(如 `MySQL`、`PostgreSQL`、`SQLite` 等),使开发者可以高效地执行 **增删改查(CRUD)操作**。

2025-02-20 09:39:52 260

原创 【Go入门篇】第五章:Go语言进阶,文件操作和网络编程

Go 语言内置 os、io、net/http 等包,可以高效地进行 文件读写、HTTP 服务构建、TCP/UDP 网络通信。本章将学习这些核心功能,并结合案例进行实践。

2025-02-19 13:42:03 362

原创 【Go入门篇】第四章:Go 语言进阶,并发编程Goroutine 与 Channel

Go 语言内置 **轻量级线程** —— `goroutine`,并提供 **channel(通道)** 作为通信机制,使并发编程变得更加简单高效。本章将深入学习 Go 的并发模型,并通过示例掌握它们的使用方法。

2025-02-19 08:59:37 892

原创 【Go入门篇】使用Java视角理解Go语言中的结构体和接口以及区别

如果你有 Java 的开发经验,那么理解 Go 语言的 **结构体(struct)** 和 **接口(interface)** 时,可以通过类(Class)和接口(Interface)的概念进行类比,但同时要注意它们之间的核心区别。

2025-02-18 10:04:58 654

原创 【Go入门篇】第三章:Go 语言中的函数、结构体与接口

在上一章中,我们学习了 Go 语言的基础语法,包括变量、数据类型、控制结构等内容。本章将深入探讨 Go 语言的 函数、结构体和接口,这些概念是 Go 语言开发的核心,掌握它们将有助于构建更复杂和模块化的程序。

2025-02-18 10:03:31 364

原创 【Go入门篇】第二章:Go 语言中的变量、数据类型与控制结构

在上一章中,我们介绍了 Go 语言的基本特点和开发环境的搭建。本章将深入学习 Go 语言的 **基础语法**,包括变量、数据类型、运算符、控制结构等内容,帮助你更好地理解 Go 代码的基本构成。

2025-02-17 15:04:26 353

原创 【Go入门篇】第一章:从 Java/Python 开发者的视角入门go语言

Go 语言(Golang)是由 Google 开发的一门静态强类型、编译型的编程语言,凭借其简洁性、高效性和强大的并发支持,成为后端开发、云计算和微服务的热门选择。本篇文章将带你快速入门 Go 语言,了解其基础概念,并通过 Java/Python 的对比帮助理解。

2025-02-17 14:50:42 883

原创 为什么 Go 不需要传统的线程池?

Go 语言的设计理念本身 **不需要传统的线程池**,因为 **Go 通过 Goroutine 和调度器(Scheduler)高效管理并发**,避免了 Java 线程池那种复杂的线程管理。

2025-02-14 16:46:42 356

原创 【Java篇】日期处理很麻烦?使用DateUtil.parse自动识别日期各种格式

使用一个方法就可以处理所有日期格式的神器。

2024-12-20 10:33:00 1089

原创 【Java技巧】深入浅出 Guava Retry 框架:业务兜底重试方案示例

重试常用于三方的对接的过程中,比如调第三方的接口,可能因为网络抖动等不可预知的问题而出现错误,这个时候只需要重新一下就好了。Guava Retry 是一个基于 Java 的开源重试库,可以帮助开发者在面对不可预期的失败(如网络异常或服务超时)时实现逻辑重试功能。本文将详细讲解如何使用 Guava Retry,包括示例代码和方法参数的详细说明。

2024-12-18 11:20:01 973

原创 【大模型】使用Ollama+Open WebUI在本地轻松玩转大模型

使用Ollama可以轻松的接入各种大模型,Open WebUI可以在本地搭建一套类似chatGPT的界面,便于管理。通过Hugging Face可以找到符合你需求的大模型,然后安装在本地。后续再给大家推荐一些我用过的一些有趣的模型。

2024-12-09 15:26:43 1606

原创 如何确保大模型GPT输出结果100%是JSON结构

最近使用大模型对大段自然文本解析,然后按照提示词生成对应的JSON数据结构,发现偶尔返回的json数据结构不正确,看起来是有点不太听话。但是如果不能100%生成json数据结构,那么程序始终会存在隐藏的问题,这篇就是分享下如何确保大模型的输出结果是100%json数据结构。

2024-11-01 11:31:56 1373

原创 Springboot项目读取resource下的文件,记住这一种方式就可以了

我们做java的Spring项目时,会将一些配置文件或者数据启动文件,以及其他文本文件放在resource目录下。那如何才能读取到这个文件呢?你有没有像我一样,每次写这类似的代码,都去网上现找现查资料,然后一遍遍的试,最后才能成功,过一段时间又忘记了。

2024-11-01 09:00:00 270

原创 从宇宙大厂实习生投毒GPU集群来快速了解GPU各性能参数

可能会有很多人像我一样,之前对GPU不太了解,有些人可能也不知道为什么要用GPU而不是CPU,又有什么区别?以及GPU的怎么衡量他的性能,有哪些类型的GPU,大模型训练一般常用什么等级的显卡,等等这些基础的问题。

2024-10-25 15:17:30 840

原创 SpringBoot中的Component和ComponentScan注解工作原理

Spring IoC 容器的工作是通过管理对象的生命周期和配置来保持业务逻辑清晰,但是 Spring 容器并不会自动知道要管理哪些 bean。所以我们来告诉 Spring 应该处理哪些 bean 以及如何处理,很简单这就是 Spring 的 @Component 和 @ComponentScan 注释的作用所在。

2024-10-18 10:36:44 1031

原创 极简版Java敏感词检测SDK

sensitive-word 基于 DFA 算法实现的高性能敏感词工具,开源在GitHub:https://github.com/houbb/sensitive-word。用于敏感词/违禁词/违法词/脏词等的识别和阻拦,是基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。

2024-10-17 17:38:16 787

原创 Java中Map的compute、computeIfAbsent、computeIfPresent真的太好用了

三种方式有相同点,也有不同的地方。相同的是每次操作计算返回都是最新的值,不同的是计算条件不同,compute最全是有则赋值,无则添加。另外两种做了简化,针对值是否存在做不同的计算,computeIfAbsent是有则不操作,没则添加;computeIfPresent是有则覆盖,没值的时候不操作。针对不同的场景使用不同的方法,可以简化代码提高编码效率,同时代码阅读起来也会更加简单明了。

2024-10-17 11:29:16 2990

原创 【idea技巧篇】10个IDEA超实用的小技巧分享

idea的好用就不用多说了,这里介绍几个我工作中,使用频率较高的一些小技巧,真时有助于编码效率的提升。

2024-10-15 15:48:45 1077

原创 【idea技巧篇】idea的类注释和方法注释模版自定义设置

这块idea技巧虽然常用,谁没事会经常修改模版设置呢,一般是搭建开发环境的时候或者开发规范要求等设置一次就行了。用的虽然少,但几乎每次搭建环境都会用到,这里记录下并分享设置的过程已经发现的更高级的一些使用技巧。

2024-10-15 14:51:17 3471

原创 【Java教程】使用Java编写井字游戏

学习编程刚开始都是比较枯燥的阶段,但是如果带着需求和兴趣去体验一门编程语言,学习的效果将事半功倍,而且编程语言的语法和特性带着兴趣去解决一个一个问题,记忆也更加深刻。

2024-10-14 15:25:13 546

原创 一个有趣的尝试,教你关闭或自定义Springboot的启动信息

每次看到Springboot这个启动信息,突然就想能不能修改下这个启动信息,凭着技术直觉,我想Spring肯定留了配置参数可以调整的。修改这个没什么实际意义,全凭个人喜好,或者你有真是的业务诉求,仅供参考。

2024-10-14 11:34:15 217

原创 再也不怕面试官问我几百亿ip相关的问题了

首先要明确这一类的问题都是**海量**那个数据类型的问题,对于海量数据我们一般采用**分而治之**的思路去解决,考官考察的就是你有没有处理海量数据的经验。总结几个常见的海量数据相关的面试,供参考。

2024-10-12 10:48:10 448

原创 20241011-国庆在川西格聂徒步的杂记

之前读过旅行指南一句话,说:旅行的意义不在于去哪,而在于和谁一起。我觉得很有道理,可以决定和谁一起也可以决定孤身一人不和谁一起,这样的决定是自由的。旅行的过程中遇到一群同频的朋友是件幸运的事,一起徒步几十公里、翻山越海拔4000多的垭口,吃在一起、住也在一起,短短几天的认识可能会成为以后很久的朋友,也可能再无见面的机会。我自己一个人旅行的时候,会有更多的思考和观察,确也会有些孤单。人多的时候,更多的是陪伴和安心,幸运的是遇到了一群同频的朋友。

2024-10-12 08:45:00 696

原创 【面试之算法篇】寻找二叉树中两个节点的最低公共祖先

二叉树中两个节点的最低公共祖先,主要考察对树的遍历

2024-08-06 14:22:59 160

原创 【Java面试篇】数据埋点监控页面pv的SDK接口实现

实现一个数据埋点的SDK,需要考虑本地聚合然后再上报

2024-08-01 20:59:22 593

原创 使用WebSocket实现log日志流的实时展示-从轮询到通知

最近开发一个系统,其中一个模块需要展示实时的执行过程,过程日志可能比较多。以前的方案都是前端定时轮询,比如每秒查一次后端接口,将拉取回来的日志重新展示。轮询方案简单容易实现,但是比较消耗资源,后端没有数据的时候,会造成大量的无用轮询。所以这次我们采用长连接的方案,优化这块的逻辑,提升用户体验。

2024-08-01 11:13:10 1456

原创 【AI教程-吴恩达讲解Prompts】第9篇 - Prompts提示词工程学习总结

我们讨论了大型语言模型的许多功能,包括摘要、推断、转换和扩展。也学习了如何搭建个性化的聊天机器人。

2024-07-30 16:58:32 1007

原创 【AI教程-吴恩达讲解Prompts】第8篇 - 定制一个聊天机器人

大型语言模型带给我们的激动人心的一种可能性是,我们可以通过它构建定制的聊天机器人(Chatbot),而且只需很少的工作量。在这一章节的探索中,我们将带你了解如何利用会话形式,与具有个性化特性(或专门为特定任务或行为设计)的聊天机器人进行深度对话。

2024-07-30 16:43:11 1105

原创 【AI教程-吴恩达讲解Prompts】第7篇 -扩展类引用

文本扩展是大语言模型的一个重要应用方向,它可以输入简短文本,生成更加丰富的长文。这为创作提供了强大支持,但也可能被滥用。因此开发者在使用时,必须谨记社会责任,避免生成有害内容。

2024-07-29 11:08:18 1064

原创 Spring项目中发生log依赖冲突如何解决

通过使用mvn分析项目依赖树,排除多余的slf4j的实现,解决Spring项目中log日志库冲突的问题

2024-07-26 17:53:53 417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除