自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Idea xml 文本粘贴保持原有文本的缩进格式

在右边的设置面板中,选择第二个 “Other” 的 tab,勾选“Keep white spaces”,应用就好。Idea(2016版) 编辑 xml 的时候,默认是不保留缩进的。

2023-08-09 14:00:41 594

原创 Idea 配置EasyCode模板

idea EasyCode工具

2022-06-19 16:53:29 868 2

原创 zip 包解压缩  记录

zip 包解压缩ZipInputStream zipInput = new ZipInputStream(inputStream, Charset.forName("GBK")); //读取一个目录 ZipEntry nextEntry = zipInput.getNextEntry(); String outPath = appConfig.getTmpPath() + System.currentTi.

2021-02-23 20:18:53 211

原创 CentOS 安装ngnix

第一步: 查看是否安装gcc使用命令gcc -v第二步:没有的话使用以下命令安装yum -y install gcc第三步:pcre、pcre-devel安装pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。安装命令:yum install -y pcre pcre-devel第四步:安装zlib安装zlib库提供了很多种压缩和解压缩方式nginx使用...

2020-08-27 22:20:26 388

原创 CentOS 7 防火墙添加端口

给redis 6379端口添加firewall-cmd --zone=public --add-port=6379/tcp --permanent给nignx添加端口firewall-cmd --zome=public --add-port=80/tcp --permanent使其立即生效:firewall-cmd --reload查看防火墙开放的端口firewall-cmd --zone=public --list-ports...

2020-08-27 21:08:12 162

转载 @ApiParam @PathVariable @RequestParam三者区别

@ApiParam @PathVariable @RequestParam三者区别1.@ApiParam 顾名思义,是注解api的参数,也就是用于swagger提供开发者文档,文档中生成的注释内容。  @ApiOperation( value = "编辑公告", notes = "编辑公告", httpMethod = "POST" ) @RequestMapping( va...

2019-07-12 14:06:40 1769

原创 restTemplate的用法

1.restTemplate.postForObject()方法:POSTHttpHeaders header = new HttpHeaders();header.setContentType(MediaType.MULTIPART_FORM_DATA);MultiValueMap<String, Object> paramMap = new LinkedMultiV...

2019-07-12 14:04:33 676

转载 MySQL 性能优化神器 Explain 使用分析

MySQL 性能优化神器 Explain 使用分析简介MySQL 提供了一个 EXPLAIN 命令, 它可以对SELECT语句进行分析, 并输出SELECT执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAINSELECT*fromuser_infoWHER...

2019-03-13 09:58:34 103

转载 MyISAM和InnoDB两者之间区别

MyISAM和InnoDB两者之间有着明显区别,简单梳理如下:1) 事务支持MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。MyISAM是非事务安全型的,而InnoDB是事务安全型的,默认开启自动提交...

2019-03-04 22:19:52 187

转载 查看数据库连接信息

查看数据库连接信息:---查看当前数据库系统所有请求情况.我只列出了我认为比较重要有助于我解决问题的字段。SELECT ds.session_id, ds.status, Db_name(dr.database_id) AS database_name, ds.login_name, ds.login_time, ds...

2019-03-04 22:09:51 1900

原创 一致性hash算法

一致性hash算法Java demo package com.wang.hash;import java.util.LinkedList;import java.util.SortedMap;import java.util.TreeMap;/** * 一致性hash算法 */public class ConsistentHashingWithVirtualNode...

2019-02-21 11:22:28 139

转载 Java 虚拟机

一.运行时数据区域  Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、堆、本地方法栈、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。  1.1程序计数器  程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等...

2019-02-19 14:57:37 107

转载 Apache服务器访问过慢分析及解决

起因:线上的一台服务器,最近总是出现 访问 很慢的情况发生,点击一个链接要2秒钟以上才能打开,按照我们对于访问人数的估计,服务器应该不至于响应这么慢,从而需要针对这个问题进行分析,来解决网站访问过慢。分析:1、首先,在页面访问变慢情况发生时,使用 top 命令查看了服务器的负载情况,发现负载并不高,初步估计不是程序的问题。 2、然后,查看了线程中的 httpd 的数量, ps -aux |...

