自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大道至简

工匠精神 精益求精

  • 博客(121)
  • 资源 (1)
  • 收藏
  • 关注

原创 实用!最全的新型肺炎疫情信息导航

肺炎疫情信息导航,点击访问: 网页链接.一、查询工具信息查询收录 人民网、百度、夸克浏览器收录的 确诊患者同乘查询收录 全国指定接待湖北游客酒店信息发热门诊查询发热门诊官方查询(国务院客户端小程序)武汉市卫建委公布发热门诊百度发热门诊地图二、实时实时疫情报告国家卫建委实时疫情通报腾讯 百度 网易 头条 新浪 丁香园等主流媒体疫情实时追踪报道实时热点地图梅斯...

2020-02-01 16:09:35 5004 2

原创 头像一键戴口罩教程

1.打开点我自动戴口罩,会看到如下戴口罩页面2.准备 需要戴口罩的人物 动漫 或者 动物图片,点击选择图片,上传戴口罩的图片3.系统 会自动识别鼻子嘴巴,然后带上口罩。稍等 30秒左右即可4.生成戴口罩图像后,适当调整或者更换喜欢的口罩款式。最后 点击保存图片5.调整 完成后,保存戴口罩图片。如下也可在线生成分享给朋友的...

2020-01-30 11:48:11 10516

转载 理解 Go 语言中的方法和接收者

0x01 前言Go 语言的语法实在有些不一样,与其它面向对象语言相比,Go 的方法似乎有些晦涩。0x02 方法的定义在 Go 语言里,方法和函数只差了一个,那就是方法在 func 和标识符之间多了一个参数。type user struct { name string, email string,}//这是函数的定义func notify(email str...

2018-07-01 16:51:20 3290 2

转载 深入浅出数字签名和验签

数字签名是什么?1.鲍勃(服务器)有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂(客户端1)、道格(客户端2)、苏珊(客户端3)----每人一把。3.苏珊(客户端3)给鲍勃(服务器)写信,写完后用鲍勃的公钥加密,达到保密的效果。4.鲍勃收信后,用私钥解密,看到信件内容。5.鲍勃给苏珊回信,写完后用Hash函数,生成信件的摘要(digest)。6.然后,鲍勃使用私钥,...

2018-06-05 18:17:09 14270 10

转载 Spring中定时器实现

在一些工作需要使用到定时器,Spring很好的集成了定时器的功能! 在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,下面介绍两种方式实现Spring定时器功能,一种是基于xml配置方式,另外一种是基于注解的方式,大家根据自己的项目选择适...

2018-05-28 20:27:40 3578

转载 python requests 高级用法

转自 http://www.myvary.cn/index.php/2017/04/29/python-requests/高级用法本篇文档涵盖了 Requests 的一些高级特性。北上广深杭 交友、相亲、找工作,需要一二线大厂内推资格 加Hr姐姐微信拉你进群会话对象会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 coo...

2018-05-25 11:49:55 10586

转载 Spring Boot 2.0 新特性和发展方向

以Java 8 为基准Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。内嵌容器包结构调整为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.sp...

2018-05-24 23:40:29 550

转载 redis 发布订阅模式及应用场景

一:命令简介  从redis手册上面可以看到,其实“发布、订阅”模式才区区6个命令,下面听我一一解说下哈~~~ 1. subscribeSUBSCRIBE channel [channel ...]订阅给定的一个或多个频道的信息。     从上面的官方解释上来看,它的玩法有一点像现实生活中我们听收音机一个道理,要想听收音机,我们要做什么?肯定就是调频啦,只有在正确的频道上面,我们才能听得到好听...

2018-05-24 22:12:31 44743 10

转载 Intellij IDEA神器使用小技巧

概述Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。我最爱的【演出模式】我们可以使用【Presentation Mode】,将IDEA弄到最大,可以让你...

2018-05-22 11:08:23 1324

转载 Spring MVC 传递模型数据到视图中的方法总结

