自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深入Java世界:探索编程之美与技术深度

欢迎来到我的CSDN博客 —— 一个专为热爱Java的开发者和技术爱好者定制的技术空间。这里,我将与您一同深入探讨Java语言的奥秘,分享最前沿的编程实践,以及那些令人兴奋的技术突破。无论您是初学者渴望打下坚实的Java基础,还是资深开发者寻求更深层次的知

  • 博客(285)
  • 资源 (8)
  • 收藏
  • 关注

原创 40、Lua 常用数据结构

Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础。如数组、记录、线性表、队列和集合等,在Lua中都可以通过table来表示。

2024-04-24 09:06:56 526

原创 39、Lua 中调用C函数(lua-5.2.3)

返回值是整型,表示该C函数将返回给Lua代码的返回值数量,如果没有返回值,则return 0即可。需要说明的是,C函数无法直接将真正的返回值返回给Lua代码,而是通过虚拟栈来传递Lua代码和C函数之间的调用参数和返回值的。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (lua_CFunction)(lua_State L)。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。

2024-04-24 08:50:03 132

原创 38、Lua 代码编写规范

该文档旨在为使用lua编写应用程序建立编码指南。

2024-04-23 09:12:14 952

原创 37、Lua 语言中的点、冒号与self

lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用,这里简单的说明一下原理。

2024-04-23 09:00:35 114

原创 36、Lua IO库

I/O库为文件操作提供两种模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。完全模式(complete model)使用外部的文件句柄来实现。

2024-04-23 08:58:23 402

原创 35、Lua 中的模块与module函数

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容。从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。

2024-04-23 08:48:03 849

原创 34、Lua string库

Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。

2024-04-19 08:30:00 203

原创 35、Lua 中的模块与module函数

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。

2024-04-19 08:30:00 621

原创 mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的错误

这个问题是在迁移数据库、备份还原或数据导入时报错:1153 Got a packet bigger than。

2024-04-18 14:53:22 278

原创 32、Lua 中的常用操作系统库

如果是在里约热内卢(格林威治向西三个时区)的一台Unix计算机上(相对时间为1970年1月1日,00:00:00),对于pc机(中国时区而言)有稍微更改,更改了为1970年1月1日,08:00:00,这是因我国与其它国家时间差导致。按table的内容返回一个时间值(数字),若不带参数则返回当前时间.(在许多系统中该数值是当前距离某个特定时间的秒数。如果使用带标记(见下表)的特殊字符串,os.data函数会将相应的标记位以时间信息进行填充,得到一个包含时间的字符串。

2024-04-18 08:30:00 528

原创 33、Lua Cocos2d-x使用Luajit实现加密

于是又查了一下资料,发现2dx使用的是luajit,lua原生编译出来的bytecode和luajit是不兼容的,所以照着上面方法编译出来的bytecode脚本无法在2dx中使用。例子中,我把编译前后的脚本名字取的不一样,是为了让大家看出差异化来,实际在项目中使用的时候,脚本的名字编译前后最好都一致,不然在脚本中相互require的时候可能会出现问题!项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。

2024-04-18 08:30:00 424

原创 30、Lua中的table函数库

concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep)隔开。除了table外, 其他的参数都不是必须的, 分隔符的默认值是空字符, start的默认值是1, end的默认值是数组部分的总长。sep, start, end这三个参数是顺序读入的, 所以虽然它们都不是必须参数, 但如果要指定靠后的参数, 必须同时指定前面的参数。

2024-04-17 08:30:00 176

原创 31、Lua 函数回调技巧

把一直数组(只有连续数字下标的 table)展开成一串返回值,但是对用字符串或别的东西做 key 的 table 无能为力。使用lua 自带的 unpack。

2024-04-17 08:30:00 156

原创 LangChain-Chatchat 开源知识库来了

首先,我们需要定义问答任务。在 LangChain 中,任务是通过一系列 JSON 格式的配置文件来定义的。对于问答任务,我们需要指定输入文本、输出文本、知识库等相关信息。

2024-04-16 16:59:32 1355

原创 29、Lua中的元表与元方法

Lua中每个值都可具有元表。元表是普通的Lua表,定义了原始值在某些特定操作下的行为。你可通过在值的原表中设置特定的字段来改变作用于该值的操作的某些行为特征。例如,当数字值作为加法的操作数时,Lua检查其元表中的”__add”字段是否有个函数。如果有,Lua调用它执行加法。我们称元表中的键为事件(event),称值为元方法(metamethod)。前述例子中的事件是”add”,元方法是执行加法的函数。可通过函数getmetatable查询任何值的元表。

