自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (2)
  • 收藏
  • 关注

原创 解leetcode题集....持续更新中

1.给定一个数组nums,写一个函数将数组中的所有0挪到数组末尾而且维持其他所有非零元素相对位置不变举例:nums[3,7,0,6,0,3,2] 函数运行后结果为nums=[3,7,6,3,2,0,0]public class Solution { public static void swap(int[] nums,int a,int b){ int t...

2018-03-10 17:16:22 412

原创 Dubbo注解方式数据校验支持

Spring MVC 支持JSR-303、Bean验证框架,默认实现用的是 Hibernate validator。在Spring MVC中,只需要使用@Valid注解标注在方法参数商,Spring MVC即可对参数对象进行校验,校验结果会放在BindingResult对象中。除了@Valid 还有 @Validated注解支持参数的分组校验。它们的区别:@Valid:没有分组的功能。@Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上@Validated:提供了一个分组功能,可以在入

2021-07-07 16:05:20 1793

原创 为什么Spring MVC可获取到方法参数名

前言之前在看公司其他小组关于定时补偿机制的相关代码,发现了这么两行代码:private static final LocalVariableTableParameterNameDiscoverer discoverer = new LocalVariableTableParameterNameDiscoverer();......//获取方法参数名数组String[] parameterNames = discoverer.getParameterNames(method);这是什么API?可

2021-06-22 20:27:29 596 1

转载 消除java异常开销

抛异常的最大开销是异常栈的构建过程,如果你的程序调用很深,特别是用了第三方开源框架,这个开销是不容忽视的开销在哪查看jdk源码 /** * Constructs a new throwable with the specified cause and a detail * message of {@code (cause==null ? null : cause.toS...

2019-07-27 10:15:29 580

转载 SpringCloud实战3-Hystrix请求熔断与服务降级

我们知道大量请求会阻塞在Tomcat服务器上,影响其它整个服务.在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败.高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险.Spring Cloud Netflix Hystrix就是隔离措施的一种实现,可以设置在某种超时或者失败情形下断开依赖调用或者返回指定逻辑,从而提高分布式系统的稳定性.生活中举个例子,如电力过...

2019-06-24 09:41:31 555

原创 SpringCloud实战2-Ribbon客户端负载均衡

前面我们已经完成了注册中心和服务提供者两个基础组件。接着介绍使用Spring Cloud Ribbon在客户端负载均衡的调用服务。ribbon 是一个客户端负载均衡器,可以简单的理解成类似于 nginx的负载均衡模块的功能。主流的LB(负载均衡)方案可分成两类:一种是集中式LB, 即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负...

2019-06-23 23:09:48 327

原创 SpringCloud实战1-Eureka

熟悉微服务架构或Dubbo框架的都知道,微服务中最核心、最基础的组件就是注册中心了。下面利用Spring Cloud Eureka实现服务注册中心。并注册一个简单的服务提供者。首先先创建一个spirngboot工程,并在父pom文件中添加公用依赖。如下:<dependencyManagement> <dependencies> ...

2019-06-23 21:45:45 445

转载 foreach遍历list删除元素一定会报错?

foreach遍历list集合删除某些元素一定会报错吗?先上一段代码:List list = new ArrayList();list.add("1");list.add("2");list.add("3");list.add("4");list.add("5");for (String item : list) { if (item.equals("3")) { ...

2019-05-29 11:09:39 6904 6

转载 使用keepalived实现双机热备

通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。下面来以keepalived结合tomcat来实现一个web服务器的双机热备。keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。在VRRP中有两组重要...

2019-04-17 22:21:32 174

转载 初识Docker-可能是把Docker的概念讲的最清楚的一篇文章

到底什么是Docker?

2019-04-16 21:45:42 191

原创 通过ssh tunnel连接内网ECS和RDS

问题背景:一些ECS没有访问公网的需求,或是RDS出于安全考虑只允许内网访问。但是希望远程连接这些ECS或RDS进行管理时就会比较麻烦,一般可以通过选一台有公网的ECS搭建VPN的方法来解决这个问题。但是搭建VPN有一定的技术门槛,需要有一定的网络基础,在配置的过程中会遇到很多问题。这种情况下,可以通过SSH Tunnel的方式来简单的实现对内网ECS和RDS的访问。使用此方案不需要安装额外的...

2019-04-14 20:09:22 1159

转载 理解两个大数相乘过程

1,明确程序是一个通用法则。这个实现过程既可以满足一位数字相乘,也可以满足两位数字相乘。既然能够满足一位数字,两位数字,那么自然也能够满足多位数字相乘。2,最开始自己面对这一道面试题,第一反应就是,我无法使用任何编程语言的基本数据类型去表示这样一个大数,自然也不能够满足这个数的乘积了。这也是这个面试题的难点。3,我的想法就是抛开一切数学中的理论概念。用编程语言的字符组成字符串的方式进行思考。...

2019-04-02 17:43:16 685

转载 linux后台执行命令:&和nohup

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。&amp;当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上&amp; 实现后台运行。例如:sh tes...

2018-11-03 14:23:53 261

转载 MySQL从.ibd文件恢复数据

MySQL从.ibd文件恢复数据最简单的情况需要四步也可能是更糟糕的情况随笔最简单的情况需要四步创建一个表确证与原始表结构一致: CREATE TABLE &lt;table_name&gt; ...;删除新建的表空间: ALTER TABLE &lt;table_name&gt; DISCARD TABLESPACE;复制待恢复的&lt;table_name&gt;.ibd文件到目标数...

2018-11-02 14:01:37 425 1

转载 微信小程序分享到朋友圈

截止到2017年11月18号,微信小程序官方还尚未开放直接分享到朋友圈的能力,但是劳动人民的智慧是伟大的【狗头】 现在普遍的做法是,生成一张带有小程序码的图片,保存到用户相册,用户自行发布图片到朋友圈我的套路:请求后端API生成小程序码(生成小程序码需要access token,后端生成比较方便)canvas绘制文字和图片到画布当用户点击分享到朋友圈时,给用户展示画布,...

2018-08-06 17:13:26 1981

转载 浏览器跨域详解-很多人没有提到的坑

背景最近公司组织了一场网络攻防演练,CSRF(跨站请求伪造攻击),XSS(跨站脚本攻击),SQL注入,cookie拦截修改,各种高大上的名词。最近专注于后台业务,前端知识都变得很模糊,在页面的提示下算是踉踉跄跄做完了。但做完还是一脸懵逼,为什么会存在这些漏洞?这些漏洞的根源在哪里?应对策略是什么?我想把他们全整个明白,特别是CSRF这东西,真的是神奇,就搜了几篇博客,看完又做亲自实验了一下,发...

2018-07-31 16:12:34 756

转载 http参数中特殊字符处理

特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是”%20”。 下表中列出了一些URL特殊符号及编码 1. :替换为%3A  2. + URL 中+号表示空格 %2B 3. 空格 URL中的空格可以用+号或者编码...

2018-07-31 16:03:11 3193

转载 继承HttpServletRequestWrapper 实现request中流的重复获取

业务场景:需要打印所有的api请求的信息到log中,在Filter中拦截了所有的api请求,但是打印的信息中需要包含api请求的body,如果在Filter中使用request.getInputStream()来获取流来得到body中的信息,可以达到预期效果,但是流的获取只能获取一次,之后再获取就获取不到了,导致controller无法拿到参数。 解决办法:HttpServletRequestW...

2018-07-20 15:09:05 2084

转载 git/ssh捋不清的几个问题

主要是 windows 用户会遇到很多纠结的问题,linux/unix 用户属于这方面的高端用户,应该有能力处理此类问题,而且网络上也有很多解决方案,本文的授众是 windows 用户。由于今天配置了一下午,虽说配置过程基本搞清楚,懒得重新配置一遍,所以文中皆以文字形式叙述,没有截图。原文地址:http://www.cnblogs.com/hustskyking/p/problems-in-g...

2018-07-20 15:05:19 288

原创 Java 8中一些常用的全新的函数式接口

函数式接口什么是函数式接口?函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注,注意⚠️,这里的抽象方法指的是该接口自己特有的抽象方法,而不包含它从其上级继承过来的抽象方法,例如:@FunctionalInterfaceInterface FI{ abstract jud...

2018-07-20 14:18:11 171

转载 如何解决fastJson无序问题?

在开发过程中,遇到过一种一开始觉得很莫名其妙的情况——在将json解析成一个map的时候,会出现顺序颠倒的情况,虽然数据读取和存储都没有出错,但是顺序的颠倒在开发中处理特定问题时也是一件很令人头疼的事情,那么为什么会出现这种情况,怎么避免出现这种情况呢?(解决方法来源于网络)跟踪fastjson源码,在com.alibaba.fastjson.parser.DefaultJSONParser ...

2018-07-20 09:59:22 550

转载 java类中serialversionuid是什么?

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx...

2018-07-19 23:42:52 457

原创 slf4j中的MDC

slf4j中的MDCslf4j中MDC是什么鬼  slf4j除了trace、debug、info、warn、error这几个日志接口外,还可以配合MDC将数据写入日志。换句话说MDC也是用来记录日志的,但它的使用方式与使用日志接口不同。  在使用日志接口时我们一般这么做:Logger LOG = LoggerFactory.getLogger("LOGNAME_OR_CLASS...

2018-07-19 22:58:32 309

转载 SpringMVC 异常处理 - HandlerExceptionResolver

今天用到SpringMVC中的异常处理,所以决定写下来,以后也会用的着。Spring MVC提供了一个HandlerExceptionResolver接口,可用于统一异常处理。代码如下/** * spring mvc 全局处理异常捕获 根据请求区分ajax和普通请求,分别进行响应. * 第一、异常信息输出到日志中。 * 第二、截取异常详细信息的前50个字符,写入日志表中t_...

2018-07-19 22:50:28 365

转载 SourceTree GitLab添加SSH认证

在Git命令行下输入ssh-keygen -t rsa 生成公钥和密钥 在文件资源管理器上可以看到 将公钥文本形式上打开 打开GitLab上的SSH管理 SourceTree上绑定私钥 ...

2018-07-11 15:09:35 1374

原创 Java Object对象之clone方法

克隆的目的:快速创建一个已有对象的副本。克隆的步骤:创建一个对象 将原有对象的数据导入到新创建的数据中 1. Object的clone()源代码简介 /** * Creates and returns a copy of this {@code Object}. The default * implementation returns a so-called...

2018-07-07 20:50:12 464

原创 eclipse如何查看jar包的源代码

方法:将jd-gui集成在Eclipse中步骤:1、下载jd-gui插件,我这里下载的是:jd-eclipse-site-1.0.0-RC2下载地址:http://download.csdn.net/download/yu1014745867/101988052、运行eclipse,选择菜单栏Help–&gt;Install New Software 3、在右侧窗口,选择Ad...

2018-07-06 16:59:57 2554

原创 手写简易版spring MVC框架

自己手写一个简易版Spring MVC主要是为了强化自己对Spring框架的理解 1.首先新建一个项目: 2.编辑pom.xml文件,主要是增加了servlet-api依赖和jetty插件&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;project xmlns=&quot;http://maven.apache.or

2018-07-06 00:11:13 599

原创 Java中ExecutorService和CompletionService区别

我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用。之前我一直习惯自己维护一个list保存submit的callable task所返回的Future对象。在主线程中遍历这个list并调用Future的get()方法取到Task的返回值。public c...

2018-07-05 14:19:14 335

原创 Integer比较值大小==,大于等于128的返回false

code:Integer a1 = 127;Integer b1 = 127;if(a1==b1){ System.out.println("相等");}else{ System.out.println("不等");}Integer a = 128;Integer b = 128;if(a==b){ System.out.println("相等");...

2018-07-05 12:32:10 1210

转载 关于事务的ACID简述

首先,http://blog.csdn.net/yuxin6866/article/details/52649048 这篇博客关于不可重复读和幻读的内容介绍的十分清晰 以下为自己理解:事务总结: 事务的特性:★★★ ACID 原子性:事务里面的操作单元不可切割,要么全部成功,要么全部失败 一致性:事务执行前后,业务状态和其他业务状态保持一致. 隔离性:一个事务执行的时候最好不要受到...

2018-07-05 12:29:02 664

转载 spring boot 集成shiro的配置

spring boot提供了一个自带的认证框架,同时也提供自定义的javaconfig配置扩展,spring-sercurity同样也是优秀的框架,但是习惯了用apache shiro框架,而且原项目就是集成的shiro框架,到网上找了一下配置方式,没找到完全配置的方法,因此决定自己动手,丰衣足食!要在spring boot上集成其他框架,首先要会spring javaconfig方法,利用此方法同

2018-05-09 23:04:29 935

转载 公钥与私钥,HTTPS详解

1.公钥与私钥原理 1)鲍勃有两把钥匙,一把是公钥,另一把是私钥 2)鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。 3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 4)鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 5)鲍勃给苏珊回信,决定采用”

2018-05-09 22:26:39 731

转载 java项目常用工具类之beancopy,bean和map转换工具类

项目环境:jdk1.8+spring4.3.12一、问题描述及试用场景: 在项目规范中,要求类名以DO为尾的类作为数据库层实体bean,类名以MO为尾的类作为系统传输层实体bean,类名以VO为尾的类作为服务端与前端交互的实体bean。由于以上要求,需要在各个bean直接进行copy数据,除了傻瓜式的set/get or constructor来copy数据外,spring提供了直接co...

2018-04-27 18:07:34 2115

转载 微信小程序 传值取值的几种方法总结,百分百会用到

微信小程序 传值取值 小程序里常见的取值有以下几种,一个完整的项目写下来,用到的概率几乎是100%。 列表index下标取值 页面传值 form表单取值列表index下标取值 实现方式是:data-index=”{{index}}”挖坑及e.currentTarget.dataset.index来填坑即可1.1 生成值 &lt;image src="../../../ima...

2018-04-22 00:46:38 2692

原创 HashMap和LinkedHashMap的区别

HashMap,LinkedHashMap,TreeMap都属于MapMap 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。HashMap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不...

2018-04-22 00:40:04 11180 5

转载 SpringAop中JoinPoint对象的使用方法

JoinPoint的用法JoinPoint 对象JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoint对象. 常用api: 方法名 功能 Signature getSignature(); 获取封装了署名信息的对象,在该对象中可以获取到目标方法名,所属...

2018-04-14 15:30:57 8353 1

转载 Mybatis排序无效问题解决

问题: Mybatis在映射XML文件中配置了排序项,但排序结果总是没有变化。分析: 经过查阅网上资料,才发现原来是变量定义转义问题(1)对于形如#{variable} 的变量,Mybatis会将其视为字符串值,在变量替换成功后,缺省地给变量值加上引号。例如:order by #{variable1}假设variable1传入值为“name”,则最终SQL语句等同为:ord...

2018-04-03 20:00:52 1500 1

原创 用Docker搭建wordpress博客

WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。在Windows上可以非常方便的安装WordPress,因为IIS上集成了WordPress的一键安装包。而在Linux上安装WordPress就比较复杂了,我们需要配置PHP环境、Apache或者Nginx服务器、MyS...

2018-03-26 22:39:34 1540 1

转载 css3画三角形的原理

预备知识当我们设置一个div其width与height为100px,并且设置其四边框的宽度为100px,且分别设置其颜色后,我们可以看到如下的一张图片 此时如果设置这个div的height为0的话,其他不变,会得到下面这个图形 下面把其宽度也设置为0后,得到如下的一张图片 所以这就是我们把width,height设置为0后得到的效果,是不是出乎意料的竟然有点好看。。好了接下来看我们

2018-03-16 23:38:05 456

Spring Boot实战 ,丁雪丰 (译者) .pdf

本书以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖、Spring Boot CLI、Groovy、Grails、Actuator。对于Spring Boot开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。

2017-09-14

jsmartcom_zh_CN.jar

jsmartcom_zh_CN.jar是文件上传功能需要用到的jar包,一种是fileupload,另外一个可以用到的是smartupload,smartupload一定要注意中文编码的问题。

2017-09-14

空空如也

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

TA关注的人

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