Spring MVC 传递模型数据到视图中的方法总结一般来说,有如下的4种方法来传递模型数据到视图中1、ModelAndView要求:处理方法返回值类型为 ModelAndView。在方法体中我们通过该ModelAndView对象添加模型数据。2、Model/Map/ModelMap要求:使用org.springframework.ui.Model、org.springframework.ui.M...

2018-05-11 11:30:41 1670

转载 redis 用scan 代替keys

       众所周知,当redis中key数量越大,keys 命令执行越慢,而且最重要的会阻塞服务器,对单线程的redis来说,简直是灾难,终于找到了替代命令scan。      SCAN cursor [MATCH pattern] [COUNT count]SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iter...

2018-05-10 11:01:22 5176 4

原创 使用redis incr处理并发问题

一、背景    最近公司某个短信接口因为没有加验证码限制被恶意调用,最好的解决办法是做在发送短信请求前做一个验证码验证通过后再调用短信接口。但是由于需要立马改动,借此使用了一下 “缓兵之计”--redis计数器限制二、使用redis计数器引入黑名单机制   incr是redis中一个递增函数手册是这样介绍的Redis Incr 命令将 key 中储存的数字值增一。如果 key 不存在,那么 k...

2018-05-06 14:20:58 34947

原创 配置tomcat server.xml解决中文乱码问题

项目上线之后,部分中文信息会出现中文乱码问题。在tomcat服务器下快速解决中文乱码问题 ,并且不会对之前的项目的转义和字符集设置造成冲突。进入 tomcat路径 /conf /   编辑server.xml     最后加上    URIEncoding="UTF-8"  如下所示 <Connector port="8081" protocol="HTTP/1.1" ...

2018-04-28 11:50:32 19771 1

转载 Centos下mongodb3.4的安装与配置

本文为转载,原文:Centos下mongodb3.4的安装与配置mongodb安装yum命令安装本次安装使用的是yum命令安装,在安装志强,我们先执行以下命令更新下yum。yum update然后添加mongodb的yum源。cd /etc/yum.repos.d/vim mongodb-3.4.repo将以下内容添加到mongodb-3.4.repo中[mongodb-org-3.4]n...

2018-04-20 17:58:12 1112

