自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (10)
  • 收藏
  • 关注

原创 使用jvisualvm工具排查springboot工程内存溢出

最近在做压力测试时,经常会出现内存溢出,总结一下排查步骤。一、使用如下命令启动springboot工程nohup java -jar -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.23.xxx springbootxx

2020-08-05 15:48:56 1692

原创 docker中安装mysql

一、拉取mysql镜像,这里示例mysql5.7。命令:docker pull mysql:5.7二、创建一个mysql的容器docker run --name "mysql" -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7表示容器名字为mysql,本地机器的端口为3307,容器的端口为3306,数据库的密码为root三、进入容器docker exec -it mysql /bin/bash四、登录mysql 。

2020-07-24 09:48:55 211

原创 linux安装docker

一、使用 uname -r 查看系统的内核版本,3.10即可[root@VM-0-7-centos ~]# uname -r3.10.0-862.el7.x86_64二、检查是否已经安装[root@VM-0-7-centos ~]# yum list installed | grep docker如果没有列表,说明没有安装过。三、使用yum命令安装docker[root@VM-0-7-centos ~]# yum -y install docker如果出现如下界面,说明安

2020-07-24 09:32:58 553

原创 Spring Cloud eureka服务搭建

一、创建springboot工程、Eureka注册中心1、引入maven依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> &

2020-06-21 13:35:22 164

原创 Mysql报错:Specified key was too long; max key length is 767 bytes

在执行mysql脚本时,报错:Specified key was too long; max key length is 767 bytes。解决办法:一、修改mysql的字符集为uft8再次执行时正常。二、mysql的字符集为utf8mb41、先检查一下数据库被限制了索引的大小SHOW variables like ‘innodb_large_prefix’;如果...

2020-03-02 13:40:02 30692 8

原创 Springboot新增配置文件

一、在resources下面创建test.properties文件内容如下:com.test.name=zhangyscom.test.age=20二、创建Userpackage com.hundsun.springcloud.bean;import org.springframework.boot.context.properties.ConfigurationProp...

2019-06-05 13:23:11 1438

原创 Springboot配置文件随机生成内容

一、创建application.yml文件my: name: hundsun age: 12 number: ${random.int} uuid: ${random.uuid} max: ${random.int(10)} value: ${random.value} greeting: hi,I'm ${my.name}二、创建ConfigBean类...

2019-06-05 13:12:35 934

原创 SpringBoot使用junit测试

一、引入maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency&gt...

2019-06-05 13:08:25 853

原创 Drools规则引擎demo

一、eclipse安装drools插件 1、插件下载地址:http://download.jboss.org/drools/release/7.22.0.Final/ 2、将下载完的插件解压到本地3、打开eclipse,选择help-> install new software。打开后点击Add按键,在弹出的对话框内点击Local按键,选择E:\SoftWa...

2019-05-30 09:29:37 915

原创 在一台Linux机器上安装Zookeeper集群

一、安装jdk、并配置环境变量,安装jdk就不再叙述。需要注意的是,jdk的版本和zookeeper的版本要匹配,自己在安装的过程中,使用Zookeeper3.5.4时,发现jdk7不支持,然后下载了Zookeeper3.4.13版本。一、新建zookeeper文件夹,并且在zookeeper文件夹下面新建server1、server2、server3文件夹二、进入server1文件夹...

2019-03-18 18:55:51 3464 3

原创 Springboot在程序启动之前特殊处理

