自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (12)
  • 收藏
  • 关注

转载 分布式锁

为什么使用分布式锁?为什么要使用分布式锁是一个很重要的问题,当你决定在一个系统中采用分布式锁的时候,说明你遇到了真正的麻烦, 因为很多时候,一个悲观的分布式锁实现对于你的系统都不会是最好的解决方案。很多人在举例子说明使用分布式锁的场景的时候都用了银行转账这一场景作为例子。下面让我们来就这一例子进行分析。在转账类业务中,我们通常有两块DB,一个本地账户DB以及对方账户的DB,很多情况下这两个D...

2019-07-05 23:08:30 312

转载 分布式事务实现方法

数据库事务的概念在讲述分布式事务的概念之前,我们先来回顾下事务相关的一些概念。事务的基本概念:就是一个程序执行单元,里面的操作要么全部执行成功,要么全部执行失败,不允许只成功一半另外一半执行失败的事情发生。例如一段事务代码做了两次数据库更新操作,那么这两次数据库操作要么全部执行成功,要么全部回滚。事务的基本特性:我们知道事务有4个非常重要的特性,即...

2019-07-05 22:39:29 282

转载 分布式事务

什么是事务数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务拥有以下四个特性,习惯上被称为 ACID 特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consistency):事务应确保数据库的状态从一个一致状态转...

2019-07-05 22:28:04 285

转载 分布式系统

在 20 世纪 60 年代,大型主机凭借其超强的计算和 IO 处理能力以及在稳定性和安全性方面的卓越表现,在很长的一段时间里引领了计算机行业的发展。随着大型主机的发展,集中式的计算机系统架构也成为了主流。随着计算需求的增长和计算场景的多样化,集中式的处理模式越来越显得捉襟见肘,同时随着 PC 技术的成熟和普及,PC 机也进入各行各业,成为更容易获取的计算资源,但随之也产生了大量闲散的计算单元,网格...

2019-07-05 21:28:23 380

原创 分布式数据库

分布式数据库分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。...

2019-07-03 22:39:15 185

原创 分布式与集群

分布式与集群的区别是什么?在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商...

2019-07-03 22:36:59 105

转载 分布式系统

全文目录介绍什么是分布式系统?为什么分发系统?数据库缩放示例分布式系统类别分布式数据存储分布式计算分布式文件系统分布式消息分布式应用分布式分类帐一、介绍随着世界不断增长的技术扩张,分布式系统变得越来越普遍。他们是计算机科学领域的一个庞大而复杂的领域。本文旨在以基本方式向您介绍分布式系统,向您展示此类系统的不同类别,同时不深入细节。1 、什么是分布式系...

2019-07-03 22:25:15 385

原创 Java利用LinkedHashSet去掉字符串中重复字符

