自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小王的博客

弥补记忆力的缺失。。。。

  • 博客(67)
  • 资源 (10)
  • 收藏
  • 关注

原创 SpringBoot与quartz框架实现分布式定时任务

目录前言一、介绍1.Quartz 核心概念2.原理图二、使用步骤1.引入依赖2.在项目中添加quartz.properties文件(不添加该文件该框架会加载自带的properties文件)3.在数据库中创建quartz相关的表(建议与业务隔离库)4.项目结构5.代码配置1)多数据源配置 - DataSourceConfig:2) 配置文件 - application.yml:3) Quartz配置 - QuartzConfig:4) 多数据源 Mybatis配置(其一) - DemoMybatisConfi

2020-10-30 13:53:42 2611

原创 jdk-jmap命令

jmap命令详解jmap是JVM自带的堆内存转储(heap dump)生成工具,可以用来分析某JVM进程的堆内存占用,以及所有对象的概况。其用法说明如下所示。-heap:打印堆配置信息和使用概况在Heap Configuration一节,会输出与堆相关的JVM参数。在Heap Usage一节,会输出新生代(Eden区、Survivor From/To区)和老生代的容量、用量和空闲量。除此之外,还会输出采用的垃圾收集器,以及字符串常量池中驻留的字符串数量、大小等。-histo:生成类的实例统计直方

2020-09-09 16:52:36 552

原创 jdk-jstack命令

jstack 命令详解jstack命令用来生成JVM中的线程快照(thread dump),其中包含有每个线程的方法调用栈以及其状态、锁信息等。其用法说明如下所示。说明一下三个参数的含义:-F:如果正常执行jstack命令没有响应(比如进程hung住了),可以加上此参数强制执行thread dump。-m:除了打印Java的方法调用栈之外,还会输出native方法的栈帧。-l:打印与锁有关的附加信息。使用此参数会导致JVM停止时间变长,在生产环境需慎用。jstack是在线程级别定位JVM问题的

2020-09-09 16:39:29 716

原创 jdk-jps命令

查看Java进程:jps用法介绍篇:jps命令:显示所有进程号和短的类名称Jps –q 命令:只显示进程号Jps –l 用于传输主函数的完整路径Jps –v 显示传递给Java虚拟机的参数(感觉这个命令才是完美,把虚拟机的一些参数全都打印出来)...

2020-09-09 16:16:07 561

原创 jdk-jstat命令查看jvm的GC情况 (以Linux为例)

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8.类加载统计:Loaded:加载class的数量Bytes:所占用空间大小Unloaded:未加载数量Bytes:未加载占用空间Time:时间编译统计Compiled:编译数量。Failed:失败数量Invalid:不可用数量Time:时间FailedType:失败类型Failed

2020-09-09 15:03:20 588

原创 Codis与RedisCluster的原理详解

把Redis分为三个部分,分别是客户端、主节点以及从节点,如果从节点要同步主节点的数据,它首先会发Sync指令给主节点,主节点收到指令之后会执行BGSAVE命令生成RDB文件,这个RDB文件指的是快照文件,它是Redis两种备份方式的其中一种,另一种叫AOF,它的原理是将所有的写入指令存入文件,mysql的binlog原理是一样的。如果主节点在生成RDB的过程当中,客户端发来了写入指令,这个时候主节点会把指令全部写入缓冲区,等RDB生成完了,会把RDB文件发送给从节点,最后再把缓冲区的指令发送给从节点。.

2020-09-01 13:34:35 547

原创 Sentry教程

Sentry介绍无论测试如何完善的程序,bug总是免不了会存在的,有些bug不是每次都会出现,测试时运行好好的代码可能在某个用户使用时就歇菜了,可是当程序在用户面前崩溃时,你是看不到错误的,当然你会说:”Hey, 我有记日志呢”。 但是说实话,程序每天每时都在产生大量的日志,而且分布在各个服务器上,并且如果你有多个服务在维护的话,日志的数量之多你是看不过来的吧。等到某天某个用户实在受不了了,打电...

2020-01-10 16:46:35 2272 2

原创 JAVA核心面试知识-数据库(十四)

14.1.1. 存储引擎14.1.1.1. 概念数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同 的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。存储引擎主要有: 1. MyIsam , 2. InnoDB, 3. Mem...

