自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 RPC服务和HTTP服务对比

很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看...

2018-12-22 19:24:43 226

转载 Java学习书籍推荐

一、基础类1、《Thinking in java》(阅读2遍),入门第一位是建立正确的概念2、《Core Java》这本书更贴近实践,更多API的介绍,同样,更新也更频繁。(可以选重点章节读一下)二、进阶类1、《Effective Java》(阅读1遍),在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。2、《深入Java虚拟机》(阅读2遍),翻译一般,但不可不读,最好结合最新的...

2018-04-26 10:31:32 505

转载 深入理解分布式事务,高并发下分布式事务的解决方案

1、什么是分布式事务分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2、分布式事务的产生的原因2.1、...

2018-03-21 09:32:24 311

转载 Spring中bean的作用域与生命周期

  原文:http://blog.csdn.net/fuzhongmin05/article/details/73389779        在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖...

2018-03-20 15:01:52 301

转载 排序二叉树,平衡二叉树和红黑树的概念以及相关的操作讲解

1. 排序二叉树   排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为排序二叉树。图 1 显示了一棵排序二叉树: 图 1. 排序二叉树对排序二叉树,若按中序遍历就可以...

2018-03-19 23:23:08 433

转载 mysql索引总结_mysql 索引类型以及创建

文章来源:http://feiyan.info/16.html。关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段...

2018-03-19 23:00:00 236

转载 Nginx反向代理和负载均衡

1.反向代理概念(1).正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用...

2018-03-14 22:46:04 192

转载 Dubbo解析及原理浅析

一、Duboo基本概念解释Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。因此,dubbo除了可以提供服务之外,还可以实现软负载均衡。它还提供了两个功能Monitor 监控中心和调用中心。这两个是可选的,需要单独配置。Dubbo的计数架构图如下:我们解释以下这个架构图:Consumer服务消费者,P...

2018-03-13 22:04:54 259

转载 Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。总...

2018-03-13 21:32:33 160

转载 Zookeeper的功能及内部工作原理

1.ZooKeeper是什么?    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文件系统    每个子目录项...

2018-03-13 16:52:52 262

转载 JSP的四种作用域和九大内置对象

    现在我们先来说一下四个作用域,以便描述各大对象都分属于什么作用域,下面我们就通过一张简单的表格来看看各大作用域的信息共享范围:名称作用域page在当前页面中有效request在当前请求中有效session在当前会话中有效application在所有应用程序中有效    第一个作用域是page,他只在当前页面有效,也就是用户请求的页面有效,当当前页面关闭或转到其他页面时,page对象将在响应...

2018-03-04 16:32:58 342

转载 浅谈servlet与jsp的关系

    jsp和servlet都属于j2ee13规范,servlet是运行在服务端的Java程序,动态生成web内容,但是如果仅仅使用servlet来输出html则是一句一句地输出,为开发和维护带来了极大的不便。而jsp可以这么理解,可以在html中添加Java代码,所以页面渲染结果可以直接使用Dreamweaver等编辑器直接更改,更简单快捷,而不用维护Java类中的代码。实现了解耦合。    ...

2018-03-04 12:56:00 2235

转载 Java Web会话机制:Cookie和Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。Cookie机制Cookie技术是客户端的解决方案,Cook...

2018-03-04 11:26:32 463

原创 HTTP协议之GET和POST的比较

一、原理区别一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET和HEA...

2018-03-03 12:14:55 232

转载 https的工作机制

最近在看到这么一篇讲解Https原理的文章,语言精炼,通俗易懂,特地将其翻译下,原文在此how does https work加密算法简介正文开始之前,我先来解释简单的解释下对称加密和非对称加密.对称加密采用对称密码编码技术,也就是编码和解码采用相同描述字符,即加密和解密使用相同的密钥,实现这种加密技术的算法称对称加密算法。对称加密使用简单,密钥较短,加密和解密过程较快,耗时短,常见的对称加密算法...

2018-02-27 11:14:00 1139