2024-04-16 11:22:39 1090

原创 28、Lua 如何输出树状结构的table?

为了让游戏前端数据输出更加条理,做了一个简单树状结构来打印数据。

2024-04-16 10:58:24 586

原创 27、Lua 学习笔记之五(Lua中的数学库)

Lua5.1中数学库的所有函数如下表:math.pi 为圆周率常量 = 3.14159265358979323846。

2024-04-16 10:54:28 534

原创 AI智能体技术突破:引领科技新浪潮

其中一个例子是从 HuggingGPT 论文中改编的,输入的是:请生成一张图片,一个女孩在看书,她的姿态和图像中的男孩一样,再使用你的声音描述这张新图片。它们可以基于同一个语言模型,但你以不同的方式对它们进行提示,对一个说“你是专业编码者,编写代码”,对另一个说"你是专业代码评审员,评审这段代码"。其实基于 Agent 的工作流程才符合人类的习惯,毕竟对于一段复杂的程序,没有一个程序员是从头写到尾的,一般都是先能跑通,然后不断优化重构,补充异常处理,持续迭代优化的过程。再比如:你问大模型,今天的天气如何?

2024-04-16 10:28:58 1890

原创 26、Lua 学习笔记之四(Lua中的基本函数库)

返回指定对象的元表(若object的元表.__metatable项有值,则返回object的元表.__metatable的值),当object没有元表时将返回nil。获取表中指定索引的值,此函数不会调用任何元表的方法,成功返回相应的值,当索引不存在时返回nil注:本函数只能用于以数字索引访问的表如:t={“1″,”cash”}index:要返回的索引的前一索中的号,当index为nil[]时,将返回第一个索引的值,当索引号为最后一个索引或表为空时将返回nil。返回当前Lua中使用的内存量(以KB为单位)

2024-04-14 20:53:29 983

原创 25、Lua 学习笔记之三(高阶话题)

通过coroutine.resume可以启动一个线程或者继续一个挂起的线程。线程可以通过线程函数的参数或者coroutine.yield调用的返回值来获取这些参数。当线程初次执行时,resume传递的参数通过线程函数的参数传递给线程,线程从线程函数开始执行;当线程由挂起转为执行时,resume传递的参数以yield调用返回值的形式传递给线程,线程从yield调用后继续执行。通过coroutine.create可以创建一个协作线程,该函数接收一个函数类型的参数作为线程的执行体,返回一个线程对象。

2024-04-13 14:35:10 427

原创 24、Lua 学习笔记之二(进阶话题)

module同时定义了一个新的包的函数环境,以使在此包中定义的全局变量都在这个环境中,而非使用包的函数的环境中。但二者还是迥然不同的,元表可以动态的改变,C++虚表是静态不变的,元表可以影响表(以及其他类型的对象)的很多方面的行为,虚表主要是为了定位对象的虚方法(最多再带上一点点RTTI)。,)并且在包的函数环境里可以访问使用包的函数环境(比如,包的实现使用了print,这个变量没有在包里定义,而是定义在使用包的外部环境中)。比如在前面的代码里,两个表对象的加法运算,如果没有元表的干预,就是一种错误;

2024-04-13 13:39:21 830

原创 23、Lua 学习笔记之一(初阶话题)

本文针对的读者是有经验的C/C++程序员,希望了解Lua或者迅速抓住Lua的关键概念和模式进行开发的。因此本文并不打算教给读者条件语句的语法或者函数定义的方式等等显而易见的东西,以及一些诸如变量、函数等编程语言的基本概念。本文只打算告诉读者Lua那些与C/C++显著不同的东西以及它们实际上带来了怎样不同于C/C++的思考方式。不要小看它们,它们即将颠覆你传统的C/C++的世界观!本文一共分初阶、进阶和高阶三大部分,每个部分又有若干章节。

2024-04-13 13:23:29 672

原创 22、Lua 数据库访问

本文主要为大家介绍 Lua 数据库的操作库:LuaSQL。他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。来安装可以根据需要安装你需要的数据库驱动。LuaSQL 可以使用。Window 下安装。

2024-04-11 10:21:20 519

原创 Flowable工作流引擎:Spring Boot集成指南

在快速变化的软件开发世界中,工作流管理成为了企业应用不可或缺的组成部分。无论是简化复杂业务流程、提升操作效率还是确保流程的一致性和透明性,一个强大的工作流引擎都显得至关重要。在这样的背景下,Flowable作为一个轻量级、可嵌入的工作流引擎,因其卓越的灵活性和易于集成的特点,赢得了开发社区的广泛青睐。为什么选择Flowable?Flowable提供了一个功能丰富的工作流和业务流程管理(BPM)平台。它不仅支持BPMN 2.0标准,还提供了易于使用的API和用户友好的管理界面。

