自定义博客皮肤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)
  • 资源 (10)
  • 收藏
  • 关注

原创 实现简单的Http服务器+SpringMvc,集成到Spring

遍历所有的MethodHandler,如果接口上的uri和请求中的uri一直,则将参数带进去执行,并将结果返回。完全符合上面的http协议的格式,反过来,可以根据上面的协议格式,解析Http的参数和需要的字段。mybatis的代理对象,作为Spring组件,注入到容器中。扫描组件包,将每个接口请求封装成MethodHandler。

2023-12-01 16:15:39 285

原创 实现简单的MyBatis

基于 JDK 的动态代理需要被代理的对象有接口,注意不是JDK的动态代理需要实现了接口的类。这两者的区别,第一种是代理的可以是一个知道要做什么的接口,即使还没有具体的实现类,第二种是已经有具体的实现类了。代理模式分为静态代理和动态代理,静态代理就是A只帮B干活,动态代理是A不仅帮B干活,还会帮C、D,帮助对象是不确定的。如果你是代购,发现给更多的人做代购,能赚更多的钱,只要是需要购买(shop)东西的人,你就可以给他们做代购。为了简洁,代码尽可能地写在了一个类中,主要是实现功能。

2023-12-01 11:23:57 105

原创 实现简单的Spring

1.1、扫描组件1.2、实例化存入容器1.3、实例注入。

2023-12-01 09:37:03 234

原创 Flume EmbeddedAgent

flume-engine是不可运行的jar包,要是其可以独立运行,添加启动类即可,或被依赖于其他可运行包中Source、Interceptor、Channel、Processor、Sink暂且都成为组件。

2022-12-21 13:50:22 772 1

原创 MySQL查询优化

表数据皆为随机生成,身份证号、手机号、姓名、微信号等若有相同,纯属巧合。生成的数据仅用于测试说明问题,不必理会合理性。2.1.1、【用户表】t_user数据量:150w。

2022-08-03 18:04:08 324

原创 SpringBoot统一返回结果,注解分页,方法切面

1、统一返回结果22、注解实现分页、排序3、方法切面,实现方法耗时统计,接口请求日志,操作记录等

2022-07-07 17:49:19 2154

原创 接口调优的大致思路

要解决接口查询缓慢的问题,首先要清楚从请求发出到返回,经过了哪些过程。后端接收到请求,首先是后端分配线程处理,而该线程是SpringBoot默认的线程池中的线程。线程池的默认配置在文件TaskExecutionProperties.class中可以看到,大致如下:假设8个核心线程都正在处理请求,再来新的请求,会进入队列等候,直到核心线程有空出,或者队列满了,线程池会开启非核心线程,来处理队列中等候的任务,但是默认线程池的队列这么长,相比之下,

2022-06-01 18:26:42 446

原创 基于ShardingSphere-JDBC的MySQL分库分表

ShardingSphere-JDBC分库分表1、ShardingSphere-JDBC1.1、官网地址https://shardingsphere.apache.org/1.2、概念1.2.1、逻辑表相同结构的水平拆分数据库(表)的逻辑名称,是 SQL 中表的逻辑标识。 例:订单数据根据主键尾数拆分为 5 张表,分别是 t_order_0 到 t_order_4,他们的逻辑表名为 t_order1.2.2、真实表在水平拆分的数据库中真实存在的物理表。 即上个示例中的 t_order_0 到

2022-03-06 22:45:31 2655

原创 Hive安装部署

Hive安装部署1、主机分配Node内存大小(G)ipApplications系统JDKhadoop014192.168.159.128NameNode、DataNode、ResourceManager、NodeManager、Zookeeper、MySQLCentOS7jdk1.8.0_144hadoop024192.168.159.129SecondaryNameNode、DataNode、NodeManager、Zookeeper、HiveCen

2021-12-05 23:01:37 2224

原创 zookeeper集群安装

zookeeper集群安装1、安装包准备https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz下载完后存放至目录/root/softwares2、zookeeper安装2,1、解压至指定目录tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/2.2、文件重命名cd /usr/local/mv zookeeper-3.4.10 zookee

2021-12-04 15:15:56 317

原创 HDFS工作原理

HDFS工作原理1、NameNode 和 DataNode​ HDFS采用master/slave架构。一个HDFS集群是由一个NameNode和一定数目的DataNode组成。NameNode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。​ 从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataN

2021-12-02 15:34:36 1638

原创 java操作HDFS

1、windows环境准备https://download.csdn.net/download/qq_25863973/513454252、maven依赖<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.6</version></dep

2021-11-28 19:43:02 186

原创 Hadoop集群安装

