自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 netty网络编程2

netty网络编程2文章目录netty网络编程27.Netty 线程模型Reactor模式Reactor角色Reactor 线程模型单Reactor单线程模型单Reactor多线程模型主从Reactor多线程模型Netty线程模型NioEventLoopNioChannel与ChannelhandlerNetty 基本用法NioChannel 用法ServerBootStrap用法Netty Channel 基本介绍Netty Channel 基本套路UnsafeChannelPipelinepipeli

2021-11-25 18:04:14 663 1

原创 netty网络编程1

Netty网络编程文章目录Netty网络编程1. IO概念BIO 同步阻塞式 (Blocking I/O)NIO 同步非阻塞式(Non Blocking I/O)AIO 异步非阻塞式(Asynchronous Blocking I/O)2.BIO与NIO模型区别阻塞模型 BIO非阻塞模型 NIO3.NIO 基础组件 Channel 与Buffer缓冲区Buffer缓冲区Buffer定义Buffer 内部结构Buffer核心使用flip操作clear操作rewind操作mark操作Channel 管道Cha

2021-11-25 16:59:20 521

转载 Java 进程保活方式

Java 进程保活方式文章目录Java 进程保活方式第一种方式:Java Service Wrapper第二种:编写Shell定时任务脚本第三种方式:使用Monit搭建监控系统第四种方式:用Supervisord管理进程第一种方式:Java Service Wrapper使用社区版本就可以了下载地址:https://wrapper.tanukisoftware.com/doc/english/download.jsp详细使用见:https://www.cnblogs.com/happyday56/

2022-04-14 18:14:57 842

原创 java多线程执行任务(工具升级版)

昨天写的java多线程执行任务(工具)但是不能符合顺序执行计划的场景,下面升级一下原工具[java多线程执行任务(工具)]: https://haohaoding.blog.csdn.net/article/details/123377795

2022-03-10 16:23:32 8463 5

原创 java多线程执行任务(工具)

在项目开发的过程中经常会碰到多线程执行任务,每次用线程池实现时,由于每次的需求都有所差别有时是所有任务同时执行有时是分批次执行有时还需要知道所有任务什么时候执行完。今天闲着写了一个通用的多线程执行工具。

2022-03-09 14:58:35 9671

原创 VUE 项目中接入websocket时需要ip端口动态部署

VUE 项目中接入websocket时需要ip端口动态部署

2022-03-02 14:58:31 4075 2

转载 SpringBoot实现Mysql百万级数据量导出并避免OOM的解决方案

SpringBoot实现Mysql百万级数据量导出并避免OOM的解决方案文章目录SpringBoot实现Mysql百万级数据量导出并避免OOM的解决方案前言JPA实现百万级数据导出MyBatis实现百万级数据导出MyBatis实现百万级数据导出的具体实例前言动态数据导出是一般项目都会涉及到的功能。它的基本实现逻辑就是从mysql查询数据,加载到内存,然后从内存创建excel或者csv,以流的形式响应给前端。参考 https://grokonez.com/spring-framework/spring

2022-02-27 15:24:15 3000 3

原创 HashMap原理分析

HashMap 原理分析

2022-02-16 17:25:48 1287

转载 linux安装jdk8

linux安装jdk8文章目录linux安装jdk81.下载jdk8方法一:官网手动下载方法二:在线下载2.源码包解压3.配置jdk环境变量4.测试是否安装成功1.下载jdk8方法一:官网手动下载下载Linux环境下的jdk1.8Java Downloads | Oracle目前在官网下载低于jdk1.8的java jdk的时候需要登陆,这边分享一个账号,方便下载账号:[email protected]密码:Oracle123.账号提供者:https://blog.csdn.net/WNss

2022-02-10 15:41:36 185

原创 全面搞懂java日志体系(jcl,slf4j;log4j,jul,simplelog,log4j2,logback)之间的关系

全面搞懂java日志体系(JCL,slf4j;log4j,jul,simplelog,log4j2,logback)之间的关系文章目录全面搞懂java日志体系(JCL,slf4j;log4j,jul,simplelog,log4j2,logback)之间的关系1.java 日志接口(门面)2.jcl3.slf4j1.java 日志接口(门面)目前常用的java接口有两种 jcl 和 slf4j 现在使用最多是 slf4j 这里简单介绍一下这两种日志接口的区别jclcommons-logging

