自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (14)
  • 收藏
  • 关注

原创 【190】Java8利用红黑树实现Map

每个节点要么是红色,要么是黑色,必须二选一。根节点是黑色。每个叶子节点是黑色。叶子节点用空节点表示。红色节点的两个子节点都必须是黑色的。对于每个节点,从该节点到后代叶子节点的所有简单路径都包含相同数量的黑色节点。

2023-09-19 17:35:38 48

原创 【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 692

原创 【188】Java8利用AVL树实现Map

AVL树又被叫做平衡二叉搜索树、平衡二叉树。AVL是其发明者的首字母缩写。这篇文章中,AVLTreeMap 类集成了 java.util.Map 接口,并利用 AVL 树结构实现了 Map 接口的所有方法。本文还给出了测试代码。

2023-07-31 15:02:37 94

原创 【187】Javascript自己实现的 replaceAll 函数

这个函数没有使用正则表达式,因此在填写需要被替换的旧子串和新子串的时候,不需要考虑正则表达式特殊符号的影响。

2023-05-22 17:48:19 65

原创 【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 134

原创 【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 373

原创 【184】Win10下Java8调用Python的face_recognition库来实现人脸识别

face_recognition 是一个开源的、人脸识别的Python库。本文讲解了在 Windows 10操作系统上,使用 Java8 来调用 Python 的 face_recognition 库来实现人脸识别。

2023-02-01 08:46:19 655

原创 【183】Java8对图片做顺时针旋转90度、逆时针旋转90度、旋转180度、水平翻转、垂直翻转操作。

Java8对图片做顺时针旋转90度、逆时针旋转90度、旋转180度、水平翻转、垂直翻转操作。

2023-01-18 09:17:32 1849

原创 【182】Java8利用二叉查找树实现Map

本文利用二叉查找树写了一个Map,用来保存键值对。

2023-01-09 15:29:10 450

原创 【181】Java8实现单线程外部排序

自己用Java8实现的一种外部排序方法

2023-01-04 00:40:54 254

原创 【180】Java用堆实现从列表中获取第k小(或大)的元素

本文讨论的是在不改变用户输入的列表前提下,按照用户输入的顺序,输出第k个元素。其中k是从0开始计算。

2022-11-08 23:38:03 192

原创 【179】Java实现堆排序

本文讲解了堆排序的实现方式。并且把堆排序和冒泡排序放在一起比较了效率。

2022-10-30 22:08:14 208

原创 【178】Java利用JNI调用C++编写的DLL,连接海康明眸门禁机,实现人脸库全量更新。

Java代码更新海康明眸门禁机人脸库。中间使用了JNI和C++。

2022-10-24 09:22:51 268

原创 【177】Java利用JNI调用C++编写的DLL,连接海康人脸抓拍机,实现人脸库全量更新。

这个DLL功能,是输入一个设备IP,删除设备中的所有以前的人员资料,然后用文件夹中XML和图片的新人脸库资料上传到设备的人脸库中。相当于是覆盖旧人脸库的操作。

2022-10-05 01:29:37 558

原创 【176】Java8判断字符串是不是符合IPv4格式

某些场景下,软件系统需要用户手动输入IPv4地址。这个时候我们就需要程序判断用户输入的字符串是否符合IPv4的格式。我编写了一个工具类来完成判断的功能。

2022-10-02 23:35:56 469

翻译 【175】如何在CentOS 7 上安装FFmpeg

本篇文章教你如何在CentOS 7 上安装 FFmpeg。

2022-09-14 22:27:21 339

原创 【174】Java解析文件名中的方括号表达式

本文利用 Parser 的方式来解析文件名中的方括号表达式,提取有价值的数据。

2022-08-10 23:26:26 584

原创 【173】VS2022调试通过海康温度报警SDK的C++代码

VS2022调试通过海康温度报警SDK的C++代码,报警的时候可获得红外抓拍图片和可见光抓拍图片。

2022-07-12 09:50:48 544

原创 【172】SpringBoot2的一个利用CountDownLatch和线程池优化查询接口执行效率的例子

