自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 MySQL 高性能优化实战总结

1 前言2 优化的哲学3 优化思路3.1 优化什么3.2 优化的范围有哪些3.3 优化维度4 优化工具有啥?4.1 数据库层面4.2 数据库层面问题解决思路4.3 系统层面4.4 系统层面问题解决办法5 基础优化5.1 优化思路5.2 硬件优化5.3 服务器硬件优化5.4 系统优化5.5 系统参数...

2019-02-22 09:36:00 235

转载 请老王喝杯酒

转载于:https://www.cnblogs.com/wxd0108/p/9447246.html

2018-08-09 10:13:00 264

转载 Chrome 浏览器最牛插件之一 Vimium

导航当页:? 显示help,查询vimium的所有使用方法h 向左滚动j 向下滚动k 向上滚动l 向右滚动gg 滚动到顶部G 滚动到底部d 向下滚动半页u 向上滚动半页面f 显示链接字母,在当前页面打开F ...

2018-05-17 15:49:00 358

转载 Spring Cloud-微服务架构集大成者

本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。1 背景2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系...

2018-04-26 10:01:00 211

转载 单点登录原理与简单实现

一、单系统登录机制1、http无状态协议  web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系  但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请...

2018-01-08 11:28:00 111

转载 Spring-WebSocket 教程

WebSocket 教程概述WebSocket 是什么?WebSocket是一种网络通信协议。RFC6455定义了它的通信标准。WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。为什么需要 WebSocket ?了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求...

2017-12-07 17:02:00 131

转载 https跨域到http问题解决

整体结构用户--https-->Nginx--http-->Tomcat页面中包含了iframe,iframe的src也是Https的,但是当frame里面的内容表单提交后tomcat服务器处理成功想要重定向却无法正常重定向,Chrome报错如下Mixed Content: The page at 'https://...../#' was loaded over...

2017-11-16 17:57:00 2284

转载 TCP/IP原理浅析

TCP/IP概述TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedResearch Projects Agency)对有关分组交换的广域网(Packet-Switched wide-area network)科研项目,因此起初的网络称为ARPANET...

2017-10-18 16:18:00 691

转载 OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系

一、OSI七层模型OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。二、TCP/IP四层模型TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接口层。从实质上讲,只有...

2017-09-26 15:54:00 169

转载 Linux命令大全

1.登陆和开关机关机 halt poweroff init 0重启 reboot init 6shutdownshutdown -r 重启shutodwn -h 关机shutdown -c 取消计划关机shutdown +0 马上关机+1 一分钟后关机-X ...

2017-09-23 14:27:00 98

转载 Java BIO、NIO、AIO

同步与异步同步与异步的概念, 关注的是消息通信机制同步是指发出一个请求, 在没有得到结果之前该请求就不返回结果, 请求返回时, 也就得到结果了.比如洗衣服, 把衣服放在洗衣机里, 没有洗好之前我们一直看着, 直到洗好了才拿出来晾晒.异步是指发出一个请求后, 立刻得到了回应, 但没有返回结果. 这时我们可以再处理别的事情(发送其他请求), 所以这种方式需要我们...

2017-09-22 16:49:00 105

转载 Redis 和 I/O 多路复用

最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写...

2017-09-22 15:36:00 204

转载 Java 并发编程-再谈 AbstractQueuedSynchronizer 3 :基于 AbstractQueuedSynchronizer 的并发类实现...

公平模式ReentrantLock实现原理前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQueuedSynchronizer的并发类是如何实现的。ReentrantLock显然是一种独占锁,首先是公平模式的ReentrantLock,Sync是ReentractLock中的...

2017-08-29 15:40:00 126

转载 Java 并发编程-再谈 AbstractQueuedSynchronizer 2:共享模式与基于 Condition 的等待 / 通知机制实现...

共享模式acquire实现流程上文我们讲解了AbstractQueuedSynchronizer独占模式的acquire实现流程,本文趁热打铁继续看一下AbstractQueuedSynchronizer共享模式acquire的实现流程。连续两篇文章的学习,也可以对比独占模式acquire和共享模式acquire的区别,加深对于AbstractQueuedSynchronizer的理...

2017-08-29 15:38:00 120

转载 Java并发编程-再谈 AbstractQueuedSynchronizer 1 :独占模式

关于AbstractQueuedSynchronizerJDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能。关于java.util.concurrent包我总结如下:AbstractQueuedSynchronizer是并发类诸如ReentrantLock、CountDownLatch、Semphore的核心CAS算法是...