import java.util.*;public class Main{ public static void main(String []args){ LinkedHashSet<String>lset=new LinkedHashSet<String>(); Scanner sc=new Scanner(System.in)...

2019-06-19 20:29:37 1257

原创 Vue组件简单测试到组件间通信

<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript" src="https://unpkg.com/vue/dist/vue.min.js" >&lt...

2019-06-15 11:03:51 119

转载 ZoopKeeper

1、Zookeeper简介Zookeeper是一个高可用、高性能的分布式协调服务,可用于服务发现、分布式锁、分布式领导选举、配置管理等。这一切的基础,都是Zookeeper提供了一个类似于Linux文件系统的树形结构Znode(可认为是轻量级的内存文件系统,但只适合存少量信息,完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控与通知机制;2、Zookeeper集群i...

2019-06-14 10:11:53 1015

转载 CAP&&BASE

CAP原理和BASE思想分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容忍性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该...

2019-06-14 00:52:27 732

转载 SpringCloud分布式事务解决方案

二 前言阿里2017云栖大会《破解世界性技术难题!GTS让分布式事务简单高效》中,阿里声称提出了一种破解世界性难题之分布式事务的终极解决方案,无论是可靠性、还是处理速率都领先于市面上所有的技术。但令人遗憾的是一来项目未开源,二来还必须依赖阿里云的分布式数据库。毕竟,吃饭的家伙可不能轻易示人嘛。虽然如此,但《世界难题...》一文中对事务还是归纳的还是蛮到位的:“一个看似简单的功能,内部可能需...

2019-06-14 00:25:08 749

转载 分布式事务解决方案

1 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、腾讯、360、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多,...

2019-06-14 00:03:43 194

原创 Java中&&和&的区别

Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表...

2019-05-29 23:33:46 154

原创 spring Boot访问静态资源

一、默认静态资源映射Spring Boot 对静态资源映射提供了默认配置Spring Boot 默认将 /** 所有访问映射到以下目录:classpath:/staticclasspath:/publicclasspath:/resourcesclasspath:/META-INF/resources浏览器分别访问:http://localhost:8080/a....

2019-05-26 23:24:33 322 1

转载 Tomcat基本架构及运行机制

基本架构Tomcat由两个模块协同合作connector containerconnector负责解析处理HTTP请求,比如说请求头,查询字符串,请求参数之类的。生成HttpRequest和HttpResponse之后交给container,由它负责调用相应的Servlet。ConnectorTomcat默认的Connector为Ht...

2019-05-25 00:34:52 431

原创 jsp和servlet区别

基本介绍Servlet:Servlet 是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该...

2019-05-25 00:17:14 28271

转载 web 服务器,应用程序服务器

WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere 都各属于哪种服务器?这些问题困惑了很久,今天终于梳理清楚了:Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服...

2019-05-24 23:47:50 146

转载 分布式锁-redis,zoopkeeper锁

首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。但是我们现在的应用程序如果只部署一台服务器,那并发量是很差...

2019-05-16 23:53:54 244

转载 锁的分类

在共享内存的多处理器体系架构中,每个处理器都拥有自己的缓存,并且定期地与主内存进行协调。 在不同的处理器架构中提供了不同级别的缓存一致性(Cache Coherence), 其中一部分只提供最小的保证,即允许不同的处理器在任意时刻从同一个存储位置上看到不同的值。 操作系统、编译器以及运行时(有时甚至包括应用程序)需要弥合这种在硬件能力与线程安全之间的差异。java内存模型抽象出线程...

2019-05-16 23:51:56 117

转载 一致性哈希在Redis中的应用

由于redis是单点,但是项目中不可避免的会使用多台Redis缓存服务器,那么怎么把缓存的Key均匀的映射到多台Redis服务器上,且随着缓存服务器的增加或减少时做到最小化的减少缓存Key的命中率呢?这样就需要我们自己实现分布式。  Memcached对大家应该不陌生,通过把Key映射到Memcached Server上,实现快速读取。我们可以动态对其节点增加,并未影响之前已经映射到内存的Ke...

2019-05-16 23:48:47 621

转载 一致性哈希

假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Memcached作为缓存机制。现在我们一共有三台机器可以作为Memcached服务器,如下图所示。很显然,最简单的策略是将每一次Memcached请求随机发送到一台Memcached服务器,但是这种策略可能会带来两个问题:一是同一份数据可能被存在不同的机器上而造成数据冗余,二是...

2019-05-16 23:46:56 226

转载 分布式系统事务一致性

容灾:数据不丢、结点的Failover 数据的一致性:事务处理 性能:吞吐量、响应时间前面说过,要解决数据不丢,只能通过数据冗余的方法,就算是数据分区,每个区也需要进行数据冗余处理。这就是数据副本:当出现某个节点的数据丢失时可以从副本读到,数据副本是分布式系统解决数据丢失异常的唯一手段。所以,在这篇文章中,我们只讨论在数据冗余情况下考虑数据的一致性和性能的问题。简单说来:要想让数据有...

2019-05-16 23:45:02 119

转载 分布式数据库数据一致性

分布式数据库的数据一致性管理是其最重要的内核技术之一,也是保证分布式数据库满足数据库最基本的ACID特性中的“一致性”(Consistency)的保障。在分布式技术发展下,数据一致性的解决方法和技术也在不断的演进,本文就以作者实际研发的分布式数据库作为案例,介绍分布式数据库数据一致性的原理以及实际实现。1.数据一致性1.1数据一致性是什么大部份使用传统关系型数据库的DBA在看到...

2019-05-16 23:42:54 353

转载 分布式一致性

1、什么是一致性一致性指分布式服务化系统之间的弱一致性,包括应用系统的一致性和数据的一致性。无论是水平拆分还是垂直拆分,都解决了特定场景下的特定问题,但拆分后的系统或者服务化的系统的最大问题就是一致性问题:如何保这么多单一功能的模块的信息、工作进度、状态一致并且协调有序地工作?2、一致性问题 下订单和扣库存 同步调用超时 异步回调超时 掉单 系...

2019-05-16 23:39:04 384

转载 分布式session解决方案

1、session的作用?服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会...

2019-05-16 23:33:04 2292 1

原创 类同时继承父类和实现接口时出现的陷阱

一个来实现了一个接口同时继承了一个父类,若再父类和接口中出现同名同类型成员变量会怎么样? 1.若父类和接口中成员为public (接口中只能为public)则无法编译出现错误 2.若父类中成员为private则没什么事,因为父类private 类型成员对外部是不可见的 3.父类和接口中有同名static方法时只会调用父类中的 ...

2019-05-16 22:54:57 1500

原创 依赖查找

依赖查找(Dependency Lookup,简称 DL),它是控制反转设计原则的一种实现方式。它的大体思路是:容器中的受控对象通过容器的 API 来查找自己所依赖的资源和协作对象。这种方式虽然降低了对象间的依赖,但是同时也使用到了容器的 API,造成了我们无法在容器外使用和测试对象。依赖查找是一种更加传统的 IOC 实现方式。依赖查找也有两种方式:依赖拖拽:注入的对象如何与组件发生联系,...

2019-05-12 23:25:11 1930 1

原创 操作系统--进程管理(2)

进程调度功能记录系统中进程有关的情况和状态转移特性 选择获得处理器资源的进程 处理器分配引起进程调度的原因当前运行状态进程结束 当前运行状态进程进入阻塞 执行完系统调用等系统程序后返回用户进程 抢占式系统中更高优先级进程获取处理器资源 分时系统中分配给该进程的时间片用完不能进行调度的情况处理中断过程中操作系统内核程序临界区中 完全屏蔽中断的原子操作进程调度...

2019-05-04 18:51:56 335

原创 操作系统--进程管理

进程在一个数据集上运行的程序过程,系统资源分配的基本单位。(强调动态特性)进程的特点动态性--程序在处理器上运行的一次动态过程 并发行--多个进程能够在内存中同时存在,一段时间内同时运行 独立性--进程是独立运行的基本单位,是系统资源分配和调度的独立单位 异步性--多个进程以自己的运行速度向前推进进程和程序的关系1.进程是动态的,程序是静态的。2.进程是暂时的,程序是...

2019-05-04 16:58:01 264

原创 操作系统--基本概念

操作系统用户观点:为用户进行各类计算操作提供方便 系统观点:方便管理各类资源(存储器,处理器,外设,信息系统) 进程观点:方便管理进程,协调进程关系,进行进程间的通信 虚拟观点:给用户抽象底层硬件系统,为用户操作硬件系统提供用户接口操作系统特征并发性 共享性 虚拟性 异步性并发行和共享性是操作系统两个二最基本特征操作系统功能处理器管理 存储器管理 外设管理...

2019-05-04 16:06:36 122

原创 Hash冲突解决方案

线性探测开放地址线性探测开放地址 二次线性探测开放地址 双散列探测开放地址链地址Java HashMap采用的解决方案,改变散列底层存储方式来解决Hash冲突(根据hash值找到hash table索引,hash table中每个元素为一个hash桶-即一个单向链表,每个桶中可存储多个元素,一般只有一个)。...

2019-05-02 22:00:39 166

转载 B,B+,B-树

B树、B-树、B+树、B*树都是什么B树即二叉搜索树:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索,从根结点开始,如果查询的关...

2019-04-29 23:30:22 146

转载 Java架构师参考图书

1、大型网站技术架构:核心原理与案例分析本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。本书作者李智慧,曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和架构设计。2、分布式服务...

2019-04-25 23:07:33 194

转载 高性能,高可用系统架构

大型分布式网站架构 大型分布式网站架构技术总结本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。#1 大型网站的特点# 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络...

2019-04-25 22:47:28 426

转载 springCloud分布式微服务架构

分布式、微服务、云架构JAVA语言开发、跨平台、高性能、高可用、安全、服务化、模块化、组件化、驱动式开发模式

2019-04-25 21:33:25 129

原创 TCP慢启动

HTTP 性能优化的关键并不在于高带宽,而是低延迟。TCP 连接会随着时间进行自我「调谐」,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调谐则被称为 TCP 慢启动。...

2019-04-25 21:22:17 441

转载 HTTP1.0/1.1/2.0版本区别

HTTP 1.0 标准产生在 1996年 HTTP 1.1 标准产生在 1999年 HTTP 2.0 标准产生在 2015年1.HTTP1.0和HTTP1.1的一些区别1.HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器网络请求中,同时HTTP1.1也是当前使用最为广泛的HTTP...

2019-04-25 21:16:03 201

原创 TCP窗口

TCP窗口可以看作TCP缓冲区管理器动态缩放缓冲区可用区,避免数据发送到速度和网络带宽,接收方系统,硬件设备等原因出现的数据拥塞和包丢失等情况,是保障TCP可靠性的重要手段...

2019-04-25 21:06:25 375

转载 TCP定时器

TCP的定时器在TCP协议中有的时候需要定期或者按照某个算法对某个事件进行触发,那么这个时候,TCP协议是使用定时器进行实现的。在TCP中,会有四种定时器:重传定时器 坚持定时器 保活定时器 2MSL定时器这四个定时器都有各自的具体作用。重传定时器TCP是可靠的,因此,它对于发出去的信息,没有得到正常ACK反馈的,都会启动一个重传机制。这个重传机制使用一个重传定时器,...

2019-04-25 21:02:33 83

mongoDB配置文件.docx

MongoDB数据库配置文件配置项,详细讲述MongoDB数据库配置文件中常需要的各类配置项详细讲述MongoDB数据库配置文件中常需要的各类配置项

2019-11-23

msgpack工具库二进制格式序列化反序列化

msgpack工具库支持二进制格式的序列化和反序列化,速度快,效率更好。

2019-03-27

jackson库实现定制化的java序列化反序列化操作

jackson工具库,支持JSON,XML格式实现java序列化反序列化操作。在XML格式进行反序列化时有一定的限制

2019-03-27

Google gson

Google gson库能够实现定制化的序列化和反序列操作,能够简化Java序列化和反序列化操作

2019-03-27

数据查找算法之-二分查找

本代码是利用java语言实现基本数据查询功能,实现算法为二分查找法

2019-03-13

Java多线程开发(构造函数的使用)

本文主要总结了Java多线程开发中线程创建时多用到的创建方式(不同的构造函数)以及线程组相关的基础知识

2019-03-13

Java多线程开发API

本文主要总结了Java并发开发中常见的基础API的使用,以及他们之间区别

2019-03-13

java多线程开发

本文主要讲述java多线程开发中线程的创建过程以及线程运行周期相关的基础知识

2019-03-13

几种常用排序算法实现及耗时比较

包括冒泡排序,选择排序,插入排序,希尔排序,快速排序等常用排序算法的实现并耗时比较

2019-03-13

根据卫星星历参数进行卫星定位

本代码利用Python语言实现根据卫星星历参数实现卫星定位功能。注:代码中个参数值是特定值须具体情况而改动

2019-02-24

J2EE规范&中间件介绍

本文档主要简述J2EE相关概念以及主要的规范,内含J2EE架构图。同时包含中间间的基本概念

2019-02-24

eclipse常用快捷键总结

本文档总结了eclipse中常用快捷键,能够有效提高开发效率。

2019-02-19

空空如也

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

TA关注的人

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