自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis学习笔记1——原生JDBC总结

一、jdbc编程步骤(jdbc编程六部曲)1.注册数据库驱动   1)创建驱动对象 :告知 JDBC  我们即将连接哪个数据库   2) 通过 DriverManager.registerDriver(driver) 注册驱动2.获取数据库连接 URL   1)  通过 DriverManager.getConnection(url,user,pwd)   重点:Conne...

2018-08-04 16:08:37 355 2

原创 JDK源码之Object类详解(一)

package java.lang;/** * Object类是类层次结构中的根,每个类的父类都是Object类。 * 所有对象,包括数组,都实现了这个类的方法。 */public class Object { /** * registerNatives函数前面有native关键字修饰, * Java中,用native关键字修饰的函数表明该方法的实现并不是...

2018-07-11 23:10:16 232

转载 NotePad++快捷键总结

1. 文件相关快捷键动作定义Ctrl-O打开文件Ctrl-N新建文件Ctrl-S保存文件Ctrl-Alt-S文件另存为Ctrl-Shift-S保存所有打开文件Ctrl-P打印Alt-F4退出程序

2017-10-27 16:46:40 222

转载 【Java集合源码剖析】Java集合框架

转载轻注明出处:http://blog.csdn.net/ns_code/article/details/35564663    Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、

2017-10-27 09:10:16 164

转载 【Java集合源码剖析】LinkedHashmap源码剖析

转载请注明出处:http://blog.csdn.net/ns_code/article/details/37867985    前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时间研究了下,分享出此文(这个系列的最后一篇博文了),希望大家相互学习。LinkedHashMap的源码理解起来也不难(当然,要建立在对HashMap源码有较好理解的基础上)。

2017-10-19 09:26:25 157

转载 我必须得告诉大家的MySQL优化原理

说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅M

2017-09-29 23:37:59 218

转载 Spring IOC原理解读 面试必读

Spring IOC设计原理解析:本文乃学习整理参考而来一、 什么是Ioc/DI?二、 Spring IOC体系结构(1) BeanFactory(2) BeanDefinition三、 IoC容器的初始化1、 XmlBeanFactory(屌丝IOC)的整个流程2、 FileSystemXmlApplicationContext 的IO

2017-09-29 22:16:41 378

转载 大型网站架构与分布式架构

大型互联网架构解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现这种思想。架构目标低成本:任何公司存在的价值都是为了获取商业利益。在可能的情况下,希望一切都是低成本的。高性能:网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标。系统的响应延迟,指系统完成某一功能需要使用

2017-09-28 21:35:59 248

转载 dubbo 的使用

Dubbo是[3] 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [4] Spring框架无缝集成。主要核心部件Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

2017-09-27 09:20:34 336

转载 基于Dubbo框架构建分布式服务

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选

2017-09-27 09:17:35 228

转载 Dubbo框架初探

1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消

2017-09-27 09:10:59 180

转载 阿里巴巴Dubbo实现的源码分析

1. Dubbo概述Dubbo是阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的方案。它的核心功能包括:#remoting:远程通讯基础,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。#Cluster: 服务框架核心,提供基于接口方法的远程过程调用,包括多协议支持,并

2017-09-26 18:47:19 169

转载 dubbo 的使用

Dubbo是[3] 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [4] Spring框架无缝集成。主要核心部件Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

2017-09-26 18:40:12 182

转载 小程聊微服务-基于dubbo的mock测试系统

一、说在前面基于微服务或者SOA的自动化测试系统每个公司都有自己的特有的,我今天就主要介绍一下,我们研发的一套mock测试系统。二、目前面临的问题1、测试人员面临的测试问题我公司目前用的是基于Dubbo的微服务改造,服务之间的调用链路冗长,每个服务又是单独的团队在维护,每个团队又在不断的演进和维护各个服务,那么对测试人员将是非常大的挑战。测试人员每次进行功能

2017-09-26 18:38:40 352

转载 本地伪集群测试Demo

1. 概述Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点:那么,Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程

2017-09-26 10:03:43 251

转载 Dubbo架构设计详解

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

2017-09-26 09:43:00 178

转载 在一个千万级的数据库查寻中,如何提高查询效率?

1)数据库设计方面:         a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。         b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中nu

2017-09-24 13:39:17 491

原创 Java面试题七

60、SpringMVC工作原理SpringMVC的工作原理图:SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回

2017-09-21 21:11:19 2981

原创 java面试题六

51、 什么时候使用字节流、什么时候使用字符流,二者的区别在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和Writer.两个是为字符流(一个字符占两个字节)设计的

2017-09-21 21:09:30 1310

原创 Java面试题五

41、Mybatis都有哪些Executor执行器?它们之间的区别是什么?Mybatis有三种基本的Executor执行器,SimpleExecutor、ReuseExecutor、BatchExecutor。SimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。ReuseExecutor:执行upda

2017-09-21 21:07:50 280

原创 Java面试题四

31、编写多线程程序有几种实现方式?有三种:               (1)继承Thread类,重写run函数                               创建:                               class xx extends Thread{                                 public void run

2017-09-21 21:06:49 256

原创 Java面试题三

21、解释内存中的栈(stack)、堆(heap)和方法区(methodarea)的用法。JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身

2017-09-21 21:06:01 183

原创 Java面试题二

11、如何正确终止一个线程?/** * 如何正确的更好的终止一个正在执行的线程. * 需求:线程启动5S之后终止。 */public class ThreadTest09 {    public static void main(String[] args) throws Exception {        Processor p = new Processor();     

2017-09-21 21:05:06 280

原创 Java面试题一

1.    Java实现一个高逼格的冒泡排序把这个数组从小到大的排列importjava.util.Comparator;/** * 排序器接口(策略模式:将算法封装到具有共同接口的独立的类中使得它们可以相互替换) */public interfaceSorter {    /**     * 排序     *     * @param list

2017-09-21 21:03:40 217

转载 基于ZooKeeper的分布式Session实现

1. 认识ZooKeeperZooKeeper—— “动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才 能更加放心安全的观赏动物。回到我们企业级应用系统

2017-09-18 22:46:20 387

转载 ZooKeeper程序员指南

1 简介本文是为想要创建使用ZooKeeper协调服务优势的分布式应用的开发者准备的。本文包含理论信息和实践信息。本指南的前四节对各种ZooKeeper概念进行较高层次的讨论。这些概念对于理解ZooKeeper是如何工作的,以及如何使用ZooKeeper来进行工作都是必要的。这几节没有代码,但却要求读者对分布式计算相关的问题较为熟悉。本文的大多数信息以可独立访问的参考材料的

2017-09-18 22:44:51 369

转载 ZooKeeper实现分布式FIFO队列

文章介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务。现在硬件越来越便宜,一台非品牌服务器,2颗24核CPU,配48G内存,2T的硬盘,已经降到2万块人民币以下了。这种配置如果简单地放几个web应用,显然是奢侈的浪费。就算是用来实现单节点的hadoop,对计算资源浪费也是非常高的。对于这么高性能的计算机,如何有效利用计算资源,就成

2017-09-18 22:43:16 1197

转载 ZooKeeper实现分布式队列Queue

现在硬件越来越便宜,一台非品牌服务器,2颗24核CPU,配48G内存,2T的硬盘,已经降到2万块人民币以下了。这种配置如果简单地放几个web应用,显然是奢侈的浪费。就算是用来实现单节点的hadoop,对计算资源浪费也是非常高的。对于这么高性能的计算机,如何有效利用计算资源,就成为成本控制的一项重要议题了。通过虚拟化技术,我们可以将一台服务器,拆分成12台VPS,每台2核CPU,4G内存,40G

2017-09-18 22:42:00 2336

转载 分布式服务框架 Zookeeper

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍 Zookeeper 的安装和配置文件中各个配置项的意义,以及分析 Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader 选举、队列管理等

2017-09-18 22:40:47 321

转载 Zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2017-09-18 22:38:41 334

转载 Hadoop日记Day20---Zookeeper系列(一)

一、ZooKeeper的背景1.1 认识ZooKeeperZooKeeper---译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才能更加

2017-09-18 22:35:08 831

转载 Hadoop日记Day20---ZooKeeper系列(二)

Zookeeper的环境配置一、Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。1.单机模式:Zookeeper只运行在一台服务器上,适合测试环境;2.伪集群模式:就是在一台物理机上运行多个Zookeeper 实例。3.集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体

2017-09-18 22:33:59 338

转载 Hadoop日记Day20---ZooKeeper系列(三)

前面虽然配置了集群模式的Zookeeper,但是为了方面学建议在伪分布式模式的Zookeeper学习Zookeeper的shell命令。一、Zookeeper的四字命令Zookeeper支持某些特定的四字命令字母与其的交互。他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令。Zookee

2017-09-18 22:33:06 311

转载 Hadoop日记Day20---ZooKeeper系列(四)

一、ZooKeeper的背景1.1 认识ZooKeeperZooKeeper---译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才能更加

2017-09-18 22:31:49 373

转载 基于Zookeeper的分步式队列系统集成案例

前言软件系统集成一直是工业界的一个难题,像10年以上的遗留系统集成,公司收购后的多系统集成,全球性的分步式系统集成等。虽然基于SOA的软件架构,从理论上都可以解决这些集成的问题,但是具体实施过程,有些集成项目过于复杂而失败。随着技术的创新和发展,对于分步式集群应用的集成,有了更好的开源软件的支持,像zookeeper就是一个不错的分步式协作软件平台。本文将通过一个案例介绍Zooke

2017-09-18 22:30:01 309

转载 Master基于ZooKeeper的High Availability源码实现

如果Spark的部署方式选择Standalone,一个采用Master/Slaves的典型架构,那么Master是有SPOF(单点故障,Single Point of Failure)。Spark可以选用ZooKeeper来实现HA。ZooKeeper提供了一个Leader Election机制,利用这个机制可以保证虽然集群存在多个Master但是只有一个是Active的,其他的都是Sta

2017-09-18 22:28:00 343

转载 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用

2017-09-18 22:26:24 310

转载 分布式桥梁ZooKeeper开发体验

从传统Java Web转入分布式系统应用,再到接触分布式协调框架ZooKeeper,通过痛苦的思维逻辑和理念转变,历经一个月时间,小伙伴们终于把ZooKeeper嵌入到了BoCloud博云的BeyondContainer中,并在其上进行相应功能的开发:服务注册与发现、集群管理、模块的高可用及分布式锁等。在选定ZooKeeper之前,我们对其他的分布式框架也进行了调研和对比,分别 有etcd

2017-09-18 22:24:46 291

转载 zetcd:脱离ZooKeeper运行ZooKeeper应用程序

zetcd是一款架在ZooKeeper与etcd之间的代理程序,它可以将ZooKeeper客户端的请求消息转换成etcd要求的格式,并转发给etcd,然后将响应消息转换后返回给客户端。本文介绍了zetcd的使用方法、工作原理以及性能评测。以下是译文。分布式系统需要依赖分布式一致性来协调工作。通常情况下,提供分布式一致性担保信息的系统会接收到按顺序投递过来的消息,这样就不会产生脑裂冲突(sp

2017-09-18 22:23:39 360

转载 浅谈分布式服务协调技术 Zookeeper

Google的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTable,于是我们有了HBase。而在这三篇论文里都提及Google的一个Lock Service —— Chubby,哦,于是我们有了Zookeeper。随着大数据的火热,Hxx们已经变得耳熟能

2017-09-18 22:21:26 315

空空如也

空空如也

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

TA关注的人

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