自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华绪、charles的博客

不要想什么天赋异禀。渴望、执着、经历,才能叫你看起来毫不费劲

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

原创 关于java中浮点数中Infinity和NaN的解释

引言我们都知道计算机是用二进制表示数据,那浮点数计算机是怎么表示的那?1.0/0的结果是什么?为什么?0/0的结果是什么?为什么?0.0/0.0的结果是什么?为什么?先说结论:1)1.0/0的结果是什么?为什么? 1.1 结果:Infinity 1.2 原因:①1/0.1=10 ②1/0.01=100 ③1/0.001=1000,所以分子确定时,分母越小商越...

2019-10-08 18:08:25 3110

原创 并发编程中关于锁的思考

Table of Contents一 Lock接口二 AQS队列同步器2.1 锁是面向使用者的2.2 同步器面向的是锁的实现者2.3同步队列三 ReentrantLock重入锁3.1实现重进入3.2公平与非公平获取锁的区别四ReentrantReadWriteLock读写锁4.1 读写确定状态4.2写锁的获取与释放4.3 读锁的获取与释放...

2019-09-30 17:51:00 263

转载 RabbitMQ 延迟队列实现订单支付结果异步阶梯性通知

场景在第三方支付中,例如支付宝、或者微信,对于订单请求,第三方支付系统采用的是消息同步返回、异步通知+主动补偿查询的补偿机制1.商户请求交易接口成功。2.接受银行的异步通知。3.处理业务,将通知URL和通知的数据放到队列中。通知队列是常驻的。4.如果通知商户成功/失败更新通知状态。如果通知失败,根据通知间隔重新把通知数据放到通知队列里。5*(2^n-1)秒后再次通知,n指回调次...

2019-08-08 09:59:23 609

原创 Spring源码解析-第一章 Spring 整体架构和环境搭建