2019-12-20 10:54:35 377

原创 JAVA核心面试知识-RabbitMQ(十三)

13.1.1. 概念RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可...

2019-12-20 10:10:55 434

原创 JAVA核心面试知识-Kafka(十二)

12.1.1. Kafka 概念Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用Scala 语言编写,目前是Apache 的开源项目。broker:Kafka 服务器,负责消息存储和转发topic:消息类别,Kafka 按照topic 来分类消息partition:topic 的分区,一个 topic 可以包含多个 partitio...

2019-12-20 10:03:05 390

原创 JAVA核心面试知识-Zookeeper(十一)

Zookeeper 概念Zookeeper 是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。Zookeeper 提供了一个类似于 Linux 文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息,完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控与通知机制。11.1.1. Zookeeper 角色Zookeeper 集群是一个基于主...

2019-12-20 09:57:36 443

原创 JAVA核心面试知识-日志(十)

10.1.1. Slf4jslf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 apache 的 org.apache.log4j.Logger,jdk 自带的 ja...

2019-12-20 09:50:27 411

原创 JAVA核心面试知识-计算机网络(九)

9.1.1. 网络 7 层架构7 层模型主要包括:物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的...

2019-12-19 17:11:49 584

原创 JAVA核心面试知识-Netty 与 RPC(八)

8.1.1. Netty 原理Netty 是一个高性能、异步事件驱动的NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。8.1.2. Netty 高性能在 I...

2019-12-19 16:34:35 705

原创 JAVA核心面试知识-微服务(七)

7.1.1. 服务注册发现服务注册就是维护一个登记簿,它管理系统内所有的服务地址。当新的服务启动后,它会向登记簿交待自己的地址信息。服务的依赖方直接向登记簿要Service Provider 地址就行了。当下用于服务注册的工具非常多 ZooKeeper,Consul,Etcd, 还有 Netflix 家的 eureka 等。服务注册有两种形式:客户端注册和第三方注册。7.1.1.1. 客户端注...

2019-12-17 17:15:45 789

原创 JAVA核心面试知识-Spring 原理(六)

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。6.1.1. Spring 特点6.1.1.1. 轻量级6.1.1.2. 控制反转6.1.1.3. 面向切面6.1.1.4. 容器6.1.1.5. 框架集合6.1.2. Spring 核心组件6.1.3. Spring 常用模块6.1.4. Sprin...

2019-12-17 15:55:57 415

原创 JAVA核心面试知识-JAVA 基础(五)

5.1.1. JAVA 异常分类及处理5.1.1.1. 概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。5.1.1.2. 异常分类Throwable 是 Java 语言中所有错误或异常的超类。下...

2019-12-16 10:52:50 310

原创 JAVA核心面试知识-JAVA 多线程并发(四)

4.1.10. 线程基本方法线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。4.1.10.1. 线程等待(wait)调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait()方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或同步代码块中。4.1.10.2. 线程睡眠...

2019-12-11 15:37:22 1153

原创 spring boot集成Springfox-Swagger2

1.添加maven依赖<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagg...

2019-12-02 13:51:09 1324

原创 excel自定义表头导入

我用的maven是:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version></dependency><depen...

2019-12-02 13:33:23 413

原创 学习与使用 JAVA 1.8 中的 OPTIONAL类

从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 ...

2019-11-27 22:26:38 263

原创 JAVA核心面试知识-JAVA 多线程并发(三)

JAVA 多线程并发4.1.1. JAVA 并发知识库4.1.2. JAVA 线程实现/创建方式4.1.2.1. 继承Thread 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。pub...

2019-11-20 11:28:04 456

原创 JAVA核心面试知识-JAVA集合(二)

JAVA集合3.1. 接口继承关系和实现集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口3.2. ListJava 的 Li...

2019-11-04 16:44:39 212

原创 JAVA核心面试知识-JVM(一)

JVM(一)基本概念JVM是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。(二)运行过程:我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器...

2019-10-29 13:26:55 297

原创 Dockerfile参考demo(三)

微服务的Dockerfile文件FROM 127.0.0.1:8080/demo:baseWORKDIR /app/message-pushADD . /app/message-pushRUN mvn clean && \ mvn package spring-boot:repackage -Dmaven.test.skip=true &&amp...