2021-12-15 20:27:26 540

原创 vue中父组件动态改变子组件的过滤器filter

最近有个朋友问我怎么在父组件动态改变子组件的过滤器filter,想了一下写了一个demo案例子组件内容如下:<template> <div> <div v-for="(item,index) in tests" :id="index"> <el-select v-model="selectData" multiple filterable allow-create

2021-09-07 13:38:49 614

原创 前后端非对称加密工具

前后端非对称加密工具后端工具import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import java.security.*;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.security.spec.PKCS8EncodedKeySpec;

2021-06-29 11:31:20 294

原创 mysql大数据使用limit分页查询优化

mysql大数据使用limit分页查询优化优化前我们一般是由limit做查询时的语句为:SELECT * FROM table a LIMIT 1000000, 10 ;当数据库的数量越大,查询数据越往后时候SQL语句执行的数据将会变得越慢。优化后优化后的语句为:SELECT * FROM table t1 RIGHT JOIN (SELECT id FROM table LIMIT 1000000, 1

2021-06-28 18:19:43 589

转载 SpringBoot2整合JavaMelody实现后台信息监控

SpringBoot2整合JavaMelody实现项目监控SpringBoot2整合JavaMelody实现项目监控什么是JavaMelody?JavaMelody是一款能够监测Java或Java EE应用程序的服务器。并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。(来源:百

2021-03-15 15:02:14 362

转载 vuex页面刷新数据丢失的解决办法

vuex页面刷新数据丢失的解决办法在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。原因:因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化解决思路:将state的数据保存在localstorage、sessionstorage或cookie中(三者的区别),这样即可保证页面刷新数据不丢失且易于读取。localStorage: localStorage的生命周期是

2021-01-29 11:12:04 273

原创 vue接入下载文件接口

vue接入下载文件接口后端接口返回字节数组或者文件流返回下载的文件时,前端使用vue接入下载文件的方法如下:前端部分1.前端下载文件方法// obj:后端返回的的字节数组或者文件流;name:文件名;suffix:文件后缀downloadFile(obj, name, suffix) { const url = window.URL.createObjectURL(new Blob([obj])) const link = document.createElement('a') lin

2021-01-29 11:08:27 2636

原创 通过接口实现下载文件

直接上代码 /** * 通过接口下载文件 * * @param file 文件 * @return ResponseEntity */ public ResponseEntity<FileSystemResource> export(File file) { if (file == null) { return null; } HttpHeaders head

2020-12-30 17:10:21 1109

原创 springboot 2.x jpa 多数据源的配置

springboot2.x jpa 多数据源的配置相比1.x有一点不同,下面提供一种2.x的jpa 多数据源的配置1.配置类PrimaryConfigimport org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.orm.j

2020-12-28 10:17:08 243

转载 通过枚举来巧妙干掉if-else

通过枚举来巧妙干掉if-else场景:当我们接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,头条),不同渠道所需的处理方式不同,下面我们写一个简单Demo来实现该的场景。解决思路1、首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法。public abstract class GeneralChannelRule { public abstract void process();}2、编

2020-12-11 11:32:13 201

原创 项目集成javamelody页面(‘X-Frame-Options’ to ‘deny’)

项目集成javamelody页面springboot项目中整个javamelody监控,前端页面需要嵌入监控页面使用iframe报Refused to display in a frame because it set ‘X-Frame-Options’ to 'deny’的问题1.通过springboot整合javamelody向项目中引入依赖即可 <!-- javamelody监控 http://localhost:8080/monitoring--> &lt

2020-12-11 11:18:37 340 2

转载 3W 字的 Spring Boot 超详细总结

说明:前面有 4 个小节关于Spring的基础知识分别是:IoC 容器、JavaConfig、事件监听、SpringFactoriesLoader 详解它们占据了本文的大部分内容:虽然它们之间可能没有太多的联系,但这些知识对于理解 Spring Boot 的核心原理至关重要,如果你对 Spring 框架烂熟于心,完全可以跳过这 4 个小节。正是因为这个系列的文章是由这些看似不相关的知识点组成,因此取名知识清单。在过去两三年的 Spring 生态圈,最让人兴奋的莫过于 Spring Boot

2020-10-12 17:20:15 362

原创 flask 迁移数据库报 1146 “Table ‘performance_schema.session_variables‘ doesn‘t exist“

报 1146 "Table 'performance_schema.session_variables' doesn't exist" 原因:MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表performance_schema提供以下功能:1.提供进程等待的详细信息,包括锁、互斥变量、文件信息;2.保存历史的事件汇总信息,为提供MySQL服务器性能做出.

2020-09-14 20:52:28 695

转载 kafka入门介绍

https://www.orchome.com/5

2020-07-28 18:29:07 457

原创 nginx介绍以及用法说明

nginx简介(百度百科)Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在连接高并发的情况下,Nginx是Apache服务不错的替代品,能够支持高达 50,000 个并发连接数的响应。在web架构中的作用nginx在web架构中最重要的有4个作

2020-07-15 16:32:15 795 1

转载 在CentOS7系统上安装nginx

Linux下安装nginx安装依赖yum install gccyum install pcre-develyum install zlib zlib-develyum install openssl openssl-devel安装这4个依赖的时候,中间会有一些询问,输入Y即可下载nginx的tar包//进入/usr/local目录cd /usr/local//创建一个文件夹...

2020-04-26 11:42:08 2014

原创 通过nginx部署vue工程,通过反向代理实现动态ip部署

通过nginx反向代理将以api开头的请求代理到指定服务器上配置如下: server { listen 8000; server_name gbcom.com; location /api { proxy_pass http://ip:port/; # 后端不在一台机器上配置具体ip信息 } location / { ...

2020-04-14 17:40:49 2995

原创 动态ip部署vue工程

动态ip部署vue工程1. 创建一个配置文件config.js,补充一下在vue在vue-cli3.0在public下创建,2.0在static下创建2.在使用ip的地方直接用config.js里面的参数表示,不用import引入3.index.html 引入4.打包后dist有一个配置文件,可以在外部配置ip实现动态部署目的...

2020-03-17 15:56:26 2814

原创 java逐行读取超大文件

之前写了一个读取超大json文件的封装,但是有些情况需要逐行读取文件,这里提供逐行读取超大文件的封装,读取大json文件请点击传送门代码中写了详细的注释这里就不详细介绍了直接上代码(代码为参考https://www.cnblogs.com/metoy/p/4470418.html,代码上略有改动)import java.io.ByteArrayOutputStream;import j...

2020-01-19 10:43:38 3857

原创 Springboot 整合 quartz,使用spring-boot-starter-quartz获取jobDataMap数据遇到的坑

实现技术:项目中通过Springboot整合quartz,使用spring-boot-starter-quartz实现可配置定时任务。场景:定时任务执行需要使用到一些其他的参数,在创建定时任务时将参数设置到jobDataMap中并持久化到`QRTZ_JOB_DETAILS`表中的`JOB_DATA`字段,该字段为blob类型,前端展示定时任务信息是需要展示到参数数据这里不介绍怎么使用...

2020-01-09 17:45:25 6588

原创 通过Springboot工程部署vue项目

一般vue工程会单独部署到nginx服务器上,但是也有些会跟后端服务一起打包部署,这里简单介绍一种方法。首先在已有的项目中添加静态资源映射:@Configurationpublic class MvcConfig extends WebMvcConfigurationSupport { @Autowired private ConfigProperties confi...

2020-01-03 17:18:07 1331

原创 通过nginx部署vue工程时,Springboot使用webSocket(spring-boot-starter-websocket)造成经常连接失败的问题

报错信息:failed:Errorinconnectionestablishment:net::ERR_CONNECTION_TIMED_OUT项目中需要实现实时推送,我们选择使用webSocket实现这一功能,代码写好本地测试都没有什么问题,但是当项目上到服务器上就经常发生webSocket连接不上的问题。服务端通过各种配置怎么都解决不了这个问题,之后去码云上想看其他人项目看有没有...

2020-01-03 16:48:44 3169 1

原创 使用mycat后jpa踩到的坑(记录)

一直使用jpa以来用的特爽,直到最近的项目使用mycat分表后遇到一堆问题。首先需要说明的是使用mycat分表后,不能对分表的字段进行修改操作(这个之前没使用过mycat不太清楚),项目在没有分库前跑的没一点问题,之后说分库,分库建好后,启动项目就报了一个bug,显示不能对分库字段修改:2019-07-24 15:39:37.441 [Thread-30] ERROR org.hiber...

2019-12-17 16:46:31 1277 3

原创 vue中使用wangeditor的简单实践

wangeditor开发文档https://www.kancloud.cn/wangfupeng/wangeditor3/3325991简单操作1.1.创建一个简单的带编译器<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>wangEd...

2019-12-16 17:55:24 1182

原创 在CentOS7系统上安装mysql

每次安装mysql都百度一下,每次都有小的差异,版本不同等等问题,为了方便以后的安装不在百度,现将本次安装做一次记录,以后就是它了。本次也是参考网上其他人的blog:https://www.cnblogs.com/tianphone/p/10767886.html1.先检查系统是否已安装mysql,如果没有返回值,说明没有安装过mysql[root@localhost ~]# rpm...

2019-12-16 17:17:03 753

原创 在CentOS7系统上安装gitlab

最近公司的服务器坏了需要重新搭建gitlab,新买的服务器安装的系统为CentOS7,下面是本人安装的过程记录一下。1.安装ssh:sudo yum install -y curl policycoreutils-pythonopenssh-server第一步就报错了:CentOS报错:Could not retrieve mirrorlist http://mirrorlist...

2019-12-12 17:38:27 1169

转载 安装RabbitMq

RabbitMQ 安装——RPM 和 TAR 两种方式RPM 安装方式较为简单一些:  仅需如下步骤:准备条件:  为安装准备一些基本工具,有些 linux 服务器可能是精简安装。  yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-deve...

2019-12-11 15:16:51 706

原创 一种java处理超大json文件时,解析json字符串内存溢出的解决方案

项目场景:采集设备每小时将采集的信息已json文件的形式上报到指定位置,项目服务每小时定时读取文件的内容,然后将文件中的信息解析入库,前期由于上报的文件较小,所有采用直接将json字符串转javaBean对象然后分析后入库。等上正式环境后发现每小时上报的文件高达200M~400M,此时jvm直接内存溢出。问题分析:200M的数据包含的对象信息有100w之多,所以解析json数据和解析后...

2019-10-25 19:28:28 14761 7

原创 批量插入百万数量级的数据到mysql的解决方案

项目场景:需要从上报的单个文件中解析出百万数据入库,项目中无论是使用jpa 还是 mybatis 存入数据达到10000时速度明显变慢,达到100000时就让人难以接受。所以就考虑使用存储过程或者是使用原生jdbc实现,该案例使用原生jdbc实现。单线程实现案例:import lombok.Data;import lombok.extern.slf4j.Slf4j;import...

2019-10-22 09:49:23 3235 1

原创 Springboot整合druid,日数据量超出500万频繁操作数据时数据库经常断开连接的问题

1.Springboot 整合 druid引入依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId></dependency>java config 配置:...

2019-09-24 17:57:02 21442 10

原创 使用jpa时,调用saveAll()方法报More than one row with the given identifier was found

业务场景:采集服务持续采集数据并放入容器中,每当容器的数量大于1000时,会将容器内的数据放入缓存容器,并清空容器,执行一次保存缓存容器的操作,保存结束后清空缓存数据。报错场景:在保存这1000条缓存容器的数据时候偶尔会报More than one row with the given identifier was found...的错误一般情况这个错误:More than one...

2019-09-16 14:23:27 3118

netty网络编程.pdf

详细介绍netty网络编程的原理,适合想要学习netty的人快速入门 博客地址:https://blog.csdn.net/haohao_ding/article/details/121541933

2021-11-26

draw.io-12.3.2-windows-no-installer.exe

draw画图工具 windows 免安装版

2021-11-26

0_OpenCV快速指南.md

javacv 使用opencv实例 demo

2020-08-21

空空如也

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

TA关注的人

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