2019-02-18 09:27:47 1355

原创 类加载

一、概述:       类加载机制:校验,转换解析和初始化,最终形成可被虚拟机使用的Java类型,这就是虚拟机的类加载机制。二、类加载的生命周期:        加载——&gt;验证——&gt;准备——&gt;解析——&gt;初始化——&gt;使用——&gt;卸载        其中验证,准备和解析他们合称为链接过程。三、加载:       1、通过类的全限定名获取该类的的...

2019-02-15 10:20:26 120

原创 MySQL增加用户

1、增加用户:      CREATE USER 'user_name'@'%' IDENTIFIED BY '123456';2.增加权限:GRANT SELECT ON *.* TO 'user_name'@'%' WITH GRANT OPTION;3.删除用户:drop USER 'user_name'@'%';4.查询用户:SEL...

2019-01-17 13:55:27 150

转载 mac OSX中安装了一下zookeeper

前言项目需要,所以,在mac OSX中安装了一下zookeeper。安装查看brew info zookeeper$ brew info zookeeperzookeeper: stable 3.4.12 (bottled), HEADCentralized server for distributed coordination of serviceshttps://zook...

2019-01-16 16:11:07 285

转载 Mac下Redis安装

1.下载打开官网:https://redis.io/Download---Stable---Download3.2.8,下载最新稳定版,这里是3.2.82.安装下载完成后,打开命令行工具,执行解压命令tar zxvf redis-3.2.8.tar.gz 将解压后文件夹放到/usr/localmv redis-3.2.8 /usr/local/切换到...

2019-01-16 15:25:47 76

原创 Mac 安装RabbitMQ

安装过程:      1.命令窗口输入  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 命令安装brew      2.安装rabbitMQ,命令窗口执行 brew install rabbitmq 进行安装;      3.在 cd ...

2019-01-16 11:12:07 1075 1

转载 JVM结构、GC工作机制详解

JVM结构、内存分配、垃圾回收算法、垃圾收集器。下面我们一一来看。一、JVM结构根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示:从左图可知,JVM主要包括四个部分:1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制,可以参考http:...

2019-01-10 22:23:17 333

原创 JVM虚拟机知识整理

Java内存申请:  1.静态内存:编译时就能够确定的内存就是静态内存,内存是固定的,系统一次性分配,比如int内型;  2.动态内存:就是程序执行时才知道要分配的存储空间大小,比如Java对象的内存空间。    垃圾回收:Java堆和方法区不一样,我们只有在程序运行期间才知道会创建那些对象,所以这部分的内存的分配和回收都是动态的。一版我们所说的垃圾回收也是针对的这一部分。    总之St...

2019-01-10 21:58:55 454

原创 NIO,BIO和AIO的区别

Reactor模型:应用程序在事件分离器注册 读就绪事件和读就绪事件处理器 事件分离器等待就绪事件发生 读就绪事件发生,激活事件分离器,分离器调用 读就绪事件处理器(既:可以进行操作了,开始读) 读就绪事件处理器开始进行读操作,把读到的数据提供给程序使用Proactor模型:应用程序在事件分离器注册 读完成事件和读完成事件处理器,并向操作系统发出异步读请求 事件分离器等待操作系统...

2019-01-08 20:51:01 166

转载 SpringMVC的工作原理

SpringMVC的工作原理图:SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet...

2019-01-08 14:21:20 113

转载 [Linux] du-查看文件夹大小-并按大小进行排序

使用df 命令查看当前磁盘使用情况:jack@jiaobuchong:~$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 5.7G 11G 35% / udev 2.7G 4.0K 2.7G 1% /dev tmpfs ...

2019-01-02 16:09:53 2816

原创 关于线程同步的问题(原子变量实现线程同步)