2017-08-29 15:36:00 94

转载 Java 并发编程-NIO 简明教程

问题来源在传统的架构中,对于客户端的每一次请求,服务器都会创建一个新的线程或者利用线程池复用去处理用户的一个请求,然后返回给用户结果,这样做在高并发的情况下会存在非常严重的性能问题:对于用户的每一次请求都创建一个新的线程是需要一定内存的,同时线程之间频繁的上下文切换也是一个很大的开销。p.s: 本文涉及的完整实例代码都可以在我的GitHub上面下载。什么是Selector...

2017-08-29 15:33:00 98

转载 Java核心技术点之反射

1. 概述 Java 反射是可以让我们在运行时获取类的方法、属性、父类、接口等类的内部信息的机制。也就是说,反射本质上是一个“反着来”的过程。我们通过new创建一个类的实例时,实际上是由Java虚拟机根据这个类的Class对象在运行时构建出来的,而反射是通过一个类的Class对象来获取它的定义信息,从而我们可以访问到它的属性、方法,知道这个类的父类、实现了哪些接口等信息。...

2017-08-21 18:06:00 113

转载 Java并发编程-AbstractQueuedSynchronizer源码分析

简介提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用...

2017-08-17 18:28:00 124

转载 Java 容器源码分析之 Map

ava.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一...

2017-08-16 11:52:00 97

转载 Java 容器源码分析之 LinkedList

概览同 ArrayList 一样,LinkedList 也是对 List 接口的一种具体实现。不同的是,ArrayList 是基于数组来实现的,而 LinkedList 是基于双向链表实现的。LinkedList 类的声明如下:123public class LinkedList<E> extends AbstractSequenti...

2017-08-15 17:28:00 84

转载 Java 容器源码分析之 ArrayList

概览ArrayList是最常使用的集合类之一了。在JDK文档中对ArrayList的描述是:ArrayList是对list接口的一种基于可变数组的实现。ArrayList类的声明如下:12public class ArrayList<E> extends AbstractList<E> implements Lis...

2017-08-15 17:27:00 89

转载 Java 容器源码分析之 Set

Set 表示由无重复对象组成的集合,也是集合框架中重要的一种集合类型,直接扩展自 Collection 接口。在一个 Set 中,不能有两个引用指向同一个对象,或两个指向 null 的引用。如果对象 a 和 b 的引用满足条件 a.equals(b),那么这两个对象也不能同时出现在集合中。通常 Set 是不要求元素有序的,但也有一些有序的实现,如 SortedMap 接口、Linke...

2017-08-15 17:25:00 80

转载 Java 容器源码分析之 TreeMap

TreeMap 是一种基于红黑树实现的 Key-Value 结构。在使用集合视图在 HashMap 中迭代时,是不能保证迭代顺序的; LinkedHashMap 使用了双向链表,保证按照插入顺序或者访问顺序进行迭代。但是有些时候,我们可能需要按照键的大小进行按序迭代,或者在使用哈希表的同时希望按键值进行排序,这个时候 TreeMap 就有其用武之地了。 TreeMap 支持按键值进行升序...

2017-08-15 17:24:00 88

转载 Java 容器源码分析之 LinkedHashMap