我们平时使用springboot都是使用main函数直接启动的,例如@SpringBootApplicationpublic class Application { public static void main(String[] args) { ApplicationContext ctx = SpringApplication.run(Application...

2019-01-17 14:12:06 769 1

原创 设计模式之观察者模式

   一、观察者模式UML图观察者模式:多个观察者同时监听同一个对象,如果该对象有变化,会通知所有的观察者对象。例如:天气预报、公司通知放假等等 Observer 观察者接口,如果主题发生变更时,则更新状态ObserverImpl:观察者的实现类,主题发生变化时,更新自己的状态 Subject:主题的父类,所有需要观察的主题应该继承这个类Subjec...

2019-01-16 15:04:41 155

原创 设计模式之模版方法

一、模版方法:所有处理的请求流程都一样,只有流程中某些较少的地方不一样,可以考虑使用模版方法。比如我们每天上班,都是 起床、上班、下班、睡觉的流程。那么可以使用模版方法。模板方法UML图:二、模版方法实现代码:public abstract class TemplateClassAbstract { public void getUp(){ Syste...

2019-01-14 13:30:01 148

原创 JDK8 Stream API

package com.hundsun.java.se.java8;import org.apache.ibatis.reflection.SystemMetaObject;import org.junit.Test;import java.sql.SQLOutput;import java.util.*;import java.util.stream.Collectors;imp...

2018-12-31 20:25:56 176

原创 JDK8 引用(方法引用、构造器引用、数组引用)

/*** @Description:* 一、方法引用* 如果lambda 体中的内容有方法已经实现了,我们可以使用“方法引用”* (可以理解为方法引用是 Lambda表达式的另外一种表现形式)* 主要有三种语法格式:* 对象 ::实例方法名* 类:: 静态方法名* 类::实例方法名* 注 : Lambda 体中调用方法的参数列表和返回类型,要与函数式接口中抽象方...

2018-12-30 21:21:40 672

原创 JDK8 lambda表达式 及四大内置核心函数式接口

package com.hundsun.java.se.java8; import org.junit.Test; import java.util.Comparator;import java.util.function.Consumer; /*** @Description: lambda表达式的基础语法* @author:zhangys* @date:...

2018-12-30 19:45:33 1086

原创 springboot配置多数据源,注解操作数据库

最近新搭建了一个项目,需要去不同的数据库中查询数据,需要多个数据源,在网上搜索了下,基本上实现都很复杂,下面我自己实现了一个很简单的配置方法。1、原来我们都是在application.yml文件中配置数据源,现在不需要在application.yml文件中配置了。      新建jdbc.properties文件,内容如下:2、新建beans.xml,内容如下&lt;?xml...

2018-12-12 19:59:34 575

原创 Springboot集成redis实现分布式锁

1、在pom.xml文件中新增如下依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt;&lt;/dependency&gt;2、ap...

2018-12-12 19:26:22 749

原创 org.xml.sax.SAXNotRecognizedException 异常

org.xml.sax.SAXNotRecognizedException: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' is not recognized. at org.apache.xerces.parsers.AbstractSAXParser.setFeature(Unknown Source)...

2018-11-14 09:50:47 5616

原创 Lua脚本发送http请求时报错: module 'socket' not found

在使用nginx发送http请求时报如下错误:lua: ./socket/http.lua:11: module 'socket' not found: no field package.preload['socket'] no file './socket.lua' no file '/usr/share/lua/5.1/socket.lua' no file '/usr/shar...

2018-11-12 14:35:57 11395 3

原创 Nginx+ lua实现http转发请求

最近要使用nginx+lua实现 一个需求:    在nginx的location部分,请求时,判断用户是否为会员,如果是会员,则跳转到a页面,否则跳转到b页面。     用户服务是一个单独的服务,具体lua脚本实现代码如下:upstream tuc_sgin { server 127.0.0.1:9806; server 127.0.0.1:9807;}loc...

2018-11-12 14:27:21 8871

原创 Nginx Access Log 设置访问日志,过滤日志中成功的请求不输出到日志中

Nginx处理请求后把关于客户端请求的信息写到访问日志。默认,访问日志位于 logs/access.log,写到日志的信息是预定义的、组合的格式。要覆盖默认的配置,使用log_format指令来配置一个记录信息的格式,同样使用access_log 指令到设置日志和格式和位置。格式定义使用变量。1、自定义一个日志格式log_format  mylogformat '"$remote_addr...

2018-10-24 19:51:05 10221

转载 内存屏障与volatile

内存屏障由于现代操作系统都是多处理器操作系统,每个处理器都会有自己的缓存,可能存再不同处理器缓存不一致的问题,而且由于操作系统可能存在重排序,导致读取到错误的数据,因此,操作系统提供了一些内存屏障以解决这种问题:LoadLoad屏障对于Load1; LoadLoad; Load2 ,操作系统保证在Load2及后续的读操作读取之前,Load1已经读取。StoreStore屏障对于Store1; St...

2018-07-15 13:19:23 647

转载 MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解

安装环境操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27主机A:192.168.1.1 (Master)主机B:192.168.1.2 (Slave)1234这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的。 本人在进行配置的时候,也遇到了这个坑,这里提前说明,希望大家不要采坑。注:这里有一篇CentOS安装MySQL的文章,在这里引出,过...

2018-06-23 13:50:12 224

转载 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚

阅读目录控制事务传播----propagation属性控制事务隔离级别----属性isolation只可读/可读写遇到哪些异常会回滚和不回滚----rollbackFor和noRollbackFor属性@Transactianal注解有一些属性,见Spring-Framework-Reference Table17.3 Transactional-settings@Transactional(pr...

2018-06-06 10:40:29 474

转载 Spring事务管理之几种方式实现事务

1、事务认识大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销。Spring事务管理基于底层数据库本身的事务处理机制。数据库事务的基础,是掌握Spring事务管理的基础。这篇总结下Spring事务。事务具备ACID四种特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)的英...

2018-06-06 10:23:38 166

转载 Tomcat中server.xml配置详解

tomcat中server.xml配置详解Tomcat Server的结构图如下:该文件描述了如何启动Tomcat Server&lt;Server&gt; &lt;Listener /&gt; &lt;GlobaNamingResources&gt; &lt;/GlobaNamingResources&gt; &lt;Service&gt; &lt...

2018-05-31 09:56:45 169

原创 Linux下面抓包

一、使用命令:tcpdump -i any -s 0 -w 111.dat111.dat是想要生成的文件名称二、如果该命令不能使用,则需要安装:yum install -y tcpdump安装成功后如下图:三、使用wireshark打开所生成的文件:输入http过滤,可以查看请求包中的数据...

2018-05-30 15:30:05 2817

转载 tomcat7以上,设置maxPostSize="0"参数后台获取不到的问题

遇到两次这个问题,记录一下。 登录的时候后台获取不到验证码,本地环境是tomcat7.32,服务器是tomcat7.82,一样的配置,本地没有发生这样的情况。查询资料发现tomcat7配置的时候,把maxPostSize=”0”的配置去掉的时候问题消失。根据以往的经验,maxPostSize=”0”不就是不限制post数据的大小的么,怎么还反倒限制了数据的大小了呢?因为项目里面要post一个数据到...

2018-05-30 15:22:38 1569

转载 ConcurrentHashMap源码详解

1. ConcurrentHashMap概述ConcurrentHashMap是线程安全的哈希表,不同于HashTable,后者在方法上增加synchronized关键字,利用对象同步锁实现线程之间的同步。显然,HashTable实现线程安全的方式太“重”,并发度高的情况下,很多线程争用同一把锁,吞吐量较低。ConcurrentHashMap通过锁分段技术,只有在同一个段内,才会存在锁竞争,提高了...

2018-05-10 14:14:46 182

原创 HashMap源码解析

创建HashMap,对初始容量和负载因子进行校验public V put(K key, V value) { if (table == EMPTY_TABLE) { //如果hash表为空,则进行扩容 inflateTable(threshold); } if (key == null) //如果key为null,则添加元素 ...

2018-05-10 14:01:05 119

原创 Windows下配置nginx

一、下载:http://nginx.org/en/download.html二、解压该压缩包,解压后如图所示:三、启动nginx。双击nginx.exe四、访问服务器http://localhost/五、配置nginx的默认端口是80,配置在nginx-1.13.12/conf/nginx.conf 文件中配置。...

2018-05-09 14:45:29 170

原创 mysql查看性能常用命令

1、查看mysql版本号:select version();2、查看mysql存储引擎:show engines;InnoDB是默认的存储引擎3、查看mysql的缓冲池大小配置:show variables like 'innodb_buffer_pool_size' ;缓冲池大小为:8388608B/1024/1024=8M,一般设置为机器的物理内存的80%4、show variables li...

2018-04-20 09:59:24 6979

原创 Eclipse搭建DL4J项目

1、访问https://github.com/deeplearning4j/dl4j-examples2、点击“clone or download”,选择“download zip”3、下载到磁盘并解压如下图:4、把dl4j-examples导入到eclipse中。File-&gt;Import-&gt;Existing Maven Projects5、导入进去之后会报错:Maven报错Missi...

2018-04-19 14:05:25 1926 2

原创 系统性能优化,linux常用命令

       最近做了系统的性能优化,因为是第一次做,很多地方不太熟悉,在做完本次的性能优化之后,系统的性能提升一倍,对于优化的过程中遇见的问题和使用的linux做一次总结。一、Linux查看端口、进程以及kill进程查看端口 :ps -aux|greo tomcat如果没有8080的端口号,可查看所有进程和端口的使用情况,使用命令:netstat -apn发现下面的进程列表,其中最后一栏是PID...

2018-03-28 15:51:31 609

原创 Spring循环依赖

循环依赖就是循环引用,就是两个或者多个bean之间互相持有对方,比如A引用B,B引用C,C引用A。如下图注:此处不是循环调用,循环调用是方法之间的调用,循环调用是无法解决的,除非有终结条件,否则就是死循环,最终会导致内存溢出。spring循环依赖包括:构造器循环依赖、setter循环依赖。public class A { private B b; public void a() { b...

2018-02-08 15:21:22 337

原创 数据库的隔离级别及实现原理

一、数据库的隔离级别数据库的隔离级别                                                     脏读                       不可重复读                  幻读读取未提交(Read Uncommittied)                         √                             ...

2018-02-01 19:34:46 1241

原创 ThreadLocal的使用及实现原理

一、ThreadLocal使用public class ThreadLocalApp { public static void main(String[] args) { Number t1 = new Number(); Number t2 = new Number(); Number t3 = new Number(); t1.start(); t2.start();

2018-02-01 19:09:53 224

转载 Spring 注解详解

使用注解来构造IoC容器    在spring 3.0中,通过@controller标注即可将class定义为一个controller类。为使spring能找到定义为controller的bean,需要在applicationContext.xml配置文件中注册。在base-package指明一个包 表明com.om包及其子包中,如果某个类的头上带有特定的注解【@C

2018-01-20 17:52:24 179

原创 ActiveMQ学习笔记

1、下载activeMQ,解压如图:2、运行activemq.bat,运行成功后出现如下界面:注:运行activemq.bat可能出现如下错误:主要是jdk版本不正确,我的jdk版本是jdk5,换了jdk8之后就可以了,ActiveMQ和jdk对应如下:3、访问http://localhost:8161/admin/ 用户名:admin 密码

2018-01-19 22:21:13 210

MongoDB 学习文档,内附Java代码

MongoDB 学习文档,内附Java代码,可使用eclipse直接运行

2017-11-18

Git学习教程

Git详细学习教程、Git详细学习教程、Git详细学习教程、Git详细学习教程

2017-11-11

MyBatis开发及学习手册.docx

MyBatis开发及学习手册.docxMyBatis开发及学习手册.docxMyBatis开发及学习手册.docxMyBatis开发及学习手册.docx

2017-09-22

Mybatis实例——可直接导入eclipse运行

Mybatis实例——可直接导入eclipse运行;Mybatis实例——可直接导入eclipse运行;Mybatis实例——可直接导入eclipse运行;

2017-09-22

Mybatis源码可直接导入eclipse

Mybatis源码可直接导入eclipse;Mybatis源码可直接导入eclipse;Mybatis源码可直接导入eclipse;Mybatis源码可直接导入eclipse;

2017-09-22

TCP_IP协议详解 卷三.pdf

TCP_IP协议详解 卷三.pdfTCP_IP协议详解 卷三.pdfTCP_IP协议详解 卷三.pdfTCP_IP协议详解 卷三.pdfTCP_IP协议详解 卷三.pdfTCP_IP协议详解 卷三.pdf

2017-09-21

TCP_IP协议详解 卷二

TCP_IP协议详解 卷二TCP_IP协议详解 卷二TCP_IP协议详解 卷二TCP_IP协议详解 卷二TCP_IP协议详解 卷二TCP_IP协议详解 卷二TCP_IP协议详解 卷二

2017-09-21

SpringMVC 实例

SpringMVC 实例代码SpringMVC 实例代码SpringMVC 实例代码SpringMVC 实例代码SpringMVC 实例代码SpringMVC 实例代码SpringMVC 实例代码

2017-09-21

Dubbo学习手册

Dubbo学习手册,Dubbo学习手册,积分;Dubbo学习手册Dubbo学习手册Dubbo学习手册Dubbo学习手册Dubbo学习手册

2017-09-21

空空如也

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

TA关注的人

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