![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
guxiaohai_
记录点滴
展开
-
分布式锁:业务锁和定时任务锁
分布式加锁/解锁原创 2023-08-29 16:30:47 · 376 阅读 · 0 评论 -
jenkins编译打包及自动化部署
Jenkins原创 2022-10-18 15:50:21 · 9916 阅读 · 3 评论 -
java 集合(顺序,混乱,倒序)排序
示例List<String> list = new ArrayList<>();list.add("1");list.add("2");顺序排序Collections.sort(list);混乱排序Collections.shuffle(list);倒序排序Collections.reverse(list);原创 2022-03-31 09:52:07 · 2646 阅读 · 0 评论 -
idea多服务启动放在一个窗口下的设置
打开.idea文件打开workspace.xml文件添加设置如下代码 <component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType" /> </set> </option> </component..原创 2021-09-09 12:01:18 · 922 阅读 · 0 评论 -
java8基础使用
一:简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。新特性Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda :表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用: 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(原创 2021-09-09 10:42:47 · 383 阅读 · 0 评论 -
mybatis xml基础大纲
between表示between特殊符号(…之间):如:开始参数 between 结束参数choose when otherwise循环<choose> <when test="1 == 1"> 满足条件 </when> <otherwise> ...否则 </otherwise> </choose>if条件<if test="1..原创 2021-09-09 10:25:57 · 520 阅读 · 0 评论 -
springboot同时配置mysql和SqlServer多个数据源
一:简介近期在开发项目中,需要同时从mysql和SqlServer数据库拿取数据。本示例以springboot架子简单介绍下如何同时配置并拿取到不同数据库数据。二:编码application.yml文件配置 spring: datasource: #mysql配置 master: #数据源名称 driver-class-name: com.mysql.cj.jdbc.Driver jdbc-url: jdbc:mysql://ip:port/数原创 2021-09-07 14:41:00 · 2409 阅读 · 0 评论 -
清除当前日之前文件图片
一:背景项目程序服务器存储文件图片,需要定时将之前历史图片进行清除。思路:先获取到文件,然后遍历文件夹内容,拿到图片创建日期与需求规则日期进行比较,如满足则delete删除。二:代码(示例:清除当前日之前的所有) public static void main(String[] args) { File fileTemp = new File('d://文件路径地址...'); //当前时间 String current = dateTimeSubsectionFormat("原创 2021-09-07 09:37:33 · 588 阅读 · 0 评论 -
RocketMQ消息
一、 MQ背景&选型消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势: 削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题) 系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死) 提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)&nbs原创 2021-07-09 09:27:53 · 395 阅读 · 4 评论 -
java EasyPoi导入/导出
一:简介 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法详细介绍参考:http://easypoi.mydoc.io/https://www.cnblogs.com/vcmq/p/12149673.html二:集成EasyPoi引入pom.xml文件包 <dependency>原创 2021-06-16 16:12:55 · 516 阅读 · 0 评论 -
java 代码生成器
一:简介 根据指定数据结构表快捷生成代码二:示例生成器public class CodeGenerator { public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String proje原创 2021-06-16 11:32:40 · 1263 阅读 · 0 评论 -
java MyBatis-plus组件集成
一:简介 MyBatis-Plus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。二:集成mybatis-plus引入pom.xml文件包 <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-s原创 2021-06-16 10:22:50 · 529 阅读 · 0 评论 -
java swagger组件集成
一:简介 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。二:集成swagger引入pom.xml文件包(导入4个jar包)注意:jdk1.8以上才能运行swagger2 <!--swagger--> <depende原创 2021-06-15 17:10:24 · 607 阅读 · 0 评论 -
websocket实战
一:简介WebSocket协议通过在客户端和服务端之间提供全双工通信来进行Web和服务器的交互功能。在WebSocket应用程序中,服务器发布WebSocket端点,客户端使用url连接到服务器。建立连接后,服务器和客户端就可以互相发送消息。客户端通常连接到一台服务器,服务器接受多个客户端的连接。二:实战服务器代码@Slf4j@Component@ServerEndpoint(value = "/websocket")public class WebSocketController原创 2021-05-08 18:07:44 · 485 阅读 · 1 评论 -
单例设计模式
一:简介单例模式是最常用到的设计模式之一,分为饿汉式 和 懒汉式 这两种实现方式。一个类在整个系统中只有一个实例,而且这个实例在类的内部由private构造的,外部不能直接调用其构造方法,只能获取它的实例.单例模式的优点:在内存中只有一个实例对象,节省内存空间.避免重复的创建和销毁对象,可以提高性能,避免对多重资源的重复占用,可以全局进行访问.二:饿汉式单例方式1:public class EHanSingleCase { private static EHanSingleCa原创 2021-05-08 17:13:14 · 62 阅读 · 1 评论 -
Java基础知识(大纲)
服务协议tcp和udp是面向非连接的协议,需要转包mqtt、coap、http等是传输层协议创建文件如果文件不存在,则自动创建File file = new File(“文件路径地址”);if (!file.exists()) {file.mkdirs();}mkdir和mkdirs的区别?mkdir表示只创建单层一级文件。mkdirs表示创建多层全部文件字节装换如:十六进制转换10进制long dec_num = Long.parseLong(值,16);j..原创 2021-05-06 16:36:35 · 199 阅读 · 0 评论 -
十六进制转换工具
//十六进制字符串public static final String HEXMAXSTRING = "0123456789ABCDEF";/** * @Author: guwenhai * @Description: 将十六进制的字符串转换成字节数组 * @param hexString 数据消息 * @Date: 2020/11/2 18:15 */public static byte[] hexStrToBinaryStr(String hexString) { if(原创 2021-05-06 16:06:41 · 918 阅读 · 0 评论 -
java token登录令牌
一:简介token 值: 登录令牌.利用 token 值来判断用户的登录状态.类似于 MD5 加密之后的长字符串用户登录成功之后,在后端(服务器端)会根据用户信息生成一个唯一的值.这个值就是 token 值生成完之后将token值返回给前端,前端存储cookie或session中,每次请求接口需要携带token值,后端会进行相应判断,如果过期或者当前值不相同则进行拦截二:编码MD5加密/*** @Author: guwenhai* @Description: MD5加密* @原创 2021-05-06 16:03:22 · 735 阅读 · 0 评论 -
Java服务器文件上传及获取
一:简介最近项目中有用到将图片及文件上传到服务器上,并实现从服务器获取文件以及删除服务器文件信息二:编码上传文件 /** * @Author: guwenhai * @Description: 图片上传 * @param file 文件信息 * @param absoluteImgPath 绝对路径地址 * @Date: 2021-03-27 16:42 */public static List<Map<Stri原创 2021-05-06 14:49:31 · 2975 阅读 · 0 评论 -
拦截过滤器
一:简介拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体二:编码1.注入bean,启动@Configuration程序@Slf4j@Configurationpublic class BeanConfiguration implements WebMvcConf原创 2021-05-06 14:36:50 · 110 阅读 · 0 评论 -
java log4j日志输出工具类
<?xml version="1.0" encoding="UTF-8"?><configuration debug="false" scan="false"> <!--日志路径--> <property name="filepath" value="日志存储路径地址" /> <!--控制台输出--> <appender name="console" class="ch.qos.logback.core.Co原创 2021-03-15 11:39:07 · 235 阅读 · 0 评论 -
AB洗澡门
一:简称AB洗澡门用于猪场人员洗澡,一共分为A门和B门两扇,人员从A门进入后AB两扇门同时关闭,通过倒计时时间播报只能从B门出去。设备组合配件有如下:1.控制器2.人脸识别机3.电磁水阀4.磁力锁5.磁环6.门开关7.门禁电源8.墨水屏时间计算器9.播报喇叭10.绿色指示灯设备图片二:设备连接协议等信息配置三:开发者接入读取设备数据信息上位机发送数据:01 03 01 2C 00 18 85 F5命令码说明01头部03功能码原创 2021-03-12 15:27:23 · 126 阅读 · 0 评论 -
java CRC校验加密工具类
/** * @Author: guwenhai * @Description: 计算CRC16校验码 * @param data 需要校验的字符串 * @Date: 2021-03-10 19:35 */ public static String getCRC(String data) { data = data.replace(" ", ""); int len = data.length(); .原创 2021-03-10 19:37:50 · 545 阅读 · 0 评论 -
海康rtsp视频流媒体服务器搭建(去除flash插件):rtsp > nginx-rtmp > http-flv > flv.js
一:简介海康有直接开放rtsp链接视频流地址。由于HTML客户端不能直接对rtsp视频流进行播放,于是我在后台服务器做了一层转换rtsp > nginx-rtmp > http-flv > flv.js客户端播放流媒体服务。二:流媒体服务器搭建获取到rtsp视频流地址:rtsp://admin:123456@192.168.1.200:554/Streaming/Channels/102说明:admin:用户名123456:密码192.168.1.200:ip地址5原创 2021-03-03 18:11:41 · 5110 阅读 · 4 评论 -
MD5加密工具类
一:java MD5加密工具类 public static void main(String[] args) { String value = "123456"; System.out.println(getMD5Str(value)); } /** * @Author: guwenhai * @Description: MD5加密 * @Date: 11:41 2021/03/02 */ public原创 2021-03-02 16:26:20 · 209 阅读 · 0 评论 -
base64字节码
一:原创 2021-02-01 16:08:39 · 221 阅读 · 0 评论 -
java分页工具类
一:分页实体@Datapublic class Page { /** * 当前页 */ private int pageIndex; /** * 每页条数 */ private int pageSize; /** * 总条数 */ private int totalCount; /** * 总页数 */ private int totalPage; /原创 2021-01-25 11:08:08 · 268 阅读 · 0 评论