自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK动态代理与CGLIB 动态代理

一、JDK动态代理实现方式:通过反射类获取目标类的接口实现,进行拦截和扩展优点:可以不用实现目标类的接口,字节通过反射获取目标对象的方法进行拦截缺点:目标对象类一定要实现接口示例代码:public interface UserService { String getName();}public class UserServiceImpl implements ...

2018-06-24 20:16:39 234

原创 解决jquery跨域cookie丢失问题

方式一:采用jsonp方式实现解决,建议采取这种方式实现。前端代码: $.ajax({ type: "POST", url: "http://*",

2017-12-12 16:05:42 3923

原创 ajax jsonp实现跨域请求

一、前端采用jquery实现请求使用getJSON时,需要在参数中指定jsoncallback=?,这个就是前面所说的回调函数,JQuery会自动以一个随机生成的值(回调函数名)来替换该参数中的问号部分,从而形成jsoncallback=jQueryxxxxxxx这种形式的参数,然后和其他参数一起使用GET方式发出请求。$.getJSON("http://localhost:8080/ts/defa

2017-11-21 15:34:37 257

转载 Stack和Heap的区别

堆栈的概念:  堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点:堆,队列优先,先进先出(FIFO—first in first out)。栈,先进后出(FILO—First-In/Last-Out)。堆和栈的区别:

2017-11-18 11:51:52 187

原创 mysql修改utf8mb4编码集

修改my.cnf文件[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8

2017-11-04 18:41:35 501

转载 Java并发编程:深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。一.对ThreadLocal的理解        ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地

2017-10-14 17:15:21 193

原创 服务器多SSH证书配置

1.进入服务器ssh证书目录[root@vm10-10-7-12 .ssh]# cd ~/.ssh/2.创建共享配置文件#defaultHost gitlab.comHostName gitlab.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa#transcodeHost transcodeHostNam

2017-09-21 15:21:55 697

原创 webSocket示列

后台代码package com.xiaoc.websocket.servlet;import java.io.IOException;import java.util.Set;import java.util.concurrent.CopyOnWriteArraySet;import java.util.concurrent.atomic.AtomicInteger;import javax.

2017-07-25 17:48:52 349

转载 理解MySQL——索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),

2017-07-18 18:25:32 273

原创 项目自动打包部署脚本

项目自动打包部署脚本本次自动打包部署依赖于git、maven来实现自动化部署项目一、远程服务器安装git检查git是否已安装:sh-3.2# git --versiongit version 2.10.1标识已经安装,否则未安装安装指令:$ yum install git二、maven安装 检查maven是否已安装sh-3.2# mvn -vApache Maven 3.3.9 (bb52d8

2017-05-09 22:47:11 5165

原创 JS常用正则表达式

JS常用正则表达式一、 要求密码长度最少12位,包含至少1个特殊字符,2个数字,2个大写字母和2个小写字母 (?=^.{12,25}$)(?=(?:.*?[0-9]){2})(?=(?:.*?[a-z]){2})(?=(?:.*?[A-Z]){2})(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$分解:(?=^.{12,25}$) – 密码长度12-25(?=(?:.?[!@#$%()_+^

2022-03-18 10:30:34 481 1

原创 ftp客户端中文乱码问题解决

FTP传输协议FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。如果是中文需要用户手动设置。解决方案String charset = "gbk";if (FTPReply.isPositiveCompletion(ftpClient.sendCommand("OPTS UTF8", "ON"))) { // 开启服务器对UTF-8的支持,如果服务器支持就用UTF-8编码,否则就使用本地编码GBK charset = "utf-8";}ftpCl

2021-02-20 09:58:00 3815

原创 linux查看服务器相关统计数据

查看指定端口的连接数netstat -nat|grep -i "18080"|wc -l查看访问服务器ip统计netstat -ntu | grep tcp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

2021-02-10 17:35:40 437

转载 JVM性能分析&故障排查

1、Jps查看进程首先查看jps都用哪些命令,使用jps -help帮助查看命令,这样就不用死记硬背了,如下所示: 首先用jps命令查看正在运行中的进程的pid等。 jps -l 输出主类的全名,如果进程执行的是 Jar 包,输出 Jar 路径。 jps -v:输出虚拟机进程启动时 JVM 参数。(经常使用,类似ps - ef |grep java 但比这个显示更清晰) jps -m:输出传递给 Java 进程 main() 函数的参数。 2、jstat性能分析(...

2020-11-18 16:35:16 209

原创 OAuth2授权模式扩展

SpringBoot OAuth2框架本身已实现集成授权码、客户端、密码、刷新令牌等模式、现实使用中常常不能满足自身用户体系的认证,这样我们可以通过扩展授权模式的方式来实现。一、Spring Security认证流程图其中涉及到核心 ProviderManager、AuthenticationProvider、UserDetailsService...

2019-12-12 14:33:33 1330

原创 springboot druid 读写分离

springboot druid 读写分离一、修改yml文件spring: datasource: druid: master: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://${MASTER_DB_HOST}:3306/test?useUnicode=true&...

2019-11-22 16:56:02 3174

原创 SpringBoot OAuth2 之环境搭建

SpringBoot 已经集成了OAUth2标准协议的安全框架。结合spring-security以及JWT来实现去状态化的安全访问控制。一、引入相关依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...

2019-10-04 15:02:19 766

原创 SpringBoot Logback多环境日志配置

SpringBoot是可以根据spring.profiles.actve属性来指定启用某个配置文件,Logback同样可以与SpringBoot一样,根据环境不通,启用不通的日志配置以及日志级别配置。一、application.yml配置:logging: config: classpath:logback-${spring.profiles.active}.xml二、创建logbac...

2019-10-04 14:40:47 985

原创 RestTemplate post请求传参方式

RestTemplate post请求方式主要分为下面几种:一、postForObject RestTemplate template = new RestTemplate(); String url = "http://localhost/test"; MultiValueMap<String, Object> paramMap = ...

2019-08-08 16:46:09 9667 1

原创 Spring-data-redis cacheable并发导致的null问题

Spring-data-redis cacheable并发导致的null,版本低于1.8.11会导致该问题1.8.11之前的版本通过@cacheable缓存获取内容,代码层面是先判断缓存key值是否存在,存在在进行get缓存值,这就会导致非原子性操作。问题场景:(高并发情况下,多线程操作同一个key)步骤:1.线程1获取缓存值,刚判断key值存在2.线程2在此期间删除了缓存中的该ke...

2019-08-08 16:35:16 944

原创 KeyTool 生成ssl证书/导入证书库

KeyTool 生成ssl证书/导入证书库keytool 常用命令:-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/Use...

2019-05-07 22:58:09 2566

转载 logback的使用和logback.xml详解

logback的使用和logback.xml详解一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如...

2019-04-10 11:20:01 148

原创 java连接数据库提示performance_schema'.'session_variables' has the wrong structure

两种方式:1、在命令行状态下:mysql_upgrade -u root -p --force,重启mysqlServer;2、命令行状态下:mysql -u app -pmysql&amp;gt; set @@global.show_compatibility_56=ON;

2018-11-17 21:11:39 1066

转载 springcloud feign 注入bean null问题

此问题主要是由于feign 和swagger2版本冲突导致的。本人用到的springcloud版本,如下:&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-parent&amp

2018-07-28 20:45:05 3504

转载 mysql事务隔离级别

1.查看当前会话隔离级别select @@tx_isolation;2.查看系统当前隔离级别select @@global.tx_isolation;3.设置当前会话隔离级别set session transaction isolatin level repeatable read;4.设置系统当前隔离级别set global transaction isolation...

2018-07-25 15:37:50 130

原创 CAS单点登录-介绍(一)

CAS单点登录-介绍(一) 由于之前工作需要都是对接现成的单点登陆服务,基于自己兴趣目前正在研究CAS单点登陆原理和搭建以及不同的应用场景对接方式。特此来记录学习的过程以及分享,希望能帮助大家。1.CAS是什么?CAS是Central Authentication Server的缩写 ,中央认证服务,一种独立开放指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 We...

2018-07-08 23:51:52 695

转载 linux 排查cpu负载过高异常

问:如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?步骤一、找到最耗CPU的进程工具:top方法:执行top -c ,显示进程运行信息列表键入P (大写p),进程按照CPU使用率排序图示:如上图,最耗CPU的进程PID为10765步骤二:找到最耗CPU的线程工具:top方法:top -Hp 10765 ,显示一个进程的线程运行信息列表键入P (大写p),线程按...

2018-06-26 15:56:08 12594 2

转载 maven 远程仓库配置

在上一章节中,重点介绍了如何搭建nexus,搭建成功之后关键在于如何运用到项目中,下面将结合实际项目做简单介绍。windows下搭建nexus仓库:http://blog.csdn.net/hh12211221/article/details/74010609在pom文件中配置nexus仓库[html] view plain copy    &lt;repositories&gt;        ...

2018-06-25 11:15:43 1020

转载 Solr IK 分词查不到结果问题

 前天在服务器上搭建一主一从的solr4.6的服务器,建core的时候,抛弃了以前从solr4.6下载包里面的配置文件。而是上这个文件夹拿配置文件:F:\solr\solr-4.6.0\example\multicore\core0\conf。这个文件夹给的配置文件是最简单的!只需一个schema.xml和solrconfig.xml就可以迅速搭建一个core出来。    搭建好之后,基本的CRU...

2018-06-22 15:14:33 1881

原创 es6转化成es5

&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; &amp;lt;/

2018-06-18 12:09:36 378

原创 Linux 下RabbitMq 安装

一、RabbitMQ是使用Erlang开发,所以安装RabbitMQ前需要先安装Erlang。$wget http://erlang.org/download/otp_src_20.0.tar.gz$tar -zxvf otp_src_20.0.tar.gz$yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-...

2018-06-11 21:19:17 327

原创 Git 常用指令总结

一、创建仓库# 在当前目录创建一个文件夹$ mkdir [project-name]# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史(各个分支提交记录等)$ git clone [url]二、提交、推送文件# 添加当前目录的所有文件...

2018-05-28 17:27:09 155

转载 C3P0下连接超时总结

Mysql服务器默认的“wait_timeout”是8小时【也就是默认的值默认是28800秒】,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。wait timeout的值可以设定,但最多只能是2147483,不能再大了。也就是约24.85天这个参数大致的意思是这样:当一个客户端连接到MySQ...

2018-05-25 10:57:18 4244

转载 Spring在代码中获取bean的几种方式

方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObjectSupport 方法四:继承自抽象类WebApplicationObjectSupport 方法五:实现接口ApplicationContextAware 方法六:通过Spring提供的Cont...

2018-05-22 17:29:26 440

转载 Fastjson生成json时Null属性不显示

Fastjson生成json时Null属性不显示 2015年08月07日 09:01:15 阅读数:13481 举个例子Map &lt; String , Object &gt; jsonMap = new HashMap&lt; String , Object&gt;(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap...

2018-05-15 15:32:57 12539

原创 webSocket封装jssdk

一、jssdk代码如下:(function($) { $.config = { url: '', //链接地址 }; $.init=function(config) { this.config = config; return this; }; /** * 连接webcocket */ $.connect = function() { var pro...

2018-05-11 11:33:07 2999

转载 js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)

js中遍历数组的有两种方式123456789var array=['a']//标准的for循环for(var i=1;i&lt;array.length;i++){    alert(array[i])}//foreach循环for(var i in array){    alert(array[i])}正常情况下上面两种遍历数组的方式结果一样。首先说两者的第一个区别标准的for循环中的i是num...

2018-05-08 17:33:57 8495

原创 git 获取更新远程分支列表并检出指定分支

一、git 查看本地已有分支情况:localhost:$ git branch -a develop* dv2 master test remotes/origin/HEAD -&gt; origin/master remotes/origin/develop remotes/origin/dv2 remotes/origin/master remotes/ori...

2018-04-21 12:25:15 19352

转载 Elasticsearch之安装ik分词插件

IK简介IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开 始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,I...

2018-04-07 10:46:36 179

原创 nginx 常见正则匹配符号表示

12345678910111、^: 匹配字符串的开始位置;2、 $:匹配字符串的结束位置;3、.*: .匹配任意字符,*匹配数量0到正无穷;4、\. 斜杠用来转义,\.匹配 . 特殊使用方法,记住记性了;5、(值1|值2|值3|值4):或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp6、i不区分大小写 一.正则表达式匹配,其中:* ~ 为区分...

2018-04-04 10:54:51 4876

空空如也

空空如也

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

TA关注的人

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