一些统计的页面,需要显示不同的统计数据。因此这些统计的接口在执行不同的统计代码的时候会出现执行速度慢的情况。为了解决这个问题,我用多线程同时执行不同的统计代码来提高代码执行速度。...

2022-07-05 10:26:01 396

原创 【171】JAVA8发送带有Body的HTTP GET请求

正常来讲,按照HTTP标准,GET请求事不能带有消息体BODY的。但是HTTP标准不是硬性规定,各个厂商可以根据自己的需求做成灵活的扩展。比如ES的搜索接口就要求客户端发送带有BODY的HTTP GET请求。

2022-06-27 10:06:50 1499 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 1465

原创 【169】JAVA8利用隔行隔列删除元素来有损压缩图片

本文的有损压缩算法,是每隔一行或者一列,就删去一行或一列的像素。如下图所示,下图中红线表示要删除的行和列的元素。

2022-06-15 00:26:38 160

原创 【168】Java调用EXE并利用多线程接收EXE的输出流

Java调用EXE并利用多线程接收EXE的输出流

2022-06-09 22:48:47 504 1

原创 【167】Java利用可重入锁避免并发下出现错误数据,并且避免死锁以及等待锁的时间过长

注意本文只讲解使用可重入锁解决问题的方法,其他方案放在文末,也不考虑 select for update 的方案。1.场景我以医院的病房管理系统为例来说明可重入锁。先放数据库的表结构:-- 房间表CREATE TABLE IF NOT EXISTS public.room( id bigint NOT NULL, -- 主键 room_no character varying(10) COLLATE pg_catalog."default", -- 房间号 rema

2022-06-01 18:15:07 362

原创 【166】VS2022调试通过海康人脸抓拍SDK的C++代码

具体的开发环境配置方法可以参考 【160】VS2022调试通过海康摄像头烟火识别SDK下面是人脸抓拍的C++代码,把原来示例中的CreateFile函数改成了CreateFileA函数,避免出现无法创建文件的BUG。具体原因可以参考 【164】VS2022下VC++调用CreateFile文件名不能接受char*,包括强制转换成LPCWSTR的char*也会出错#include <stdio.h>#include <iostream>#include "Windows.h

2022-05-26 09:11:29 690

原创 【165】Nginx1.20.1搭建负载均衡的例子

打开 Nginx安装目录/conf 文件夹,编辑 nginx.conf 文件,内容如下#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}ht

2022-05-24 23:58:36 507

原创 【164】VS2022下VC++调用CreateFile文件名不能接受char*,包括强制转换成LPCWSTR的char*也会出错

错误代码#include <stdio.h>#include <iostream>#include "Windows.h"using namespace std;int main(int argc, char* argv[]) { char* str = argv[1]; char cFilename[256] = { 0 }; HANDLE hFile; DWORD dwReturn; sprintf_s(cFilename, "D:\\ws\\tmp

2022-05-21 23:29:31 484

原创 【163】VS2022调试通过海康明眸门禁报警事件中的报警布防C++示例代码

海康文档链接: 海康文档链接下面是我根据海康文档中明眸门禁 => 报警事件 => 报警布防 中的示例C++代码,放入VS2022开发工具中,调试C++代码通过后的代码:#include <stdio.h>#include <iostream>#include "Windows.h"#include "HCNetSDK.h"using namespace std;int iNum = 0; //已保存的图片个数void CALLBACK Message

2022-05-10 23:29:59 1088

原创 【162】VC++的main函数接收命令行参数

C++代码如下:VS2022 创建新项目,选择空项目,项目叫 mainArguments。鼠标右击窗口右侧解决方案资源管理器中的源文件文件夹,在快捷菜单中选择“添加” => “新建项”。在对话框中选择C++文件,文件名改成main.cpp。下面是 main.cpp 文件的内容:#include <iostream>using namespace std;int main(int argc, char* argv[]) { for (int i = 0; i < argc

2022-05-09 23:17:35 591

原创 【161】ffmpeg 5 的用法总结

ffmpeg 把 rtsp 流下载成MP4文件:ffmpeg -timeout 5000000 -y -i [rtsp地址] -vcodec copy -f mp4 -t 10 E:\test\102.mp4-timeout 5000000 是过期时间,单位是微秒。有可能网络不稳定,连接没有响应,一直没有下载文件。所以这里设置过期时间,如果建立连接后超过5秒没反应就断开连接。-f 是文件格式,这里是mp4。-t 是视频时长,单位是秒。...

2022-05-08 20:23:52 1062

原创 【160】VS2022调试通过海康摄像头烟火识别SDK

下面是我根据海康官方文档代码,放到VS 2022 版本中调试通过后的代码:#include <stdio.h>#include <iostream>#include "Windows.h"#include "HCNetSDK.h"using namespace std;//时间解析宏定义#define GET_YEAR(_time_) (((_time_)>>26) + 2000) #define GET_MONTH(_time_)

2022-02-06 18:46:59 2798 9

原创 【159】微信小程序跨页面跨组件同步全局状态、跨页面跨组件通讯方案,使用自制广播模块实现

本文源代码位置:https://gitee.com/zhangchao19890805/csdnBlog 仓库中的 blog159 文件夹中,子文件夹 zcBroadcast 就是项目文件夹。建议使用微信开发工具打开。工作中需要让微信小程序各个页面、各个组件之间通信,及时获取全局状态的变化情况。我自己编写了 zcBroadcast.js 广播模块,用来完成此工作。目录结构:其中 lib/zcBroadcast.js 是广播模块,lib/store.js 是用来保存全局状态的模块。custom-t

2021-08-20 18:12:58 405 1

原创 【158】ContOS 8 安装 Docker 步骤

版本是 Docker 20查看 centos 具体版本cat /etc/redhat-releaseCentOS Linux release 8.4.2105可以看到我的版本是 8.4.2105我们需要下载安装包。打开路径 https://download.docker.com/linux/centos/ 去对应版本文件夹里面,再选择对应的CPU架构,再选择稳定版或者测试版本,我最后选好的路径是 https://download.docker.com/linux/centos/8/x86_64

2021-07-17 11:48:00 84

原创 【157】Consul 1.8.5 在Linux CentOS 7上搭建集群例子,含修改server端口号,访问控制

概要本文用了三台物理机,分别是A、B、C。操作系统是 Linux CentOS 7物理机A:172.31.130.124物理机B:172.31.130.125物理机C:172.31.130.129这个集群主要干了下面三件事:三台机器上分别搭载了三个server节点、三个agent节点。为了解决端口冲突,修改了server节点的端口号。agent节点使用默认端口号,这样方便Java或其他开发代码的业务节点连接。做了访问控制,防止无关人员调用接口,或者使用consul自带的管理界面。

2021-07-05 18:38:36 408

原创 【156】linux查看文件夹的大小

查看根目录下各个文件夹的大小:/$ du -d 1 / -h4.0K /srv4.0K /mnt1.9G /usr20G /data0868K /run8.0K /home38M /etc3.9G /var3.3M /tmpdu: cannot access ‘/proc/11306/task/11490/fd/107’: No such file or directorydu: cannot access ‘/proc/11306/task/11490/fd/111’: No su

2021-04-12 14:50:02 116

原创 【155】Zookeeper 3.5.5 在不修改源文件的条件下自定义日志文件路径

解决方案:进入 zookeeper 安装目录下,创建启动脚本文件 start.shstart.sh#!/usr/bin/env bashZOO_LOG_DIR='/data0/logs/zookeeper' ZOO_LOG4J_PROP='INFO,ROLLINGFILE' bin/zkServer.sh startZOO_LOG_DIR 设置了日志文件夹路径, ZOO_LOG4J_PROP='INFO,ROLLINGFILE' 设置日志输出级别是INFO,采用滚动文件更新的方式生成日志文

2021-04-12 10:36:00 209

原创 【154】MySQL使用字符串作为主键的时候,如何按照特定id顺序返回结果。

创建表格CREATE TABLE `t_product` ( `c_id` varchar(32) NOT NULL COMMENT 'ID', `c_name` varchar(200) NOT NULL COMMENT '产品名称', `c_create_time` datetime NOT NULL COMMENT '创建时间', `c_del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标识', PRIMARY KEY (`c_id`

2021-04-06 17:13:20 598

原创 【153】Linux CentOS 7 利用 crontab 定时清理日志文件

场景操作系统是 Linux CentOS 7,日志文件放在 /data0/logs

2021-01-15 13:45:11 531

原创 【152】MySQL 执行 inner join 语句时,关联字段类型不一致结果错误的解决方法。

首先,我们创建三张表CREATE TABLE `t_comment` ( `c_id` varchar(32) NOT NULL COMMENT '主键', `c_text` varchar(255) NOT NULL COMMENT '帖子内容', `c_creator_id` varchar(32) NOT NULL COMMENT '发帖人ID', PRIMARY KEY (`c_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMEN

2020-12-30 17:51:08 1558

原创 【151】Redis5.0.10一主二从三哨兵的安装与配置

首先从官网https://redis.io/download下载并把压缩包上传到服务器对应的目录。我这里是 /data0/redis_source进入压缩文件所在目录,解压文件tar -xzvf redis-5.0.10.tar.gz安装gccyum install -y gcc-c++安装中途确认的地方按 y在 /data0/redis_source/redis-5.0.10 目录下编译 Redis 5.0.10 源代码make install创建配置目录mkdir.

2020-11-24 12:59:55 345 1

ffmpeg-5.0.1-essentials_build(windows)

ffmpeg 5.0.1 基础版,适用于 windows操作系统

2022-05-05

california_housing_test.csv

california_housing_test.csv 用来学习TensorFlow 的数据文件。

2018-08-28

california_housing_train.csv

california_housing_train.csv 一个CSV文件。用来学习TensorFlow用的数据文件。

2018-08-05

jre-8u171-linux-x64.tar.gz

linux操作系统的JRE8,是java 8 的运行环境。注意只能在 Linux 操作系统下使用。

2018-06-01

利用“剪叶子”算法实现树形结构的搜索功能,用Vue.js实现

根据自己碰到的业务场景,自己总结的搜索树形结构节点的算法。用Vue.js实现Demo

2017-07-16

Vue.js自定义下拉列表,如何实现在下拉列表区域外点击即可关闭下拉列表的功能

这个上传资源是为了配合我的博客 http://blog.csdn.net/zhangchao19890805/article/details/72808639。运行项目之前建议使用 yarn install 安装依赖。

2017-05-30

Swqgger ui和Spring Boot集成时需要的静态资源

本文件解压后会有一个public 文件夹,包含css 文件夹和images文件夹。当Swagger ui和Spring Boot集成,并用Maven管理项目的时候,把public 文件夹放到 src/main/resources 下面。

2017-02-04

pringBoot全局 配置支持CORS前后端例子

本资源主要演示了Spring Boot 如何全局配置跨域资源共享。本资源解压后包含2个文件夹:blog2和testFrontEnd。blog2是后端java代码项目,由Maven构建。testFrontEnd是前端项目,测试了能否正常使用跨域的Web API。

2017-01-03

SpringBoot全局支持CORS前后端例子

本例子包含了前端代码和后端代码。压缩包解压后有2个文件夹:blog2和testFrontEnd。blog2是后端java代码的项目,由Maven构建。testFrontEnd是前端项目。本资源主要演示了Spring Boot CORS如何配置。并用前端代码做了演示。

2017-01-03

jQuery1.11.3压缩后的版本

jQuery 1.11.3压缩后的版本,文件名是jquery.min.js

2016-07-28

subclipse1.10

subclipse1.10, 这是eclipse的插件,对应的TortoiseSVN版本是1.8.x

2014-10-31

win7从.NET4.0升级到.NET4.5.1 的升级包

win7从.NET4.0升级到.NET4.5.1 的升级包

2014-05-15

java删除文件夹的代码

使用java代码,删除文件夹或者文件。没有使用递归,而是使用循环的方式删除文件夹。利用了java.io.File类来进行文件夹的删除

2013-08-31

将特殊字符转换为html代码

将特殊字符转换为html代码,这代码根据JSTL中的代码进行了改写。

2013-03-13

空空如也

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

TA关注的人

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