- 博客(32)
- 收藏
- 关注
原创 lua元表
在Lua中,元表(Metatable)是一种用于定义或修改表(table)在特定操作下的行为的机制。元表中的字段(通常以双下划线__开头)被称为元方法(Metamethod)。以下是一些常见的__xxx。
2024-08-28 17:36:46
1332
原创 Lua闭包
Lua 中的闭包(Closure)是一个能够记住并访问其词法作用域中变量的函数。在 Lua 中,由于函数是第一类值(first-class values),即函数可以像其他数据类型一样被赋值给变量、作为参数传递给其他函数或作为其他函数的返回值,这使得创建闭包变得非常简单和自然。闭包在 Lua 中非常有用,它们允许函数携带和隐藏数据,这些数据对于函数外部是不可见的,从而实现了数据封装和抽象。这个匿名函数是一个闭包,因为它能够记住并访问其外部词法作用域中的。返回的函数是一个闭包,因为它记住了。
2024-08-26 14:21:53
358
原创 netty通讯框架
netty通信框架,如果考虑使用protubuf进行通讯,则protubuf的设计的封装非常重要,对应分布式项目,这里可以使用负载均衡指定找到对应的服务器,然后再找到的对应的处理器即可。但是对于单机来说仅仅使用反射,找到对应的处理器即可。这里使用单机演示,这里使用了自定义注解,方便业务的快速开发。可以考虑,根据枚举+配置文件,进行路由封装消息体。对于分布式来说仅仅是,添加一个网关的处理逻辑即可。MyServerHandler处理。protubuf设计封装。netty服务器编写。
2024-08-05 16:46:50
288
原创 代理设计模式
Java中的代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。通过这种方式,我们可以在不修改原始类代码的情况下,增加额外的功能,比如权限控制、日志记录、事务处理等。代理模式主要分为静态代理和动态代理两种。
2024-08-04 23:17:02
162
原创 protubuf 语法
/ 这通常不是推荐的做法,因为它会导致生成的 Java 文件变得非常大,难以维护,特别是在处理包含多个消息类型和复杂结构的大型 .proto 文件时。//这个选项可能在一些特殊情况下有用,比如当你想要减少生成的文件数量,或者在某些特定的构建或部署环境中,由于某些限制而需要这样做。// 一旦开始使用就不能够再改变,最小的标识号可以从1开始,最大到2^29-1,or 536,870,911。// 逻辑包名,可以防止不同 .proto项目间消息类型的命名发生冲突,也可以复用其他协议的内容,
2024-08-02 15:57:31
175
原创 java异常
如果方法中的任何代码抛出了一个在 catch 子句中没有声明的异常类型, 那么这个方法就会立刻退出;如果在try语句块中没有抛出任何异常, 那么程序将跳过 catch子句;如果在try语句块中抛出了一个在 catch子句中声明的异常类, 那么。并在控制台上打印出异常信息 , 其中包括异常的类型堆栈的内容;程序将执行 catch 子句中 的处理器代码;程序将跳过try 语句块的其余代码;
2023-11-06 18:10:03
117
原创 高并发下debug小技巧
此时,主线程main停止在29行,采用方式二设置模式,则可以进行其他线程的操作。这时,断点不会阻止该线程发送数据。否则阻塞除了main线程外的其他线程。
2023-08-10 16:57:14
241
原创 外键约束~
3,主表删除数据,从表若有外键数值一样的数据则会被迫删除;从表删除数据不会影响主表。如:从表无法添加主表没有描述过的数据。即:从表的外键字段没有和主表保持一致。1,外键约束只需要在从表里面描述;即:在从表去指定哪个字段是有外键约束的。2,外键字段:从表外键字段数值要跟主表保持一致。
2023-08-09 10:38:14
80
原创 初级golang
在不同的位上代表不同的值, 按从右至左的次序,这个值以二倍递增。在计算机的内部,运行各种运算时,都是以二进制的方式来运行。先执行表达式,得到值,然后和 case 的表达式进行比较,如果相等,就匹配到,然后执行对应的 case 的语句块,然后。如果 switch的表达式的值没有和任何的 case 的表达式匹配成功,则执行 default的语句块。如果两边的操作数都是 True,则条件 True,否则为 False。func 是一个关键字,表示一个函数。main 是函数名,是一个主函数,即我们程序的入口。
2023-05-29 22:07:32
149
原创 入门go笔记(6-10)
第 6 章 函数、包和错误处理 ·函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数。 在 Go 中,函数分为: 自定义函数、系统函数(查看 Go 编程手册) ·return 语句 Ø 基本语法和说明return 返回值列表Ø 案例演示 一个细节说明: 接收返回值时,希望忽略某个返回值,则使用 _ 符号表示占位忽略。·函数的基本语法 func 函数名 (参数列表) (返回值列表) { //返回值只有一个时可以不写()//函数体
2023-05-29 16:40:25
156
原创 匹配最长子串
str[i][j],str[i-1][j-1]>=1,则str[i][j]++,题目保证str1和str2的最长公共子串存在且唯一。给定两个字符串str1和str2,输出两个字符串的最长公共子串。表格法,横坐标存放str1,纵坐标str2,
2023-04-23 01:50:17
235
原创 使用位算法求字符串子集
如String str = acd,转化为二进制strBitMask:1101 ,1代表有该元素,0代表无该元素;思路,利用循环int temp= strBitMask&-strBitMask 遍历获取低位元素,然后存储,得到的元素,然后和之前的元素和子集元素进行 | 操作,得到新的子集。则1101对应的子集应该是00。遍历完时,所有子集也就出来了。
2023-04-19 23:34:15
141
原创 2021-03-23
有个疑问就是,关于间接寻址是怎么扩大范围的。从假如形式地址有8位,那么可寻址的范围就是2的8次方, 然后找到的主存地址也 2的8次方,那么就对应2的8次方个主存内容,然后就可以在主存找到2的8次方个这么多的地址,所以能找到的地址数目还是2的8次方个,都是一一对的关系来的,怎么说就扩大范围了呢?...
2021-03-23 18:49:19
1349
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人