Spring源码解析-第一章 Spring 整体架构和环境搭建Spring的整体架构Spring的整体架构图Core Container(核心容器)Data Access/IntegrationWebAOPWebTest环境搭建安装gradle下载github源码导入ideaSpring的整体架构Spring的模块被分为以下几部分Spring的整体架构图Core Container(核心...

2019-06-25 21:46:54 228

转载 JVM(Java虚拟机)优化大全和案例实战

原文链接:https://blog.csdn.net/kthq/article/details/8618052堆内存设置原理JVM堆内存分为2块:PermanentSpace 和 Heap Space。Permanent 即持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old...

2019-05-07 11:33:21 152

转载 EchoSite---让内网穿透变得简单

来到EchoSite官网注册的都可以获得三个月免费的域名,续费也就一块一个月。下面介绍下方法(1)、首先你需要拿到你自己的域名,在我的域名里就能看到了: (2)、下载客户端和配置文件。(3)、把客户端执行文件和配置文件放到同一个目录下,然后编辑你的配置文件(echosite.yml):    手机号和密码是你注册时的手机号和密码   1填你的域名 如上图我的是 lg 所以在...

2019-02-14 16:14:39 1335

原创 amazonS3文件管理工具类

/** * @author huaxu * @create 2018/12/10 * @since 1.0.0 */public class AmazonS3Manager { public static final Logger logger = LoggerFactory.getLogger(AmazonS3Manager.class); private static St...

2018-12-26 11:09:44 1829 1

转载 FastDFS安装配置(整合fastDFs和nginx)

简介(引用百度百科)FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服...

2018-11-23 13:38:37 258

转载 前端通过Nginx反向代理解决跨域问题

前端通过Nginx反向代理解决跨域问题在前面写的一篇文章SpringMVC解决跨域问题,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式:JSONP CORS WebSocket可是这几种方式都是基于服务器配置的,即对于自己的网站是可以通过这几种方式解决的,可是现在遇到另一个需求(前面提到过,写扇贝插件,我们不能更改扇贝的服务器配置,也不能发...

2018-07-26 11:37:34 1504

转载 POJ题目分类推荐

OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      (4)递推.  ...

2018-07-13 09:44:03 198

转载 RedisTemplate API

Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。一. jedis客户端在编程实施方面存在如下不足:    1) connection管理缺乏自动化,connect...

2018-05-17 10:19:35 2472

原创 Redis配置文件详解

概念       redis是一款开源的、高性能的键-值存储(key-value store),和memcached类似,redis常被称作是一款key-value内存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一种数据结 构服务器(data structure server)。编译完redis,它的配置文件在源码目录下 redis.conf ,将其拷贝到工作目录下即可使用,下面...

2018-05-09 16:25:12 151

原创 关于HTTP状态码详细解析

状态码100客户端继续其请求。状态码101切换协议,服务器根据客户端的请求切换协议,只能切换到更高级的协议。状态码200 请求成功,一般用于GET和POST请求方式。状态码201成功求情并创建了新的资源。状态码202 已接受请求,但是未处理完成。状态码203 非授权信息,请求成功,但是返回的meta信息不再原始的服务器,而是一个副本。状态码204 无内容,服务器处理成功,但是未返回内容,再未更新新...

2018-05-07 14:07:18 226

原创 《23种设计模式》五:模板模式

项目背景项目经理小王同学接手了一个新的项目,关于校内的一个饮品店,里面卖的有各种咖啡,茶等等。由于这个相比比较的简单,它就将这个分配给了小李同学,于是小李同学设计了一下项目的架构。代码展示public class Coffee { public void prepareRecipe(){ boilWater(); brew(); pourInCup(); addCondim...

2018-05-07 11:10:45 181

转载 synchronized实现原理

记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。诚然,随着Javs SE ...

2018-04-28 15:49:04 144

原创 《23种设计模式》三:装饰者模式

项目背景       最近项目经理小王因为手里没有合适的项目,但是他个人还是一个非常上进的人。于是就自己租了一个小推车,晚上没事的时候出来摊煎饼赚点外快。但是他发现出入账,统计物料,流水计算是个挺麻烦的东西。毕竟资深程序员,只好写一个系统来干这些事情了。需求分析       小王同学煎饼分为两大类,一种细粮煎饼,一种粗粮煎饼。配料有鸡蛋,烤肠,馃子,脆皮。用户在点了主体煎饼之后,随意的添加后面的配...

2018-04-26 16:00:55 283

原创 《23种设计模式》二:观察者模式

项目背景      学校为了丰富学生的业余生活,加强素质教育和价值观的养成,准备了大约30期的公开课,但是具体时间和教室要根据报名的人数和大家时间来定,目前开放的学院的有两个,一个是人文学院一个是计算机学院。要求就是教务处把课程上传之后,系统可以自动通知这两个学院,然后由学院具体统计人数。项目经理小王整理思路之后。。。。代码实现/** * 公开课 * 一切从简(只为举栗子!) */publ...

2018-04-25 11:22:56 149

原创 《23种设计模式》一:策略模式

项目背景 由于学校现在推行信息化管理,响应党的号召,于是我校体育部要求建立系统来管理日常的工作,于是交给了校内的一个创业团队,项目经理小王同学就开始分析、调研系统的模型。经过一段时间的规划,他构建出了两个对象,一个是篮球队,一个是足球队。为了保证代码的复用性,它抽象出了队伍这个父类,其中包含两个事件,一个训练,一个比赛。代码实现/** * 抽象父类 * @project...

2018-04-24 13:56:32 234

原创 算法分析之kmp

kmp算法 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。基本思想设主串(下文中我...

2018-04-24 09:45:49 170

原创 使用序列化实现对象的拷贝

引言       我们知道在Java中存在这个接口Cloneable,实现该接口的类都会具备被拷贝的能力,同时拷贝是在内存中进行,在性能方面比我们直接通过new生成对象来的快,特别是在大对象的生成上,使得性能的提升非常明显。然而我们知道拷贝分为深拷贝和浅拷贝之分,但是浅拷贝存在对象属性拷贝不彻底问题。浅拷贝问题package util.clone;/** * 职员 * @project T...

2018-04-23 15:13:09 181

转载 Java位运算在程序设计中的使用:位掩码(BitMask)

在Java中,位运算符有很多,例如与(&)、非(~)、或(|)、异或(^)、移位(<<和>>)等。这些运算符在日常编码中很少会用到。在下面的一个例子中,会用到位掩码(BitMask),其中包含大量的位运算。不只是在Java中,其他编写语言中也是可以使用的。例如,在一个系统中,用户一般有查询(Select)、新增(Insert)、修改(Update)、删除(Delet...

2018-04-23 10:24:41 144

转载 解决mysql Navicat 出错:1130-host . is not allowed to connect to this MySql server,

解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"my...

2018-04-17 16:59:32 259

原创 错误记录--The import XXX cannot be resolved

错误:The import XXX cannot be resolved题主工程是maven工程,什么clean,install,updata,删除然后Alt+/重新导入全部不管用。后来我吧报错的类文件删除了,重新拷贝一份! 完美解决。管用一定记得点赞噢...

2018-04-13 08:37:34 745

原创 数据结构 No.14 图

概念       图:众所周知图是数据结构中非常重要的一种结构,而且也是比较复杂的。因为在图形结构中,节点间的关系可以是任意的,近几年来图在许多行业迅速发展,所以总的来说掌握图是很重要的。基本概念顶点(Vertex)图的数据元素弧(Arc)    图的边(其中在有向图中有弧头(Head)和弧尾(Tail)即一条边的起点和终点)无向图图中的边没有方向的指向有向图图中的边有方向完全图有1/2*n(n-...

2018-04-11 16:24:50 177

原创 数据结构 No.13 哈希表

简介:       这里先说一下哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方,说起来可能感觉有点复杂,我想我举个例子你就会明白了,最典型的的例子就是字典,大家估计小学的时候也用过不少新华字典吧,如果我想要获取“按”字详细信息,我肯定会去根据拼音an去查找 拼音索引(当然也可以是偏旁索引),我们首先去查an在字典的位置,查了一下得到“安”...

2018-04-10 17:27:04 266

原创 nginx负载均衡,反向代理基本实现配置

引言      由于目前工作不是特别忙,也就抽出了一些时间来整理一下有关nginx这个服务器的一些配置。正文#user nobody;worker_processes 1;error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid ...

2018-04-09 17:23:03 123

转载 Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法

第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体会卡多久就没测试了。google、baidu都没找到解决方法。幸亏UCloud的技术支持人员给出了解决方案。找到jdk1.x.x_xx/jre/lib/security/java.security文件...

2018-04-04 15:35:33 226

转载 数据结构 No.12 这里是红黑树 了解一下

为了能以较快的时间O(logN)来搜索一棵树,需要保证树总是平衡的(或者至少大部分是平衡的),这就是说对树中的每个节点在它左边的后代数目和在它右边的后代数目应该大致相等。红-黑树的就是这样的一棵平衡树,对一个要插入的数据项,插入例程要检查会不会破坏树的特征,如果破坏了,程序就会进行纠正,根据需要改变树的结构,从而保持树的平衡。那么红-黑树都有哪些特征呢?1.红-黑树的特征        它主要有两...

2018-03-29 16:05:50 189

原创 数据结构 No.8 插入排序 希尔排序

比较名称数据对象稳定性时间复杂度额外空间复杂度描述平均最坏冒泡排序数组{\displaystyle O(n^{2})}{\displaystyle O(1)}(无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。选择排序数组{\displaystyle O(n^{2})}{\displaystyle O(1)}(有序区,无序区)。在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得...

2018-03-27 16:17:56 163

原创 redis入门+基于Ruby的redis集群搭建+spring框架整合

定义      redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种...

2018-03-26 14:32:04 1985 1

原创 自己手写一个SpringMVC框架

        Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。如果不看Spring的源码,你将会失去一次和大师学习的机会:它的代码规范,设计思想很值得学习。我们程序员大部分人都是野路子,不懂什么叫代码规范。写了一个月的代码,最后还得其他老司机花3天时间重构,相信大部分老司机都很头疼看新手的代码。废话不多说,我们进入今天的...

2018-03-23 15:08:47 311

转载 虚拟机中的CentOS 7设置固定IP连接最理想的配置

1、笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网; 2、只要笔记本主机可以正常访问外网,启动虚拟机中的CentOS 7系统就可以正常访问外网,无需再进行任何设置; 3、虚拟机设置为固定IP,不管主机在什么网络环境下,是断网环境,还是连接任何网段访问外网的环境下,虚拟机的IP都固定不变,而且使用终端连接,始终不变,正常连接; 4、虚拟机的固定IP可以按照自...

2018-03-23 14:02:24 375

原创 数据结构 No.11 删除二叉树

引言       删除节点是二叉树操作中最复杂的。在删除之前首先要查找要删除的点。找到节点后,这个要删除的节点可能会有三种情况需要考虑。1、这个节点是叶子节点,没有子节点。 这个时候要删除叶子节点,只需要改变改节点的父节点的引用值,将指向该节点的引用设置为null。就可以了2、该节点有一个子节点。 改变父节点的引用,将其直接指向要删除节点的子节点3、该节点有两个子节点 要删除有两个子节点...

2018-03-22 10:53:02 322

原创 电脑网线平行线与交叉线的用途?

引言 局域网之间的连接,要看网卡支持不支持这种接法,现在新出的网卡有些是可以支持这种接法的,有些则不行。以前电脑和电脑之间的网线接法一定要用交叉接法,可是现在又一部分的网卡里面配置有智能装换,这种网卡你想怎么接法都可以互通,不过连局域网的话网络协议可能有点小小的不相同。正文 双绞线一般有三种线序:直通(Straight-through),交叉(Cross-over)和全反(Ro...

2018-03-21 17:28:21 7938

原创 2016年统计用区划代码和城乡划分代码(截止2016年07月31日) 省市县镇+url

引言因为涉及到一个省市县三级联动的模块,但是由于在2016年7月国家统计局重新发布了统计用区划代码。对一些县区进行了调整,但是这次又添加了关于镇和村一级。想了一下就把到他们的数据全部爬出来,但是水平有限。爬到村的总是有数据丢失。我使用的jsoup连接超时导致。也做了调整获取速率的方法。废话不多说,直接上代码还有一点需要注意的就是:中国的这5个地级市,既不设市辖区,又不管辖县、自治县、旗、自治旗,亦...

2018-03-21 08:42:02 2847

原创 数据结构 No.10 遍历二叉树

定义所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。算法实现历方案从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:⑴访问结点本身(N),⑵遍历该结点的左子树(L),...

2018-03-19 20:12:23 228

转载 GitHub上README.md排版样式教程

最近对它的README.md文件颇为感兴趣。便写下这贴,帮助更多的还不会编写README文件的同学们。README文件后缀名为md。md是markdown的缩写,markdown是一种编辑博客的语言。用惯了可视化的博客编辑器(比如CSDN博客,囧),这种编程式的博客编辑方案着实让人眼前一亮。不过GitHub支持的语法在标准markdown语法的基础上做了修改,称为Github Flavored M...

2018-03-16 17:16:38 7575

转载 springmvc中操作json,配置FastJson

目前网络上传递数据大部分都是json和xml,但是xml使用的很少了,这里主要介绍json,一般来说json常用的场景是提供外部接口,请求内使用request域就足够了springmvc对于json的支持,上图1.请求json方式分析如果请求的json串,要求客户端进行http请求前需要将请求的内容格式化为json格式数据。 此方法没有直接post提交key/value格式数据简单。 如果响应的是...

2018-03-16 10:14:43 396

转载 org.apache.maven.archiver.MavenArchiver.getManifest错误

eclipse导入新的maven项目时,pom.xml第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)解决办法:1、Help——>Install...

2018-03-08 09:58:21 3463

转载 joda-time使用方法

Joda-Time Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html 直接看代码,这是在网上和根据API整理的一些例子,使用时看例子就可以了 Java代码  package com.yan.joda;    import java.util.Calen...

2018-02-28 16:27:54 286

2016年统计用区划代码和城乡划分代码(截止2016年07月31日) 全国各省市县镇+url

统计用区划代码和城乡划分代码所涉及的数据,是国家统计局开展统计调查所涉及的区划范围,未包括我国台湾省、香港特别行政区、澳门特别行政区。统计用区划代码和城乡划分代码包括12位统计用区划代码、2位城乡属性代码和3位城乡分类代码。其中,城乡属性代码主要用于数据质量控制,暂未公布。

2018-03-21

空空如也

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

TA关注的人

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