- 博客(209)
- 资源 (14)
- 收藏
- 关注
原创 【209】VS2022 C++对排好序的vector使用二分查找算法的例子
如果输入 id 小于中间元素的下标,给 end 赋值中间元素坐标减一。因为 vector 的长度不可能总是等于 2 整数次方,再加上循环次数强制转换为整型,所以 begin 和 end之间要么相等,要么 end 比 begin 大一。假设 vector 的长度是 N,循环次数是以 2 为底 N 的对数。上一个循环结束后,开启从 begin 到 end 的循环,如果能找到 id 相同的元素并返回下标,如果没找到就返回 -1.在循环中,计算中间元素的下标,取出中间元素。是 0,代表第一个元素的下标。
2025-06-12 11:22:18
366
原创 【208】VS2022 C++ 32位整数和unsigned char数组之间互相转换
利用这个特点,对 int 类型的变量 a 分别不右移、右移 8 位、右移 16 位、右移 24 位,然后分别赋值给四个 unsigned char 类型的变量,那么这四个变量可以获取从低到高 4 个字节(1 字节等于 8 位)的补码数据。虽然这种做法会让 data_1 是负数,data_2、data_3、data_4 是正数,但是补码的运算方式是减法当加法运算,这四个 int 类型变量的补码会只在自己对应二进制位置有值,其他的地方都是零。32 位整数分成有符号的无符号的,我们分开讨论。
2025-06-03 13:30:50
325
原创 【207】VS2022 C++对unsigned char某一位(bit)的数据进行读写
在一些和硬件相关的场景下,为了节约设备空间,会给一个字节长度的变量中不同的位赋予不同的涵义。比如西门子 PLC 中布尔型变量就是占据一个字节(byte)中的一位(bit)。因此本文讨论了如何对字节中的某一位进行读写。
2025-05-28 13:30:06
841
原创 【204】C++的vector删除重复元素
从后向前循环,是为了保证在删除元素的时候,索引不会被影响并且能正确访问 vector 的元素。从前向后的话索引就无法保证能正确访问 vector 的元素了。因为在代码执行过程中,vector 的元素数量有可能变少,所以需要提前保存 vector 的元素数量。有些场景下 vector 中会有重复元素,而业务要求 vector 中避免出现重复元素。
2024-09-19 16:42:28
765
原创 【203】Java8模拟HTTP客户端发送POST form-data形式的请求并传送字符串和数字参数
在工作碰到这样一个需求:第三方平台的 API 要求 POST 请求,并且是 form-data 形式接收参数。我编写 Java8 代码模拟 HTTP 客户端发送 POST form-data 形式的请求并传送字符串和数字参数。
2024-04-16 00:16:09
1094
原创 【201】Java8读取JSON树形结构并插入到MySQL数据库表中
我写了一个 maven 项目的 Demo,用来演示 JAVA8 如何读取 JSON 文件树形结构,并将这种树形结构保存到 MySQL 中。
2024-04-07 02:33:08
755
原创 【200】Java8 调用 Gson2.10 读取 JSON 数组的六种方法。
Gson 没法像处理 JSON 对象一样处理 JSON 数组,因此本文讲解了六种方法来解决此问题。
2024-04-03 09:59:18
650
原创 【199】如何在 Win10 上开机启动 Nginx ?
这个问题的解决思路是创建一个 Nginx 的 Windows 服务,然后把 Windows 服务设置成开机启动。
2024-03-27 12:46:17
1419
原创 【198】Java8编写Main程序场景下引入log4j2的例子
有些情况下,需要程序员编写非服务器程序,或者编写不使用 Springboot 框架的程序。这个时候如果需要生成日志,就要采用本文的方法来引入 log4j2 。本文的例子还涉及了在程序打包的时候,如何处理依赖jar包的问题。
2024-03-26 18:24:26
1148
原创 【197】JAVA8调用阿里云对象存储API,保存图片并获取图片URL地址。
实际工作中,需要用阿里云对象存储保存图片,并且在上传图片到阿里云对象存储服务器后,获取图片在阿里云对象存储服务器的URL地址,以便给 WEB 前端显示。
2024-01-26 11:58:18
1207
原创 【196】JAVA8 用 DOM 方式的 API 解析XML文件,无需引入第三方依赖。
JAVA8 可以使用标准的 DOM 方式的 API 来编写代码解析 XML 文件,无需引入第三方依赖。负责接收用户信息的 AllDataUserDTO.java。处理 XML 文件的工具类,XmlUtils.java。负责接收所有信息的 AllDataDTO.java。用于测试效果的类 Main.java。
2024-01-18 17:42:45
1065
原创 【195】PostgreSQL 14.5 编写SQL从身份证号中查找生日,并且更新生日字段。
可以用 date 函数把生日字符串转换成date类型,同时可以检测返回的日期字符串是否正确。根据身份证号更新生日字段。
2024-01-13 00:18:00
1352
原创 【194】PostgreSQL 14.5 编写SQL从身份证号中查找性别,并且更新性别字段。
根据身份证号更新性别字段,其中第一句是更新女性的,第二句是更新男性的。
2024-01-05 17:13:05
1940
原创 【193】Java8调用POI 5.2.5生成带图片的Excel文件
本文假定 Excel 文件中保存的是员工数据,并且数据中带有员工的头像。但是这里需要注意,有些网站上下载的图片虽然后缀名是 jpg,但是文件二进制内容的格式是 WebP 的。另外我还遇到个坑,POI 5.2.5 在处理部分 jpg 格式图片的时候,无法把图片输出到 Excel 文件。为了解决这个问题,我在代码中把所有图片强行转成 png,保存为硬盘上的临时文件,再重新输出到 Excel 文件中。如果读者想要在多线程环境(比如网站后端)使用下面的代码,要么使用锁,要么确保各个线程输出不同的文件。
2023-12-07 12:19:44
2045
原创 【191】Java8在大比例尺小范围地图上,根据wgs84坐标系的经纬度计算两个点之间的方向和距离
方向一共分东、南、西、北、东北、西北、西南、东南共八个方向。以输入的第一个点为原点,绕此点一周,每个方向占45度。如果第二个点和第一个点的线段落在对应的角度范围内,就是对应的方向。设第一个点是A,第二个点是B。我以第一个点A为原点,点A所在的纬度线为x轴,点A所在的经度线为y轴,可以把地图划分成四个象限。在每个象限内,第二个点B和第一个点A之间的线段与y轴的角度决定了第二个点的方向。第一个点是A,第二个点是B,如图所示,B在A的东北方向。上图中以第三象限为例,标记出了对应的角度和方向的关系。
2023-11-10 09:55:53
1173
原创 【190】Java8利用红黑树实现Map
每个节点要么是红色,要么是黑色,必须二选一。根节点是黑色。每个叶子节点是黑色。叶子节点用空节点表示。红色节点的两个子节点都必须是黑色的。对于每个节点,从该节点到后代叶子节点的所有简单路径都包含相同数量的黑色节点。
2023-09-19 17:35:38
338
原创 【189】Java Spring利用HTTP轮询远程控制树莓派4B继电器开关
警铃结构简单,只需要通上12V的直流电就可以报警。本文的树莓派设备是在树莓派4B的基础上找硬件厂商搞的定制化产品。树莓派4B通过4G网卡连接互联网,并利用GPIO控制12V直流电的继电器开关。树莓派4B每隔5秒就访问一次后端HTTP接口,查询警铃是打开还是关闭。树莓派每隔5秒调用一次 /api/raspberry/switch?no=1 接口查询1号警铃的状态。0表示关闭,1表示打开。同时 /api/raspberry/updateSwitch 接口给PC调用,用来更新数据库中警铃的开关状态。
2023-08-14 10:26:08
1068
原创 【188】Java8利用AVL树实现Map
AVL树又被叫做平衡二叉搜索树、平衡二叉树。AVL是其发明者的首字母缩写。这篇文章中,AVLTreeMap 类集成了 java.util.Map 接口,并利用 AVL 树结构实现了 Map 接口的所有方法。本文还给出了测试代码。
2023-07-31 15:02:37
288
原创 【187】Javascript自己实现的 replaceAll 函数
这个函数没有使用正则表达式,因此在填写需要被替换的旧子串和新子串的时候,不需要考虑正则表达式特殊符号的影响。
2023-05-22 17:48:19
300
原创 【186】Java8根据YUV颜色编码方法将彩色图片转成灰度图(即平常所指的黑白图片)
YUV采用明亮度和色度来表示像素颜色。其中,Y 表示明亮度(Luminance、Luma),而 U 和 V 表示色度(Chrominance、Chroma)。YUV多用于视频,如果每个像素只用Y,不用UV,那么就是灰度图。在黑白电视机和彩色电视机共存的年代,YUV被用来兼容黑白电视机和彩色电视机的信号。在上面三个等式中,如果把YUV视为常量,RGB视为未知数,那么可以把上面三个等式看作三元一次方程组。RGB是使用红、绿、蓝三原色的方式来编码像素的颜色。RGB和YUV是两种不同的色彩编码方法。
2023-04-19 22:27:24
517
原创 【185】Java8结合C++读取和杀死windows10进程,使用JNI技术
编写 ProcessDto 类,用于 C++ 向 Java 传递进程信息。/*** 传递进程信息的类// 进程id private Integer pid;// 进程名称 private String name;// 进程开始时间 private String startDateStr;// 命令行参数 private String cmdline;return pid;} }编写调用 JNI 的 ZcProcessJni 类/*** 调用JNI的类。
2023-04-07 16:12:12
610
原创 【184】Win10下Java8调用Python的face_recognition库来实现人脸识别
face_recognition 是一个开源的、人脸识别的Python库。本文讲解了在 Windows 10操作系统上,使用 Java8 来调用 Python 的 face_recognition 库来实现人脸识别。
2023-02-01 08:46:19
1116
原创 【183】Java8对图片做顺时针旋转90度、逆时针旋转90度、旋转180度、水平翻转、垂直翻转操作。
Java8对图片做顺时针旋转90度、逆时针旋转90度、旋转180度、水平翻转、垂直翻转操作。
2023-01-18 09:17:32
3040
原创 【180】Java用堆实现从列表中获取第k小(或大)的元素
本文讨论的是在不改变用户输入的列表前提下,按照用户输入的顺序,输出第k个元素。其中k是从0开始计算。
2022-11-08 23:38:03
470
原创 【178】Java利用JNI调用C++编写的DLL,连接海康明眸门禁机,实现人脸库全量更新。
Java代码更新海康明眸门禁机人脸库。中间使用了JNI和C++。
2022-10-24 09:22:51
648
原创 【177】Java利用JNI调用C++编写的DLL,连接海康人脸抓拍机,实现人脸库全量更新。
这个DLL功能,是输入一个设备IP,删除设备中的所有以前的人员资料,然后用文件夹中XML和图片的新人脸库资料上传到设备的人脸库中。相当于是覆盖旧人脸库的操作。
2022-10-05 01:29:37
859
原创 【176】Java8判断字符串是不是符合IPv4格式
某些场景下,软件系统需要用户手动输入IPv4地址。这个时候我们就需要程序判断用户输入的字符串是否符合IPv4的格式。我编写了一个工具类来完成判断的功能。
2022-10-02 23:35:56
709
原创 【173】VS2022调试通过海康温度报警SDK的C++代码
VS2022调试通过海康温度报警SDK的C++代码,报警的时候可获得红外抓拍图片和可见光抓拍图片。
2022-07-12 09:50:48
1046
原创 【172】SpringBoot2的一个利用CountDownLatch和线程池优化查询接口执行效率的例子
一些统计的页面,需要显示不同的统计数据。因此这些统计的接口在执行不同的统计代码的时候会出现执行速度慢的情况。为了解决这个问题,我用多线程同时执行不同的统计代码来提高代码执行速度。...
2022-07-05 10:26:01
689
原创 【171】JAVA8发送带有Body的HTTP GET请求
正常来讲,按照HTTP标准,GET请求事不能带有消息体BODY的。但是HTTP标准不是硬性规定,各个厂商可以根据自己的需求做成灵活的扩展。比如ES的搜索接口就要求客户端发送带有BODY的HTTP GET请求。
2022-06-27 10:06:50
2285
2
转载 【170】PostgreSQL 10字段类型从字符串修改成整型,报错column cannot be cast automatically to type integer
修改字段类型的时候,column cannot be cast automatically to type integer 错误的处理方法。
2022-06-22 14:53:16
3085
Vue.js自定义下拉列表,如何实现在下拉列表区域外点击即可关闭下拉列表的功能
2017-05-30
Swqgger ui和Spring Boot集成时需要的静态资源
2017-02-04
pringBoot全局 配置支持CORS前后端例子
2017-01-03
SpringBoot全局支持CORS前后端例子
2017-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人