转载 Eclipse配置XML文件时出现reference file contains errors (http://www.springframework.org/schema/beans/...解决办法

第一步:将 Preferences > XML > XML Files > Validation中"Honour all XML schema locations"前的对号去掉。它将禁用指向不同schema位置相同命名空间引用的验证,仅以第一次找到的可验证的XML文件为结果。第二部:Clean一下Project  哦了...

2018-04-19 19:50:03 1180

原创 Eclipse Validating的作用及优化

今天接手一个小项目,一切导入正常。可是右下角一直出现  28% Validating +项目名,如下所示各种等待有木有,各种崩溃啊有木有,反正我是觉得挺烦的,但是也不知道是干嘛的,如果取消了,造成程序出问题,就是给自己找麻烦,我知道这个事情肯定是可以关的,关键的问题就是,关了影响了什么,是我们可以接受的么,如果影响到程序正常的运行了,那还不如等一会儿呢。项目比较大文件(js)较多的情况下,甚至出现...

2018-04-19 19:05:57 26508 2

转载 Jenkins 持续集成综合实战

Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。本文以 CentOS7 环境为例,总结了 Jenkins 的安装与配置、邮件功能使用,并接入阿里巴巴的著名开源项目 fastjson,以此演示 Java 项目(SVN+Maven)中 FindBugs/CheckStyle/PMD 等常用插件的使用、单元...

2018-04-19 17:05:48 1231

转载 java--对象引用与对象的区别

一、前言       在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己的学习理解记录下来。如有理解不全或者错误的地方,欢迎大家批评指正。二、分析对象引用与对象的区别       为了接下来进行更好的分析,我先建立一个Demo类,用于后面的分析。 p...

2018-04-19 10:42:49 293

转载 Chrome请求出现Provisional headers are shown的几次经历

Chrome请求出现"Provisional headers are shown":项目中遇到个好几次,分别介绍一下不同的场景:1. 所有的客户端的浏览器访问时都一直出现Provisional headers are shown的情况:处理方式: 检查该请求触发的页面,查看是否有 表单提交 和 ajax请求同时触发的情况,例如:定义了一个按钮,type是submit,另外又给该按钮定义了一个aja...

2018-04-18 14:53:20 5878

转载 从JDK源码看有趣的方法

在学习JDK的源码过程中我遇到了一些有趣有用的方法,在此之前如果要使用这些工具方法,我首先会想到的是commons-lang和guava这样的语言扩展包,但现在如果是写一些demo,使用原生即可达到目的。当然我们也不能否认它们的作用,在平时的工作项目中几乎都会引入这些语言扩展包,直接使用他们也使得编程风格统一,而且还能够对低版本的JDK提供支持。以下收集的代码片段可能会逐渐增加,也可能不会。&lt...

2018-04-17 16:39:44 2287

转载 webrtc调试工具chrome://webrtc-internals介绍

了解webrtc的开发者都应该知道存在chrome://webrtc-internals这样一个调试工具,在Chome的地址栏中输入chrome://webrtc-internals这个命令就会展示出有webrtc相关功能被启用的网页以及通话过程中产生的统计数据,当我们需要分析一通webrtc通话的音视频质量的时候,这些统计数据就派上了大用场,由于chrome://webrtc-internals...

2018-04-16 13:59:23 18257

原创 System.out.println( )对性能影响

  在项目开发中,查看输出值,简单调试或许会用到System.out.println()方法。但是正式上线项目,切记不要闲来无事写几个System.out.println(),轻则会使性能受影响重则让服务器瘫痪。直接上代码 <textarea readonly="readonly" name="code" class="Java"> * Prints a String and ...

2018-04-13 19:48:43 9324 1

转载 Java并发:隐藏的线程死锁

许多程序员都熟悉Java线程死锁的概念。死锁就是两个线程一直相互等待。这种情况通常是由同步或者锁的访问(读或写)不当造成的。Found one Java-level deadlock:============================="pool-1-thread-2":  waiting to lock monitor 0x0237ada4 (object 0x272200e8, a ja...

2018-04-13 14:47:19 503

原创 Java判断字符串是否为空

思路:判断某字符串是否为空,为空的标准是str==null或str.length()==0一.空字符串与null区别1、类型null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;2、内存分配String str = null ; 表示声明一个字符...

2018-04-13 10:56:42 61333 5

原创 微信小程序支付(Java)

相信进行过微信公众号支付的同学对于微信小程序支付的开发上手很快,如下是微信官方对三种接入方式的对比注意坑一:发起支付必须是HTTPS流程然后我们整理下发起订单的思路。如下是官方给的流程图,发起支付已经做了标注。由此可见,服务器端发起订单需要以下五小步,我们来各个击破。第一步:获取openid第二步:生成商户订单第三步:调用支付统一下单API第四步:获取预支付会话标识 prepayId第五步:将组合...

2018-04-12 20:59:02 6210

原创 微信小程序开发(一)

进行微信小程序开发首先要明白几个重要要素1.使用request请求的域名必须是备案的,并且没有被微信拉入黑名单。2.必须是https请求,有ssl证书3.HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同时支持这三个版本。测试是否支持TLS1.0 1.1 1.2可以通过这个网站测试。都为yes即可测试地址https://www.ssllabs.com/ssl...

2018-04-09 19:28:36 277

转载 数据库索引及其数据结构

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之...

2018-04-08 20:26:04 5139

转载 数据库查询中的n+1问题

简介在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept 假如查询出n个user,那么需要做n次查询dept,查询user是一次select,查询user关联的 dept,是n次,所以是n+1问题,其实叫1+n更为合理一些。mybatis配置UserMapper.xml<resultMap id="BaseResultMap" type="t...

2018-03-21 22:41:50 13343 1

转载 Kafka 基本原理

简介Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Kafka架构它的架构包括以下组件:话题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名。生产者(Producer):是能够发...

2018-03-12 01:41:38 561

转载 Spring AOP的实现原理

AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Spring AOP为代表。本文会分别对AspectJ和Spring A...

2018-03-11 23:06:01 207

转载 【译】Spring Boot 2.0 官方迁移指南

在你开始之前首先,Spring Boot 2.0 需要 Java 8 或更高版本。不再支持 Java 6 和 7 了。在 Spring Boot 2.0 中,许多配置属性被重新命名/删除,开发人员需要更新 application.properties/ application.yml相应的配置。为了帮助你解决这一问题,Spring Boot 发布了一个新 spring-boot-propertie...

2018-03-10 21:59:24 701

转载 Redis分布式锁解决抢购问题

废话不多说,首先分享一个业务场景-抢购。一个典型的高并发问题,所需的最关键字段就是库存,在高并发的情况下每次都去数据库查询显然是不合适的,因此把库存信息存入Redis中,利用redis的锁机制来控制并发访问,是一个不错的解决方案。首先是一段业务代码:@Transactionalpublic void orderProductMockDiffUser(String productId){ ...

2018-03-10 21:34:42 1519 2

翻译 《Redis官方文档》用Redis构建分布式锁

原文链接  译者:yy-leo   校对:方腾飞(红体标记重点)用Redis构建分布式锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一种官方权威的用Redis实现分布式锁管理器...

2018-03-09 22:45:26 215

转载 Java动态代理机制详解

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:      class字节码文件是根据JVM虚拟机规范中规定的字节码组织规则生成的、具体class文件是怎...

2018-03-08 23:18:55 3138 2

原创 Java NIO:IO与NIO的区别

一、概念     NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。二、NIO和IO的主要区别下表总结了Java IO和NIO之间的主要区别:IONIO面向流面向缓冲阻塞IO非阻塞IO无选择器 1、...

2018-03-08 23:00:17 243

转载 MySQL索引优化

MySQL官方对索引的定义:索引是帮助MySQL高效获取数据的数据结构。索引是在存储引擎中实现的,所以每种存储引擎中的索引都不一样。如MYISAM和InnoDB存储引擎只支持BTree索引;MEMORY和HEAP储存引擎可以支持HASH和BTREE索引。  这里仅针对常用的InnoDB存储引擎所支持的BTree索引进行介绍:一、索引类型先创建一个新表,用于演示索引类型CREATE TABLE in...

2018-03-06 22:38:11 182

原创 MyBatis使用#{ }防止SQL注入

Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}。常见是使用#{ }来防止SQL注入,这里又设计jdbc的预处理机制两者的区别:当使用 #{}的时候select * from user where name = #{name}; #{} 在动态解析的时候, 会解析成一个参数标记符。就是解析之后的语句是:select * from us...

2018-03-04 23:07:01 3664 2

转载 什么场景应该用 MongoDB ?

原文:什么场景应该用 MongoDB ?很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如案例1用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用MongoDB。用在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大的减少开发的工...

2018-03-04 21:13:58 752

转载 Java线程池种类、区别和适用场景

newCachedThreadPool:底层:返回ThreadPoolExecutor实例,corePoolSize为0;maximumPoolSize为Integer.MAX_VALUE;keepAliveTime为60L;unit为TimeUnit.SECONDS;workQueue为SynchronousQueue(同步队列)通俗:当有新任务到来,则插入到SynchronousQueue中,...

2018-03-02 16:50:45 9917

转载 Java为什么要重写hashCode()和equals方法

一、如果不被重写(原生)的hashCode和equals是什么样的?1. 不被重写(原生)的hashCode值是根据内存地址换算出来的一个值。2. 不被重写(原生)的equals方法是严格判断一个对象是否相等的方法(object1 == object2)。  为什么需要重写equals和hashCode方法?      在我们的业务系统中判断对象时有时候需要的不是一种严格意义上的相等,而是一种业务...

2018-03-01 16:55:43 516

批处理自动获得管理员权限

在写bat批处理时常遇到权限不足的问题 。在批处理前部加上这段代码可以自动为此批处理获得管理员权限

2017-01-08

空空如也

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

TA关注的人

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