2019-10-11 16:51:40 859

原创 Dockerfile部署vue项目参考demo(二)

国内源demoFROM 192.168.24.5:5000/ein-ent/web-ui:baseCMD "Hello docker!"COPY . /lain/app/WORKDIR /lain/app/#RUN ( yarn --prefer-offline ) && ( yarn build ) && ( rm -rf node_modu...

2019-10-11 16:48:23 1565

原创 Dockerfile参考demo(二)

基础镜像:搭建java环境和maven环境并设置时区等,注意构建的时候把文件名字更改成Dockerfile才能构建(没有后缀)FROM openjdk:8-jdk-alpineADD settings.xml /usr/local/WORKDIR /usr/local/RUN wget http://apache-mirror.rbc.ru/pub/apache/maven/ma...

2019-10-11 16:33:53 850

原创 Spring Boot 使用WebSocket、SockJS、STOMP实现消息功能(三)

一、介绍这里主要基于上一篇介绍一下基于SocketJS+Stomp来实现的的长连接。我借鉴了其他的一些博客,只是把我用的知识总结在了一起方便我自己以后回顾。二、WebSocket概念概述:WebSocket协议提供了通过一个套接字实现全双工通信的功能。除了其他的功能之外,它能够实现Web浏览器和服务器之间的异步通信。全双工意味着服务器可以发送消息给浏览器,浏览器也可以发送消息给服务器...

2019-10-11 16:23:09 4454 3

转载 curl常用用法

-v显示请求详细信息curl www.baidu.com -v1-X 指定请求方式GET请求curl -X GET http://localhost:8080/search?data=123 # -X GET是可选的1POST请求curl -X POST -d"data=123&key=456" http://localhost:8080/search -v1由于-...

2019-09-24 16:06:21 259

原创 Spring Boot 使用WebSocket、SockJS、STOMP实现消息功能(二)

一、介绍在我学习websocket期间,有两种实现手段。第一种是用原生的代码来实现websocket消息推送,第二种就是基于SocketJS+Stomp来实现的。这里主要讲一下第一种的实现:(一)WebSocket简介  WebSocket是一种通讯协议,通过单个TCP连接提供完全多工通讯管道。大白话就是:WebSocket协议相对于Http协议来说,它能在一段时间内一直保持连接,而Ht...

2019-09-24 15:51:35 960

转载 Vue项目在Docker的自动化部署

操作系统:CentOS部署环境:DockerCI/CD工具:Jenkins1.环境配置安装Jenkins:Centos安装Jenkins安装Docker:Centos安装Git、DotNet、Docker2.Github创建仓库https://github.com/longtaosu/Vue2DockerDemo3.本地初始化Vue项目初始化过...

2019-09-23 15:20:55 2666

转载 Dockerfile部署vue项目参考demo(一)

1.先将vue项目通过npm run build打包2.将整个dist文件拷贝到 /usr/share/路径下3.并且在/usr/share/路径下创建Dockerfile # 设置基础镜像 FROM nginx # 定义作者 MAINTAINER longdb # 将dist文件中的内容复制到 /usr/share/ngin...

2019-09-21 14:44:52 1028

原创 Spring Boot 使用WebSocket、SockJS、STOMP实现消息功能(一)

1 前言本文主要剖析了 WebSocket 的原理,为后续代码实战做一个说明吧。2 WebSocket 与 HTTPWebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。HTTP 有 1.1 和 1.0 之说,也就是所谓...

2019-09-18 16:25:30 823

转载 制作镜像并PUSH

Pull如果是Public的(docker官方仓库和加速器)直接docker pull ubuntu:16.04 即可若是私有的首先登陆docker login 仓库Host之后docker pull ubuntu:16.04 制作镜像通过操作-commit通过Dockerfile1->写Dockerfile 2->docker b...

2019-09-05 16:33:35 171

原创 JAVA核心面试知识-分布式缓存(十五)

15.1 前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。15.2 缓存穿透缓存穿透是指用户查询数据,在数据库没有,自然在缓存中也不会有。这样就导致用户查询的时候,在缓存中找不到,每次都要去数据库再查询一遍,然后返回空(相当于进行了两次无用的查询)。这样请求就绕过缓存直接查数据库,这也是经常提的缓存命中率问题。15.2.1 解决方案有很多种方...

