自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Franco的博客

学习,整理,积累,站在巨人的肩膀上厚积薄发

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

转载 [Map]-3-关于HashMap容量的初始化,还有这么多学问

为什么要设置HashMap的初始化容量我们之前提到过,《阿里巴巴Java开发手册》中建议我们设置HashMap的初始化容量。那么,为什么要这么建议?你有想过没有。我们先来写一段代码在JDK 1.7 (jdk1.7.0_79)下面来分别测试下,在不指定初始化容量和指定初始化容量的情况下性能情况如何。(jdk 8 结果会有所不同,我会在后面的文章中分析)public static void main(...

2018-05-31 11:53:42 5585 1

转载 [Map]-2-HashMap中傻傻分不清楚的那些概念

HashMap中重要的成员变量先来看一下,HashMap中都定义了哪些成员变量。上面是一张HashMap中主要的成员变量的图,其中有一个是我们本文主要关注的: size、loadFactor、threshold、DEFAULT_LOAD_FACTOR和DEFAULT_INITIAL_CAPACITY。我们先来简单解释一下这些参数的含义,然后再分析他们的作用。HashMap类中有以下主要成员变量:t...

2018-05-31 11:33:18 262

转载 [Map]-1-Hashtable、HashMap、TreeMap有什么不同

Map 是广义 Java 集合框架中的另外一部分,HashMap 作为框架中使用频率最高的类型之一,它本身以及相关类型自然也是面试考察的热点。今天我要问你的问题是,对比 Hashtable、HashMap、TreeMap 有什么不同?谈谈你对 HashMap 的掌握。典型回答Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型...

2018-05-31 11:26:39 1008

转载 [分布式]:分布式锁的几种实现方式

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...

2018-05-25 11:47:29 1908

转载 [分布式]:Java中的事务——全局事务与本地事务

在上一篇文章中说到过,Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。这是从事务的实现角度区分的,本文从另外一个角度来再次区分一下Java中的事务。站在事务管理的角度,可以把Java中用到的事务分为本地事务和全局事务。本地事务不用事务的编程框架来管理事务,直接使用资源管理器来控制事务。典型的就是java.sql.Connection 中的 ...

2018-05-25 11:46:42 396

转载 [分布式]:Java中的事务——JDBC事务和JTA事务

我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分布式有一定的了解。关于事务的基础知识这里不再详细介绍,想要了解的同学可以在我的博客中阅读相关文章。Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。 常见的容器事务如Spring事务,容器事务主要是...

2018-05-25 11:45:54 311

转载 [分布式]:关于命名服务的知识点都在这里了

命名服务,顾名思义,就是帮助我们对资源进行命名的服务,命名的目的当然是为了更好的定位了。这里所提到的资源在不同场景中包括但不限于计算机(主机)名和地址、应用提供的服务的地址或者远程对象等。本文主要介绍Java中的命名服务、简单的命名服务的实现策略以及在分布式场景中如何实现命名服务。JNDI要介绍命名服务,不得不提 Java 命名和目录接口(Java Naming and Directory Int...

2018-05-25 11:44:53 1438

转载 [分布式]:深入理解分布式系统的2PC和3PC

关注我的博客(http://www.hollischuang.com)的人可能都知道,我之前写过一篇文章专门介绍了一下2PC和3PC(详见:关于分布式事务、两阶段提交协议、三阶提交协议)。上一篇文章中主要介绍了下这两种分布式一致性协议的概念、具体提交流程以及优缺点。本文在上篇文章的基础上在深入了解下这两种分布式一致性协议。主要来分析下为什么2PC存在数据一致性问题,3PC是如何解决了部分2PC存在...

2018-05-25 11:44:09 6399 3

转载 Zookeeper介绍(四)——Zookeeper中的基本概念

在介绍了Zookeeper的安装之后,就可以了解一下Zookeeper中的常用概念了。本文将主要介绍ZK中角色、数据模型、节点、ACL、watcher等概念。角色在Zookeeper概述中也提到过,Zookeeper的Follower在接到客户端请求之后会把请求转发到Leader,这里提到的Follower和Leader就是ZK中的角色,ZK中有以下角色:领导者(leader)负责进行投票的发起和...

2018-05-25 11:42:49 280

转载 Zookeeper介绍(三)——Zookeeper的安装

在Zookeeper概述中简单介绍了Zookeepr,工欲善其事,必先利其器。那么本文就介绍如何安装Zookeeper。Zookeeper有三种安装方式:单机模式、集群模式、伪集群模式。单机模式单机模式表示只运行在一台服务器上,适合测试环境; 安装步骤如下:一、下载ZooKeeper二、解压三、在conf目录下创建一个配置文件zoo.cfgtickTime=2000 dataDir=/Users...

2018-05-25 11:41:55 226

转载 Zookeeper介绍(二)——Zookeeper概述

在Zookeeper介绍(一)——背景知识中介绍过,随着网站的不断发展,逐渐从集中式演变到分布式。但是,在分布式系统中存在着很多数据一致性的问题。那么,有没有什么系统或者组件能够帮助我们解决这些一致性问题呢?本文将简单介绍一个分布式服务协调组件——Zookeeper。什么是ZookeeperZookeeper是一个开放源码的分布式服务协调组件,是Google Chubby的开源实现。是一个高性能的...

2018-05-24 18:51:06 184

转载 Zookeeper介绍(一)——背景知识

该系列文章转自Hollis本文主要介绍什么是分布式系统以及分布式系统存在哪些问题。分布式互联网技术的发展,导致大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。什么是分布式把一个计算任务分解为若干个计算单元,并分派到若干个不同的计算机中去执行,然后再汇总计算结果。分布式的工作方式有点类似于团队合作。当有一项任务分配到某个团队之后,团队内部的成员开始各司其职,然后把工作结果...

2018-05-24 18:50:16 180

原创 [面试]:能简单介绍下您现在所做项目和过程中的技术难点或有遇到瓶颈吗?

思路转载自Hollis的知识星球,有兴趣的可以搜一下,很不错。业务介绍:1.痛点:解决的问题,用户痛点2.正确性3.可用性4.大规模:量级思考问题:宏观,不局限于业务这种问题直接回答高并发分布式场景的数据一致性问题。(参考:链接:[高级]关于分布式一致性的探究)然后面试官问:如何解决的呢。答:在并发方面考虑了乐观锁和分布式锁。在一致性方面不同场景使用了不同策略。问:...

2018-05-24 18:44:35 32386

转载 [分布式]:分布式一致性算法——paxos

随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在关于分布式事务、两阶段提交协议、三阶提交协议一文中主要用于解决分布式一致性问题的集中协议,那么这篇文章主要讲解业内公认的比较难的也是最行之有效的paxos算法。我认为对pax...

2018-05-24 17:07:47 310

转载 [分布式]:关于分布式事务、两阶段提交协议、三阶提交协议

随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提交。分布式一致性回顾在...

2018-05-24 17:02:40 245

转载 [分布式]:分布式系统的BASE理论

BASE理论eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。BASE是指基本可用(Basically Available...

2018-05-24 17:01:14 469

转载 [分布式]:分布式系统的CAP理论

2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。CAP理论概述一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition...

2018-05-24 17:00:11 23012 11

转载 [分布式]:初识分布式系统

随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。本文主要简单介绍了分布式系统的概念、分布式系统的特点、常用的分布式方案以及分布式和集群的区别等。一、集中式系统在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。集中...

2018-05-24 16:58:00 267

转载 [分布式]:关于分布式一致性的探究

声明以下分布式系列的文章大多转自Hollis随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在初识分布式系统一文中简单介绍了分布式的基本概念,本文将在上篇文章的基础上继续学习分布式的一致性问题。主要介绍分布式一致性的基本概念...

2018-05-24 16:49:08 2665

转载 Spring:解读Spring IOC源码原理,读者一篇就够了

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

2018-05-24 16:20:05 772

转载 对象并不一定都是在堆上分配内存的。

JVM内存分配策略关于JVM的内存结构及内存分配方式,不是本文的重点,这里只做简单回顾。以下是我们知道的一些常识:1、根据Java虚拟机规范,Java虚拟机所管理的内存包括方法区、虚拟机栈、本地方法栈、堆、程序计数器等。2、我们通常认为JVM中运行时数据存储包括堆和栈。这里所提到的栈其实指的是虚拟机栈,或者说是虚拟栈中的局部变量表。3、栈中存放一些基本类型的变量数据(int/sho...

2018-05-16 10:41:22 9744 10

原创 spring bean初始化及销毁的回调方法。

spring bean在初始化和销毁的时候我们可以触发一些自定义的回调操作。初始化的时候实现的方法1、通过java提供的@PostConstruct注解;2、通过实现spring提供的InitializingBean接口,并重写其afterPropertiesSet方法;3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指...

2018-05-07 20:09:16 1176

转载 SpringBean生命周期详解

在Spring中 Bean 可谓是一个核心的元素,当我们结合Spring进行编程的时候也离不开Bean,面对这样重要的一个角色,了解其生命周期和该生命周期所涉及的环节对我们更加熟练灵活地使用Bean是很有Bean必要的,下面我们就来详细分析下Bean的生命周期吧。生命周期流程图  我们先通过一个流程图,对Bean的生命周期先做一个整体的认识和了解。若容器实现了流程图中涉及的接口,程序将按照以上流程...

2018-05-07 18:44:34 343

Tab切换形势大全及FragmentPagerAdapter保存刷新数据实现

5种Tab实现总结,FragmentPagerAdapter数据保存完美解决

2016-01-14

空空如也

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

TA关注的人

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