package com.bootdo.wang;import java.util.concurrent.atomic.AtomicInteger;/** * 7.使用原子变量实现线程同步 * 在java的util.concurrent.atomic包中提供了创建了原子类型变量的工具类,使用该类可以简化线程同步。 * * 其中AtomicInteger 表可以用原子方式...

2018-12-30 16:44:20 565

原创 关于线程同步的问题(特殊域变量(volatile)实现线程同步)

package com.bootdo.wang;/** * 3.使用特殊域变量(volatile)实现线程同步 * a.volatile关键字为域变量的访问提供了一种免锁机制, * b.使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新, * c.因此每次使用该域就要重新计算,而不是使用寄存器中的值 * d.volatile不会提供任何原子操作,它也...

2018-12-30 16:42:17 574

原创 关于线程同步的问题(局部变量实现线程同步)

package com.bootdo.wang;/** * 5.使用局部变量实现线程同步 * 如果使用ThreadLocal管理变量,则每一个使用该变量的线程都获得该变量的副本, * 副本之间相互独立,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响。 * ThreadLocal 类的常用方法 * ThreadLocal() : 创建一...

2018-12-30 16:39:47 999

原创 关于线程同步的问题(重入锁实现线程同步)

package com.bootdo.wang;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 4.使用重入锁实现线程同步 * ReentrantLock类是可重入、互斥、实现了Lock接口的锁, * 它与使用synchronize...

2018-12-30 16:36:13 299

原创 关于线程同步的问题(方法同步和代码块同步)

package com.bootdo.wang;/** * 线程同步: * 1.方法同步 * 2.代码块同步 */public class ThreadSynchronization { class Bank { private int account = 10; public int getAccount() { ...

2018-12-30 16:34:01 223

原创 关于线程同步的问题(阻塞队列)

package com.bootdo.wang;import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;/*** * 线程同步: * 1.方法同步 * 2.代码块同步 * 3.使用特殊域变量(volatile)实现线程同步 * a.volatile关键字为域变量的访问提...

2018-12-30 16:29:33 516

原创 @ Autowired和@Resource的区别

一. @Autowired  (Spring中的注解)      1.它默认是按照类型进行匹配的,默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false;         如:               @Autowired(required=false) ;               private BaseDao baseD...

2018-12-19 21:57:38 98

原创 MySql数据库MySQL中select * for update锁表的问题

       由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键。例1: (明确指定主键,并且有此笔资料,row lock)SELECT *...

2018-09-20 16:41:19 294

原创 mysql关联更新

样式一: update xcs_user_credit_score a1,xcs_user_credit_score a2 set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score where a1.pt_day='2017-09-20' and a2.pt_day='2017-09...

2018-09-18 15:35:50 875

原创 链表复习

package com.wang.todo;/** * 单链表 */public class SingleLinkedList { private Node head; private int size; public SingleLinkedList() { size = 0; head = null; } ...

2018-09-05 23:22:27 77

原创 Linux下Tomcat重新启动

 在Linux系统下,重启Tomcat使用命令操作的!1、首先,进入Tomcat下的bin目录cd /usr/local/tomcat/bin2、使用Tomcat关闭命令./shutdown.sh3、查看Tomcat是否以关闭ps -ef|grep java    如果显示以下相似信息,说明Tomcat还没有关闭root 7010 ...

2018-08-06 23:04:53 72

原创 git常用命令

1.git checkout dev --切换到dev分支;2.git branch 查看本地分支;3.git branch -r 查看远程分支;4.git branch -a 查看远程和本地分支;5.假设当前为dev分支:   git merge master 将master分支合并到dev分支上面;6.git branch -v 查看最近的提交;7.git br...

2018-08-06 22:56:46 105

原创 excel 输出图片

private static void drawPictureInfoExcel(HSSFWorkbook wb,HSSFSheet sheet, HSSFPatriarch patriarch, int colIndex, int rowIndex, String imagePath) { HSSFPatriarch patriarchs = sheet.createDrawingPa...

2018-07-06 13:47:38 693

转载 AOP 面向切面编程

AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用(3)Advice(通知):AOP在特定的切入点上执行的增强处理,有be...

2018-06-19 15:36:13 167

原创 2018最新手机正则表达式

由于新时代,各种网络运营商出现,比如阿里的蚂蚁宝卡,腾讯的大王卡等等,所以常规的手机号正则表达式已经满足不了现实需求,下面提供一个新的正则表达式(这里同时记录下一些比较常用的正则): // 手机号码正则表达式var mobile = /^((13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])+\d{8})$/;...

2018-06-19 15:00:43 126

空空如也

空空如也

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

TA关注的人

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