同 HashMap 一样,LinkedHashMap 也是对 Map 接口的一种基于链表和哈希表的实现。实际上, LinkedHashMap 是 HashMap 的子类,其扩展了 HashMap 增加了双向链表的实现。相较于 HashMap 的迭代器中混乱的访问顺序,LinkedHashMap 可以提供可以预测的迭代访问,即按照插入序 (insertion-order) 或访问序 (ac...

2017-08-15 17:23:00 86

转载 Java 容器源码分析之 Deque 与 ArrayDeque

Queue 也是 Java 集合框架中定义的一种接口,直接继承自 Collection 接口。除了基本的 Collection 接口规定测操作外,Queue 接口还定义一组针对队列的特殊操作。通常来说,Queue 是按照先进先出(FIFO)的方式来管理其中的元素的,但是优先队列是一个例外。Deque 接口继承自 Queue接口,但 Deque 支持同时从两端添加或移除元素,因此又被成...

2017-08-15 17:20:00 166

转载 Java 类的加载机制

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被...

2017-08-04 16:56:00 71

转载 HBase性能调优

配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他存活的RegionServer接管.调优:这个...

2017-07-14 18:10:00 68

转载 HBase原理和设计

简介HBase —— Hadoop Database的简称,Google BigTable的另一种开源实现方式,从问世之初,就为了解决用大量廉价的机器高速存取海量数据、实现数据分布式存储提供可靠的方案。从功能上来讲,HBase不折不扣是一个数据库,与我们熟悉的Oracle、MySQL、MSSQL等一样,对外提供数据的存储和读取服务。而从应用的角度来说,HBase与一般的数据库又有所区...

2017-07-14 16:36:00 66

转载 HBase 架构脑图

https://docs.transwarp.io/5.0/goto?file=HyperbaseManual_intro-hbase.html#intro-hbase转载于:https://www.cnblogs.com/wxd0108/p/7171157.html

2017-07-14 16:27:00 67

转载 Hadoop - MapReduce

简介一种分布式的计算方式指定一个Map(映#x5C04;)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组Patternmap: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, lis...

2017-07-12 16:33:00 91

转载 Hadoop YARN架构设计要点

YARN是开源项目Hadoop的一个资源管理系统,最初设计是为了解决Hadoop中MapReduce计算框架中的资源管理问题,但是现在它已经是一个更加通用的资源管理系统,可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上,通过YARN来管理资源。如果你的应用程序也需要借助YARN的资源管理功能,你也可以实现YARN提供的编程API,将你的应用程序运行于YARN之上,将...

2017-07-12 11:31:00 83

转载 Hadoop-YARN

Hadoop - YARN旧的MapReduce架构JobTracker:负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错)TaskTracker:加载或关闭任务,定时报告认为状态此架构会有以下问题:JobTracker是MapReduce的集中处理点,存在单点故障JobTracker完成了太多的任务...

2017-07-12 11:05:00 81

转载 Hadoop-HDFS

HDFS - 写文件1.客户端将文件写入本地磁盘的N#x4E34;时文件中2.当临时文件大小达到一个block大小时,HDFS client通知NameNode,申请写入文件3.NameNode在HDFS的文件系统中创建一个文件,并把该block id和要写入的DataNode的列表返回给客户端4.客户端收到这些信息后,将临时文件写入DataNodes4.1 ...

2017-07-11 10:34:00 73

转载 TCP传输

看过太多tcp相关文章,但是看完总是不过瘾,似懂非懂,反复考虑过后,我觉得是那些文章太过理论,看起来没有体感,所以吸收不了。 希望这篇文章能做到言简意赅,帮助大家透过案例来理解原理。tcp的特点这个大家基本都能说几句,面试的时候候选人也肯定会告诉你这些:三次握手四次挥手可靠连接丢包重传但是我只希望大家记住一个核心的:tcp是可以可靠传输协议,它...

2017-07-03 11:25:00 102

转载 分布式系统常见的事务处理机制

CAP 定理CAP 定理(也称为 Brewer 定理),是由计算机科学家 Eric Brewer 提出的,即在分布式计算机系统不可能同时提供以下全部三个保证:一致性(Consistency):所有节点同一时间看到是相同的数据;可用性(Availability):不管是否成功,确保每一个请求都能接收到响应;分区容错性(Partition tolerance):系统任意分...

2017-07-03 10:35:00 76

转载 Zookeeper Client简介

直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举等,还要自己额外做很多事情。这里介绍下ZK的两个第三方客户端...

2017-06-30 11:12:00 120

转载 WebSocket 协议

1.1 背景知识由于历史原因,在创建一个具有双向通信机制的 web 应用程序时,需要利用到 HTTP 轮询的方式。围绕轮询产生了 “短轮询” 和 “长轮询”。短轮询浏览器赋予了脚本网络通信的编程接口XMLHttpRequest,以及定时器接口setTimeout。因此,客户端脚本可以每隔一段时间就主动的向服务器发起请求,询问是否有新的信息产生:客户端向服务器发...

2017-06-29 17:35:00 109

转载 Thrift 基于zookeeper改造模式

对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行:1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。2.客户端使用连接池对服务调用进行管理,提升性能,这里我们使用Apache Commons项目comm...

2017-06-16 11:12:00 168

转载 Thrift架构介绍

Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Sm...

2017-06-15 15:14:00 171

转载 redis info 参数详解

redis info 参数 详解info 以一种易于解释且易于阅读的格式,返回关于redis服务器的各种信息和统计数值命令如下:(默认不需要all , 我习惯加 all ,你可以去掉all 对吧一下)redis-cli -h x.x.x.x -p xxxx info allall : 返回所有信息default : 返回默认选择的信息当不带参数直接调用 INF...

2017-06-05 12:01:00 125

空空如也

空空如也

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

TA关注的人

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