Hadoop集群安装1、准备工作1、三台机器的防火墙必须是关闭的2、确保三台机器的网络配置正常(NAT模式、静态IP、主机名的配置)3、确保/etc/hosts文件配置了IP和hosts的映射关系4、确保配置了三台机器的免密登录认证5、确保所有机器时间同步6、JDK和hadoop的环境配置(JDK安装步骤省略)注:没有特殊说明,所有配置hadoop01、hadoop02、hadoop03都执行1.1、主机分配Node内存大小(G)ipApplications系统JDK

2021-11-28 19:21:31 1543 1

原创 oracle 表空间、段、区、块

1、块(block)oracle存储的最小单位,默认块大小是8K,可通过“show parameter db_block_size”查看,数据库建立后不可修改2、区(extent)多个数据块(block)组成区,区也是oracle进行空间扩展的最小单位。如下图所示,一个区含有8个块,故区的大小为:8 * 8192 = 65536但区含有块的个数是不确定的3、段数据段是与数据库对象相对应,一般一个数据库对象对应一个数据段。多个extent是对应一个数据段,每个数据段就是数据库一个对象。表、索

2021-07-28 17:04:55 3963

原创 oracle 提示表空间不足(ORA-01653 unable to extend table)

1、如果oracle后台都无法进入,需先删除一些文件,保证可以登入oracle后台1.1、find / -type f -size +500M(查看超过指定大小的文件,一些压缩文件,可临时删除)2、从根目录起,查看哪个目录使用的空间最大2.1、du -h / --max-depth=1其中根目录共计使用68G,/data目录使用了52G,以此类推,直到找到空间占用比较大的目录最后定位到目录$ORACLE_HOME/diag/rdbms/orcl/orcl/incident3、删除incide

2021-07-28 14:19:19 771

原创 springmvc接口后缀为htm时,请求返回406

springmvc.xml 配置如下:1、将favorPathExtension设置为false(是否从扩展名中获取mediaType, 默认为true)2、媒体类型委托给内容协调器管理<mvc:annotation-driven content-negotiation-manager=“contentNegotiationManager”></mvc:annotation-driven>...

2021-07-28 10:56:32 329

原创 TCP的三次握手

1、TCP的首部结构组成如下:源端口 source port、目的端口 destination port、序号 sequence number、确认号 acknowledgment number、数据偏移 offset、保留 reserved、标志位 tcp flags、窗口大小 window size、检验和 checksum、紧急指针 urgent pointer、选项 tcp options。其中标志位解释如下:URG:标志位为 1 时,表示有需要紧急处理的数据。ACK:标志位为 1 时,表示

2021-06-27 13:09:04 1189

原创 企业微信H5唤起(打开)微信小程序

