- 博客(188)
- 资源 (3)
- 收藏
- 关注
原创 HashMap 的实用技巧
Hashmap 的默认初始容量是 16,负载因子是 0.75。如果知道数据量较大,可以在初始化时设置初始容量和负载因子,以减少扩容次数,提高性能。computeIfabsent 方法可以在键不存在时动态计算值,并将其放入 Hashmap 中。entryset 方法返回键值对的集合,适合需要同时访问键和值的场景。keySet 方法返回所有键的集合,values方法返回所有值的集合。merge 方法可以合并键对应的值,特别适合用于统计或累加场景。replace 方法可以更新指定键的值,只有在键存在时才会更新。
2025-02-11 10:19:04
337
原创 Lua 初级教程
userdata 是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用。
2025-01-24 18:01:19
1732
原创 Linux计划任务(crontab)
在 crontab 文件中定义多个调度任务时,需要特别注意的一个问题就是环境变量的设置,因为我们手动执行某个任务时,是在当前 shell 环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在 crontab 文件中指定任务运行所需的所有环境变量,这样,系统执行任务调度时就没有问题了。如果不存在就创建一个。操作系统自带的cron 任务,系统维护作业,/etc/crontab 主配置文件, /etc/cron.d/ 子配置文件。
2025-01-21 11:03:14
973
原创 MySQL Explain 指南
列出根据 where 或 group by 字段可能使用的索引,实际执行时未必会使用这些索引。索引字段的最大长度,单位为字节。对于联合索引,该值有参考意义。表示表行按条件过滤后的估计百分比,越高越好,最大值为100。显示查询使用的分区,有助于分析查询优化器选择的分区。预估需扫描的行数,值越小越好,范围越精准查找越快。索引列的等值匹配对象,主要用于性能分析。表示实际选择的索引。
2024-12-07 23:37:33
940
原创 Java工具--stream流
findFirst() 和 findAny() 都是获取列表中的第一条数据,但是findAny()操作,返回的元素是不确定的,对于同一个列表多次调用findAny()有可能会返回不同的值。使用findAny()是为了更高效的性能。如果是数据较少,串行地情况下,一般会返回第一个结果,如果是并行(parallelStream并行流)的情况,那就不能确保是第一个。使用 mapToInt() 求整数列表中的最大值、最小值、总和、平均值。使用 findAny() 和 findFirst() 获取第一条数据。
2024-09-29 15:45:59
1385
原创 Java工具--操作Redis
Jedis 的使用方式很简单。对象点方法就能操作Redis。Jedis里的方法和Redis指令都是同名的。String里的Redis需要自己写工具类,让后调用这个工具就能操作Redis。
2024-08-05 14:32:19
385
原创 自定义记录日志的注解
Target({@Target({import com// 请求路径 ServletRequestAttributes attributes =(ServletRequestAttributes) RequestContextHolder . getRequestAttributes();= null;// 拦截的实体类,就是当前正在执行的controller Object target = point . getTarget();
2024-08-05 10:48:32
375
原创 JavaScript获取当前时间
JavaScript获得时间戳的方法有五种,后四种都是通过实例化时间对象new Date() 来进一步获取当前的时间戳,JavaScript处理时间主要使用时间对象Date。通过 valueOf() 函数返回指定对象的原始值获得准确的时间戳值。Date.parse() 将字符串或者时间对象直接转化成时间戳。如果参数为一个字符串,将字符串视为日期的字符串表示,转换为日期。将时间对象转化为一个number类型的数值,即时间戳。Date.now() 可以获得当前的时间戳。Date对象字符串 (toString)
2024-07-07 21:25:15
3559
原创 MySQL数据库开发设计规范总结
从数据库的设计原则、命名规范等方面论述数据库设计的规范思想及命名规则。方便业务功能实现、业务功能扩展方便设计开发、增强系统的稳定性和可维护性保证数据完整性和准确性提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。
2024-06-04 22:32:12
1360
原创 Java注解
jdk中和注解有关的类都定义在java.lang.annotation包中注解本质上就是一个接口,该接口默认继承Annotation接口注解使用@interface来定义,例如:定义一个TestAnnotation注解访问修饰符必须是public 不写默认public参数类型必须是基本数据类型、String、Class、枚举类型、注解类型以及上述类型的数组,像Integer、Double这些(包装类型)都不行。参数名字一般定义为名词,如果只有一个参数,一般定义为value。
2024-05-10 20:40:45
736
原创 ArrayList数组去重
排序之后,如果相邻两个元素是相等的,那么就说明重复了。(但这个方法会改变数组原有顺序)由于HashSet不能保证添加顺序,所以只能作为判断条件保证顺序。如果不计较去重后的数据顺序,可以直接使用HashSet进行去重。
2024-05-10 11:18:40
469
原创 MySQL数据类型
M是小数位数(精度)的总数,D是小数点(标度)后面的位数。整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200.字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB。例如,定义为ENUM的列(‘one’,‘two’,‘three’)可以有下面所示任何值。M是小数总位数,D是小数点后面的位数。二进制数据(_Blob)
2024-05-08 19:32:06
1106
原创 jQuery的简单使用
('#myId') //选择ID为myId的网页元素$('ul.first') // 选择class为first的ul元素$('input[name=first]') // 选择name属性等于first的input元素$('a:first') //选择网页中第一个a元素$('tr:odd') //选择表格的奇数行$('#myForm :input') // 选择表单中的input元素$('div:visible') //选择可见的div元素。
2024-05-03 23:33:57
774
2
原创 数据库设计的三范式
数据库设计的三范式是一种规范和标准,它能够帮助我们构建高效、可维护的数据库结构。通过遵循第一范式、第二范式和第三范式的原则,我们可以减少数据冗余、提高数据一致性,并优化数据库的性能。在实际应用中,根据具体业务需求和数据特点,我们可以灵活地应用三范式,以达到最佳的数据库设计效果。
2024-04-28 14:01:49
650
原创 两位数乘法速算技巧
原理:设两位数分别为10AC10A+C10AC10BD10B+D10BD,其积为SSS, 根据多项式展开:S10AC×10BD10A×10BC×10B10A×DC×DS10AC×10BD10A×10BC×10B10A×DC×D而所谓速算,就是根据其中一些相等或互补(相加为十)的关系简化上式,从而快速得出结果。
2024-01-20 19:15:02
3220
原创 @Scheduled定时器
当任务开始时Spring就会给这个任务计时,5秒钟时候Spring就会再次调用这个任务,可是发现原来的任务还在执行,这个时候第二个任务就阻塞了(这里只考虑单线程的情况下,多线程后面再讲),甚至如果第一个任务花费的时间过长,还可能会使第三第四个任务被阻塞。每分钟的第十秒执行一次。比如第一次执行时间为2023-10-20 23:09:10,下一次2023-10-20 23:10:10,再下一次2023-10-20 23:11:10。上一次任务执行完毕时间点之后多长时间再执行,任务的执行要等上一个任务执行结束。
2023-10-21 22:50:45
1315
原创 Linux命令 -- 重定向
用 >> 表示追加,追加多个标准输入。结束的标志符一般用EOF(end of file),因为是自定义的,所以也可以用其他的。重定向输出符>,是1>的缩写。也就是说明它只会重定向标准输出,标准错误输出不符合,也就不处理。2>& 1 表示标准错误输出和标准输出绑定在一起。cat mo.txt ml.txt >> am.log 2>& 1 表示追加。用 2> 可将标准错误输入,重定向到文件中。重定向默认写入标准输出。对于标准错误输出,其内容默认不写入。0:标准输入,1:标准输出,2:标准错误输出。
2023-08-13 16:49:35
631
原创 Linux命令 -- vim
用vim指令进入文件。刚进入时是命令行模式,也叫一般模式。按i或者insert进入编辑模式,此时可以编辑文件内容。按esc可从编辑模式退回到一般模式,输入冒号进入底线命令行模式。
2023-08-13 14:20:29
723
原创 Linux命令 -- find
三个参数,分别是:a(访问时间 Access time),m(修改时间(内容) Modify time),c(变更时间(状态) Change time)
2023-08-13 14:07:52
264
原创 Linux命令 -- chmod
对于asd.txt文件,- 代表它是一个普通文件,- - x代表文件所有者拥有执行权限,- - - 代表与所有者属同一用户组用户的权限,- - - 代表其他用户的权限。也就是1+3+3+3,一共10个参数。-c 参数查看权限的变化,-v 查看现在拥有的权限。
2023-08-13 14:04:36
289
原创 二进制的运算
它也叫半加运算,就是数值相加之后不进位。比如二进制的1+1结果是10,进位为1再写0,如果不进位,那么1异或1就等于0。1与0的异或就可以直接看作是相加。类似于逻辑或运行,当条件只要有一个为true时,结果就为true。类似于逻辑与运行,当条件都为true时,结果才为true。异或运算,相同为0,不同为1。它在书本上的符号是这样的。
2023-08-03 14:37:36
1008
原创 POI使用教程
Apache POI是Apache软件基金会的开放源码函数库,POI提供API让Java程序对Microsoft Office格式的文档进行读写操作。
2023-07-30 14:49:15
1479
原创 MongoDB常用语句
当然 name 也可以用 true 或 false,当用 ture 的情况下和 name:1 效果一样,如果用 false 就是排除 name,显示 name 以外的列信息。skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。【student】表和【stuAdress】表关联,两表关联字段是userId相等,关联条件是userId等于2102123。查看当前在使用的数据库。删除当前使用的数据库。
2023-07-23 22:21:58
614
原创 用Python解析WIFI密码
也就是,电脑对于曾经连过的WiFi,不需要输密码就能直接连接。但是执行之后,这些WiFi都需要重新输入密码才能连。这个程序执行之后,会对本地连过的WiFi的配置信息进行清空。
2023-07-10 14:22:27
907
原创 一个简易的,多次发送微信消息
打开微信,找到需要轰炸的对象,右键单击,选中右键菜单中的“在独立窗口中打开”。主要是防止操作失误,导致轰炸对象出错。“WScript.Sleep 1000”表示每段信息的间隔时间,1000表示1000毫秒,1000 毫秒=1 秒。操作一遍后,您会发现,这个代码实现的是“Ctrl + V”的粘贴功能。“for i=1 to 10”表示信息发送的次数,其中10表示信息发送10次,请根据情况进行修改。打开“微信轰炸机.vbs”,然后快速的切换到微信,点击需要轰炸的对象,即可实现微信消息自动轰炸。
2023-06-27 10:40:04
3900
1
原创 6. N 字形变换
那么,对于每层的元素,我们可以通过StringBuilder数组进行保存,那么对应数组存储的下标index,我们需要一个boolean变量reverse,当它为false的时候,index执行加1操作,当它为true时,index执行减1操作。那么,在执行拼装操作时,其实就是一个“从上向下”,当长度达到numRow的时候,在执行反方向的“从下向上”。比如输入字符串为 **"PAYPALISHIRING"** 行数为 **4** 时,排列如下。下标的升降,也可以用变量n,然后求余数来控制。
2023-06-06 17:29:16
566
原创 Java读写txt文件
如果想直接输出,将代码 strList.add(line);换成 System.out.println(line);方法中可以换成传字符串,那整个for循环就能替换成 info.write(str);方法加个返回值,可方便后续对内容的操作。需要引入maven包。
2023-06-01 15:59:26
8478
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人