转载 zookeeper Watcher API 介绍

 Watcher在ZooKeeper 是一个核心功能,Watcher 可以监控目录节点的数据变化以及子目录的变化,一旦这些状态发生变化,服务器就会通知所有设置在这个目录节点上的Watcher,从而每个客户端都很快知道它所关注的目录节点的状态发生变化,而做出相应的反应.可以设置观察的操作:exists,getChildren,getData可以触发观察的操作:create,delete,setDat...

2018-02-26 09:52:27 372

转载 Zookeeper-Watcher机制与异步调用原理

转载于:http://shift-alt-ctrl.iteye.com/blog/1847320Watcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作. 1)在创建Zookeeper实例时,允许接收一个watcher参数,此参数将会赋值给watchMnanger.defaultWatcher,成为当前客户端的默认Watcher.需要注意此watcher和其他watcher不同,...

2018-02-26 09:37:30 284

转载 zookeeper系列之异步通知模式--Watcher

转载自: http://zoutm.iteye.com/blog/708468 http://blog.csdn.net/qq910894904/article/details/41726279Watcher介绍:   Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段。要监控da...

2018-02-26 09:26:15 327

转载 简述Zookeeper的设计原理

Zookeeper从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式。ZooKeeper中有下面的应用:统一命名服务(NameService)配置管理(Confi...

2018-02-26 09:14:48 514

转载 MySQL索引背后的数据结构及算法原理

下面是一位牛人写得关于数据库索引的精品之作,转载至此与博友共享,以备学习之用。原文链接:MySQL索引背后的数据结构及算法原理    本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTre...

2018-02-24 15:48:25 265

转载 MySQL索引的设计原则

1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。2.为经常需要排序、分组和联合操作的字段建立索引经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,...

2018-02-24 09:46:02 212

原创 阿里云ECS服务器上安装mysql 5.6

话不多说,直接进入安装讲解。1.使用root账户,通过Xshell5远程登录阿里云服务器。2.下载rpm包,并安装,执行命令:rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm3.执行命令yum repolist enabled | grep "mysql.*-comm

2018-02-04 22:12:16 5128 1

原创 ECS服务器部署JDK8并配置环境变量

1.在oracel的官网下载相应版本的JDK软件包,我们这里下载jdk1.8.0_161,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 2.通过Xshell5远程登录服务器,进入/usr/目录。3.通过mkdir java指令创建java文件夹,并在该文件夹下

2018-02-03 23:29:44 820 1

转载 JVM调优总结 -Xms -Xmx -Xmn -Xss

Xms :是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。Xmx: 是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。Xss :是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等。 以

2018-01-30 15:07:31 385

转载 详解Java8新特性

Java8是2014年发布的,至今也已经有快四年的时间了,之前虽然有学习过,但是学的比较零散,不成系统,而且也没有覆盖到Java8所有的特性。 由于公司已经使用了JDK1.8,所以工作中能使用Java8的机会还是很多的,因此决定来系统地学习一下Java8的新特性,这是对我最近学习Java8的一些记录, 以备在有些细节记不太清的时候可以查询。 先来一个概览,上图是我整理的Java8中

2018-01-27 17:12:50 321

原创 使用SpringBoot编写Restful风格接口

一、简介Restful是一种对url进行规范的编码风格,通常一个网址对应一个资源,访问形式类似http://xxx.com/xx/{id}/{id}。举个栗子,当我们在某购物网站上买手机时会有很多品牌选择,而每种品牌下又有很多型号,那么https://mall.com/mobile/iphone/6 代表了Iphone6,https://mall.com/mobile/iphone/7和htt

2018-01-09 20:17:36 26820 10

原创 IDEA中使用springBoot+gradle构建多模块项目

最近项目中用到了springboot+gradle来构建多模块项目,写这篇文章纯当作笔记吧,同时也分享给大家。gradle和maven是目前很便捷的两款项目构建工具,都有各自的优势。据官方统计,gradle比maven构建项目时快100倍以上。废话不多说,下面介绍一下如何使用gradle创建多模块化工程。1.创建项目首先创建项目,名称为 myGradleProject,创建命令如下

2018-01-07 17:12:06 14297 2

空空如也

空空如也

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

TA关注的人

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