1、登录企业微信管理后台(https://work.weixin.qq.com/wework_admin/frame)2、获取企业ID,我的企业>企业信息>企业ID(ww28b3c6e7a00ee381)3、获取应用id及secret。应用管理>应用>自建>企业应用(test)>AgentId(1000011)、Secret(t5gPkJsvlEvp0i_bTeJpzAJ0jQ-edqS7fsrdmYPTKLc)4、申请域名校验。应用管理>应用>自建

2021-03-17 14:58:02 12579 3

原创 linux离线安装Fastdfs

声明:文章是复制其他博主的,但不记得原博客链接1.下载文件https://github.com/happyfish100/fastdfs/releasesfastdfs-5.11.tar.gz,libfastcommon-master.zip新建文件夹存储文件mkdir /FastDFSyum -y install gcc-c++yum -y install unzip zip解压:unzip libfastcommon-master.zip分别执行./make.sh和./make.sh

2021-03-17 14:51:53 686

原创 springboot动态任务统一管理(新增、修改、停止、删除)

springboot任务动态注册、修改、停止、删除和统一管理github地址:https://github.com/softwarevax/maven/tree/main/unified-task-schedule1、任务实体类public class Job { /** * 任务id, 用于标识,默认使用全限定类名 */ private String jobId; /** * 任务名称, 默认简单类名 */ private

2021-03-17 14:19:34 637 2

原创 linux简单部署ClickHouse

1、从官网下载需要的安装包(https://repo.clickhouse.tech/tgz/)2、这里以版本“20.2.1.2183”为例,需下载以下文件2.1、clickhouse-common-static-20.2.1.2183.tgz2.2、clickhouse-common-static-dbg-20.2.1.2183.tgz2.3、clickhouse-server-20.2.1.2183.tgz2.4、clickhouse-client-20.2.1.2183.tgz3、分别解

2021-01-27 13:20:03 748

原创 CentOS7离线配置时钟同步服务器

1、date命令查看当前系统时间和互联网时间相差大概16秒2、安装libopts25rpm -ivh libopts25-5.18.12-1.64.x86_64.rpm3、安装ntpdaterpm -ivh ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm4、安装ntprpm -ivh ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm5、编辑ntp.conf文件(vim /etc/ntp.conf)driftfile /va

2021-01-05 19:58:02 1051

原创 mybatis oracle批量更新

java文件void updateVideoDeviceStatus(List<VideoDeviceVo> list);xml文件<update id="updateVideoDeviceStatus" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">

2020-11-25 08:38:14 295

原创 npm notice created a lockfile as package-lock.json. You should commit this file

set EXPO_DEBUG=truenpm config set package-lock falsenpm install

2020-10-26 09:12:16 3591 2

原创 linux内网穿透(内外网服务器端口映射)

1、安装sshpass(CentOS7)rpm -ivh sshpass-1.06-1.el7.x86_64.rpm若内网无法连接网络,可下载后,在上传至内网服务器,下载地址:https://centos.pkgs.org/7/epel-x86_64/sshpass-1.06-1.el7.x86_64.rpm.html2、内网服务器的操作ssh -N -v -R 内网服务器端口:127.0.0.1:外网服务器端口 外网服务器用户@外网服务器ip,如:ssh -N -v -R 8080:12

2020-08-26 22:11:27 6990

原创 Linux 创建和回收swap分区

1、查看当前内存使用情况:free -m2、增加swap分区,8Gdd if=/dev/zero of=/swap bs=1024 count=8192000swap文件可以放在空间比较大的盘下3、设置交换文件swapmkswap /swap4、激活交换分区swapon /swap若提示:swapon: /swap:swapon 失败: 设备或资源忙,先给权限:chmod 0600 /swap关闭后再开启swapoff /swapswapon /swap5、设置引导自启动运

2020-07-31 16:44:01 654

原创 mybatis自定义插件处理数据字典

字典表插件github地址1、插件功能描述:1、当表中含有的字典项较多时,需要进行多次连字典表进行查询,从而影响查询速度和开发速度。此插件的目的在于改善此过程。2、使用注解,将字典项中的编码替换为文本,如表中返回的字典编码"MAN",需要连接字典表,将“MAN”查出“男”。使用此插件,一个注解解决问题,一处注解,处处使用。实体中添加了注解,无论是详情查询,还是列表查询,都会生效3、当字典表数据较多时,不建议使用,如用户表,不适合全部加载到内存中2、集成步骤2.1、注册mybatis插件2.1

2020-05-17 23:03:06 3575 7

原创 基于MySQL实现分布式锁

1、分布式锁服务端单独启动一个应用,用来提供分布式锁,实现锁的关闭和开启。相当于redis的服务器1.1、创建锁表DROP TABLE IF EXISTS `qrtz_distribute_lock`;CREATE TABLE `qrtz_distribute_lock` ( `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin N...

2020-04-15 17:10:05 546

原创 JVM类加载

1、类加载过程加载、验证、准备、解析、初始化、使用、卸载1.1 加载(加载代码入内存的方法区)1.1.1、自定义类加载器1.1.1.1 findClass:根据名称读取文件存入字节数组,自定义类加载器的关键1.1.1.2 defineClass:把一个字节数组转为Class对象1.2 验证(合法性验证)1.3 准备(内存分配)1.4 解析(符号引用换成直接引用)1.5 初始化(...

2020-03-16 20:11:09 112

原创 Linux下安装nginx

1、yum install gcc-c++2、yum install -y pcre pcre-devel3、yum install -y zlib zlib-devel4、yum install -y openssl openssl-devel5、将nginx压缩包上传至/usr/local,并完成解压6、进入解压后的文件夹6.1 ./configure6.2 make6.3 m...

2019-12-12 14:59:01 95

原创 springboot 项目打包提示:程序包com.sun.xml.internal.messaging.saaj.util不存在

解决办法:org.apache.maven.pluginsmaven-compiler-plugin3.1java.version</source><target>{java.version}</source> <target>java.version</source><target>{java...

2019-12-11 14:18:17 7200

原创 springboot打包后访问classpath文件出错的解决办法

1、group.json为classpath目录下的文件,FileCopyUtils为springboot框架自带工具Resource resource = new ClassPathResource(“group.json”);byte[] bytes = FileCopyUtils.copyToByteArray(resource.getInputStream());String con...

2019-12-06 08:58:20 972

原创 java自定义native方法JNI

1、文件准备1.1 百度网盘下载下载连接:https://pan.baidu.com/s/1ycAEGGvHMKfE6f__pf6Q8g提取码:po6z安装Dev-C++,可编译c或c++文件为dll,通过其他方式编译也可以,该编辑器较小,方便。1.2 java代码计算两个整数相乘package com.wit.ctw;public class NativeJni { ...

2019-10-15 13:11:49 671

原创 Linux安装mysql5.7

1、压缩包获取1.1 通过wget命令从官网下载wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz1.2 window下载然后上传到linux服务器1.3 百度网盘下载链接::https://pan.baidu.com/s/1LtbGI8yKXok4aQ...

2019-10-02 12:47:11 215

原创 SpringBoot 自定义starter的三种方式

虽然自定义的starter与版本无关,但还是说明一下版本SpringBoot 版本2.1.4.RELEASE1、命名问题由于官方提供的starter,命名格式为spring-boot-starter-xxx,为与官方的starter区分开来,官方建议自定义的starter命名方式为xxx-spring-boot-starter,也仅仅是建议。2、starter的实现原理SpringB...

2019-08-13 09:20:55 4494

原创 Spring Cloud OAuth2 搭建授权服务器 + 客户端 + 令牌中继

SpringBoot 版本2.1.4.RELEASE、Spring Cloud版本Greenwich.RELEASE说明:token采用redis存储,用户信息采用数据库存储oauth2官网整合springboot的例子(含服务端配置和客户端)官方介绍:spring Cloud Security为构建安全的应用程序和服务提供了一组原语,它们的麻烦最小。声明性模型可以在外部(或集中)进行...

2019-08-12 21:06:53 3636

原创 Spring Cloud 高可用注册中心 Eureka Server

Spring Cloud 高可用注册中心 Eureka ServerSpringBoot 版本2.1.4.RELEASE、Spring Cloud版本Greenwich.RELEASEEureka系统架构图register-with-eureka、fetch-registry参数对应图中的Registry、Get操作Eureka Server和Eureka Client1、 Eur...

2019-08-12 09:03:54 195

原创 Spring Cloud使用MySQL的高可用配置中心Config Server

Spring Cloud 高可用配置中心 数据库方式 Config ServerSpringBoot 版本2.1.4.RELEASE、Spring Cloud版本Greenwich.RELEASE注:本文的配置中心均指配置中心服务端1. 配置中心介绍Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管...

2019-08-12 09:03:37 1115

原创 SpringBoot 自定义属性源EnvironmentPostProcessor和PropertySourceLoader

SpringBoot 版本2.1.4.RELEASE由于SpringCloud 配置中心自定义存储方式中提到PropertySourceLoader,故再学习一下自定义属性源自定义属性源有两种比较简单的方式:1、实现EnvironmentPostProcessor接口2、实现PropertySourceLoader接口然后在META-INF/spring.factories添加相应配...

2019-08-09 12:00:05 2004

原创 SpringCloud 配置中心自定义存储方式

扩展配置中心的EnvironmentRepository接口,即可完成自定义存储方式SpringBoot 版本2.1.4.RELEASE、Spring Cloud版本Greenwich.RELEASE注:以下将数据存储、git存储、svn存储等称为环境库1、接口EnvironmentRepository和Ordered配置中心自定义存储有两个重要的接口,一个是EnvironmentRe...

2019-08-08 18:08:57 979

OrderByInterceptor,配合PageHelper实现字段排序插件

OrderByInterceptor,配合PageHelper实现字段排序插件,前端传入要排序的字段和排序规则,插件自动将实体字段映射成数据库字段,不用设置表明前缀。插件通过ResultMap或ResultType读取映射关系,若没有设置,则根据驼峰转换规则。注:当有联表查询时,多个表中含有相同字段,且没有显示映射这个相同的字段,则会有问题

2022-05-31

logback-spring.xml文件配置

logback-spring.xml文件配置,1、异步日志,2、滚动日志,存放固定时长的日志,超过时间的自动删除,3、单个文件超过指定大小,分成多个,防止单个文件过大,查看不方便

2022-05-31

微信小程序开发模板文件

微信小程序开发模板文件

2022-05-31

hadoop-windows.zip

windows开发hadoop所需文件 解压至指定目录,将目录配置环境变量中,如: HADOOP_HOME = D:\Program Files\hadoop-2.2.0 Path 追加:%HADOOP_HOME%\bin

2021-11-28

nacos-server.jar

nacos-server

2021-11-04

fastdfs安装.zip

linux离线安装fastdfs所需lib

2021-03-17

ntpd离线安装所需资源

ntpd离线安装所需资源

2021-01-05

RandomValue.java

利用hutool-all生成随机数据,使用于测试,内容来自网上拷贝。拷贝自:https://www.cnblogs.com/lixingwu/p/11025923.html

2020-04-21

Statistic-3.4.2.jar

适合2019 V 1.0-V 3.42之间的版本,适合2019 V 1.0-V 3.42之间的版本,适合2019 V 1.0-V 3.42之间的版本

2020-01-17

jenkins.msi

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle

2019-12-07

空空如也

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

TA关注的人

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