2024-04-11 10:14:17 1776

原创 21、Lua 面向对象

Lua中的表不仅在某种意义上是一种对象。也有与对象的值独立的本性,特别是拥有两个不同值的对象(table)代表两个不同的对象;一个对象在不同的时候也可以有不同的值,但他始终是一个对象;与对象类似,表的生命周期与其由什么创建、在哪创建没有关系。面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。LUA中最基本的结构是table,所以需要用table来描述对象的属性。创建对象是位类的实例分配内存的过程。继承是指一个对象直接使用另一对象的属性和方法。

2024-04-10 18:53:28 681

原创 20、Lua 垃圾回收

如果你把步进倍率设为一个非常大的数字 (比你的程序可能用到的字节数还大 10% ), 收集器的行为就像一个 stop-the-world 收集器。接着你若把间歇率设为 200 , 收集器的行为就和过去的 Lua 版本一样了: 每次 Lua 使用的内存翻倍时,就做一次完整的收集。Lua 中所有用到的内存,如:字符串、表、用户数据、函数、线程、 内部结构等,都服从自动管理。Lua采用了自动内存管理。这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。

2024-04-10 18:37:31 530

原创 19、Lua 调试(Debug)

实例中我们使用了 getupvalue 函数查看局部变量的当前状态。实例中,在设置前 n 的值为 2,使用 setupvalue 函数将其设置为 10。命令行调试器有:RemDebug、clidebugger、ctrace、xdbLua、LuaInterface – Debugger、Rldb、ModDebug。在以实例中,我们使用到了 debug 库的 traceback 和 getinfo 函数, getinfo 函数用于返回函数信息的表。我们经常需要调试函数的内的局部变量。

2024-04-09 09:51:50 990

原创 绝佳组合 SpringBoot + Lua + Redis = 王炸!

曾经有一位魔术师,他擅长将Spring Boot和Redis这两个强大的工具结合成一种令人惊叹的组合。他的魔法武器是Redis的Lua脚本。今天,我们将揭开这个魔术师的秘密,探讨如何在Spring Boot项目中使用Lua脚本,以解锁新的可能性和提高性能。如果你一直在寻找提升你的应用程序的方法,那么这篇博客将为你揭示其中的神奇之处。

2024-04-09 09:37:46 707

原创 18、Lua 错误处理

Lua提供了xpcall函数,xpcall接收第二个参数——一个错误处理函数,当错误发生时,Lua会在调用桟展看(unwind)前调用错误处理函数,于是就可以在这个函数中使用debug库来获取关于错误的额外信息了。程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。pcall接收一个函数和要传递个后者的参数,并执行,执行结果:有错误、无错误;通常在错误发生时,希望落得更多的调试信息,而不只是发生错误的位置。任何程序语言中,都需要错误处理。

2024-04-08 14:47:16 567

原创 掌握Ollama框架:一站式教程,从环境搭建到高效开发

ollama不仅支持运行预构建的模型,还提供了灵活的工具来导入和自定义您自己的模型。无论是从GGUF格式导入还是进行模型的个性化设置,ollama都能满足您的需求。您还可以通过自定义提示来调整模型的行为。接着,创建一个ModelfileFROM llama2 # 设置创造性更高的温度参数 PARAMETER temperature 1 # 设置系统消息 SYSTEM "" "你是超级马里奥,以马里奥的身份回答问题。" ""

2024-04-08 08:30:00 3033

原创 17、Lua 文件 I-O

但是在进行一些高级的文件操作的时候,简单模式就显得力不从心。例如同时读取多个文件这样的操作,使用完全模式则较为合适。执行以上代码,你会发现,输出了 test.ua 文件的第一行信息,并在该文件最后一行添加了 lua 的注释。设置和获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息。以下实例使用了 seek 方法,定位到文件倒数第 25 个位置并使用 read 方法的。简单模式使用标准的 I/O 或使用一个当前输入文件和一个当前输出文件。文件代码,操作的文件为。

2024-04-07 09:06:35 1009

原创 Spring AI 来了,打造Java生态大模型应用开发新框架!

尽管 Python 长期主导 AI 大模型应用开发领域,但 Java 并未熄火!Spring AI 来了,正式告别实验期,迈向广泛应用新阶段!这意味着 Spring 生态体系的广大开发者,迎来 AI 大模型应用开发的新里程。