2019-08-08 09:17:31 185

原创 SpringBoot使用Docker快速部署项目

1.简介建议阅读本文最好对Docker有一些了解首先我们先了解一下Docker是什么Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用...

2019-08-08 09:07:30 254

原创 OAuth2 token个人笔记

1.spring security oauth2简易的分为三个步骤 配置资源服务器 配置认证服务器 配置spring security 2.oauth2根据使用场景不同,分成了4种模式 授权码模式(authorization code) 简化模式(implicit) 密码模式(resource owner password credentia...

2019-07-29 16:38:09 1081

原创 Dockerfile参考demo(一)

FROM java:8 EXPOSE 8080 VOLUME /slm ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar RUN sh -c 'touch /boot-docker.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.secur...

2019-07-12 09:21:29 700

转载 从零开始的Spring Security Oauth2(三)

上一篇文章中我们介绍了获取token的流程,这一篇重点分析一下,携带token访问受限资源时,内部的工作流程。@EnableResourceServer与@EnableAuthorizationServer还记得我们在第一节中就介绍过了OAuth2的两个核心概念,资源服务器与身份认证服务器。我们对两个注解进行配置的同时,到底触发了内部的什么相关配置呢?上一篇文章重点介绍的其实是与身份认...

2019-07-09 20:33:33 524 1

转载 从零开始的Spring Security Oauth2(二)

本文开始从源码的层面,讲解一些springSecurity Oauth2的认证流程。本文较长,适合在空余时间段观看。且涉及了较多的源码,非关键性代码以…代替。获取token上一篇博客中我们尝试使用了password模式和client模式,有一个比较关键的endpoint:/oauth/token。从这个入口开始分析,spring security oauth2内部是如何生成token的。...

2019-07-09 20:31:47 854

elasticsearch-analysis-ik-7.17.6.zip

NoSql:elasticsearch 插件资源:分词器ik 版本:7.17.6

2024-06-04

mysql客户端Linux RPM包

Linux系统版本:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle Mysql版本:5.7.23

2024-06-04

elastic-ca证书

elastic-ca证书

2024-06-04

oauth2的sql脚本.rar

该资源是oauth2的内置表结构,其中有7张表,分别是clientdetails、oauth_access_token、oauth_approvals、oauth_client_details、oauth_client_token、oauth_code、oauth_refresh_token,仅支持mysql。

2020-11-16

quartz数据库脚本

该脚本是在quartz.2.2.3版本下的内置表结构sql文件,其中包含几乎所有类型数据库,例如mysql、oracle、DB2等等。

2020-10-29

国密加解密算法SM4

国密的使用,可以是网络传输安全高效,能够更好地处理HTTP请求,保证客户端和服务端之间的安全性。对报文进行加密,加密可以有很多种的算法可供选择,国密采用对称秘钥。目前只能按照压缩包中的文件结构才能有效,后续才会进行更新。

2020-07-29

demoexcel.zip

解析多表头 (支持合并单元格),其中有返回最后一行的标题接口,还有返回递归结构的接口,上述方法根据excel单元格类型来区分标题与数据,并把数据行下标记录下来。表头第一行如果有合并单元格一定要包含下一行的,以此类推,这样才能正确的保存标题结构。

2019-07-01

spring-boot-tutorials-master.zip

该工程中有spring-boot中相关常用插件demo,可以供参考。例如,dubbo、rabbitmq、swagger2、cache、jsp等

2019-06-19

VMware-Workstation-15.0.4-12990004精简官方中文安装注册版.exe

这是15.0.4中文版虚拟机,绿色安装版。个人使用起来还不错。

2019-06-19

Mybatis-Generator.rar

该工具是用来通过generator-batis.xml来生成相关实体类和数据库接口类,里面附有使用说明,但是xml配置需要查阅一定的资料,里面有启动脚本run.bat。会把代码生成到您指定的路径。

2019-06-19

lucene.sql

用于测试库,用来使用和了解elasticsearch的功能。如果有其他测试与调试需要也可以使用,sql文件中会创建一个产品表并插入大量数据。

2019-05-15

kibana-6.2.4-x86_64.rpm

Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据

2019-05-15

空空如也

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

TA关注的人

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