2024-04-07 08:48:33 2356

原创 16、Lua 协同程序(coroutine)

Lua协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。

2024-04-06 08:30:00 883

原创 15、Lua 元表(Metatable)

以上实例中表设置了元方法 __newindex,在对新索引键(newkey)赋值时(mytable.newkey = “新值2″),会调用元方法,而不进行赋值。当你通过键来访问 table 的时候,如果这个键没有值,那么Lua就会寻找该table的metatable(假定有metatable)中的__index 键。如果__index包含一个表格,Lua会在表格中查找相应的键。从本文中我们可以知道元表可以很好的简化我们的代码功能,所以了解 Lua 的元表,可以让我们写出更加简单优秀的 Lua 代码。

2024-04-05 08:30:00 1020

原创 网易RAG问答知识库开源了,Star 6K!!

目前已支持格式: PDF(pdf),Word(docx),PPT(pptx),XLS(xlsx),Markdown(md),电子邮件(eml),TXT(txt),图片(jpg,jpeg,png),CSV(csv),网页链接(html)等。检索(Retrieval):使用 Embedding 模型将用户输入问题转换为向量,计算问题的 Embedding 向量和语料库中文本块 Embedding 向量之间的相似度,选择相似度最高的前 K 个文档块作为当前问题的增强上下文信息。

2024-04-05 08:00:00 885

原创 揭秘数据呈现艺术:掌握表设计的18项黄金原则

对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节。系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等。后端开发的日常工作,需要不断的建库和建表,来满足业务需求。通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相关的内容。如果我们在建表的时候不注意细节,等后面系统上线之后,表的维护成本变得非常高,而且很容易踩坑。今天就跟大家一起聊聊,数据库建表的18个小技巧。

2024-04-04 08:30:00 1687

原创 加密无忧:SpringBoot中快速搭建安全的API接口

该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。首先我们当然是了解RSA加密RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。

2024-04-04 08:30:00 1381

原创 构建现代Java应用:选择Spring还是Spring Boot?深入对比分析

在Java的企业级应用开发领域,Spring和Spring Boot是两个广受欢迎且经常被讨论的框架。尽管它们之间存在诸多联系,但也有不少显著的差异。本文旨在深入解析这两个框架的主要区别,并阐述它们各自的特点和适用场景。

2024-04-03 09:23:01 881

原创 向量数据库+知识图谱构建高效 RAG 系统

比如说,如果我们知道某本 AI 大模型书籍的向量,我们可以在数据库中找到与它非常相似的其他书籍的向量,就像在图书馆中找到相似主题的书籍一样。这种数据库的好处在于,它能够高效地处理大量的数据,并且支持复杂的查询,比如:找到与某个文本内容或图片非常相似的其他数据(如下图)。知识图谱的强大之处在于,它不仅能帮助我们理解单个概念,还能揭示概念之间的关系。例如,如果你想了解“太阳系是如何形成的”,知识图谱可以帮你找到与这个问题相关的各种知识点,如恒星的形成、行星的演化等,并将这些知识点以易于理解的方式呈现给你。

2024-04-03 08:30:00 1423

原创 14、Lua 模块与包

Lua的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。上面的func2 声明为程序块的局部变量,即表示一个私有函数,因此是不能从外部访问模块里的这个私有函数,必须通过模块里的公有函数来调用.

2024-04-03 08:30:00 600

Activiti-5.22、activiti-demo、Activiti-master、stencilset.json

Activiti-5.22、activiti-demo、Activiti-master、stencilset.json

2022-04-04

innosetup-5.6.1.exe 讲运行环境打包的工具

innosetup-5.6.1.exe 讲运行环境打包的工具

2022-02-21

关于jar包转换为exe工具exe4j

关于jar包转换为exe工具exe4j

2022-02-21

redis_windows版本.zip

redis_windows版本

2021-05-25

RedisLinux安装.zip

RedisLinux安装

2021-05-25

springboot集成swagger.zip

springboot集成swagger,使用springboot对swagger进行了简单的整合,并对其样式进行了简单的修改,直接可用,无需做任务修改

2020-04-10

TaskFramework.rar

项目使用springmvc模式 访问路径需手动调整为: http://localhost:8080/taskFramework/controller路径名

2020-04-10

线程休眠辅助工具类,能够按秒休眠以及按毫秒数休眠

线程休眠辅助工具类,能够按秒休眠以及按毫秒数休眠,很简单的代码,对sleep()的方法进行简单的处理,希望能够对大家提供帮助,缩短开发时间

2020-03-13

空空如也

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

TA关注的人

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