自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于类加载机制

Java在刚刚诞生时提出过一个非常著名的宣传口号:”一次编写,到处运行”,java可以运行在不同的平台上,而Java语言之外的语言,如Clojure、Groovy、JRuby、Jython、Scala等也可以在Java虚拟机上运行。这种实现语言无关性的基础得益于虚拟机和字节码存储格式。 在Java代码被编译成Class文件(.class),在Class文件中描述的各种信息,最终都需要加载到虚...

2018-05-30 22:11:03 343

原创 关于String字符串详解

对于String相信大家已经都很熟悉了,在项目中出场率可以说是最高的。String不属于基本类型但它可以直接进行字面量赋值,如:String s = “adc”。而String字符串在面试题中也是出场率比较高的,当然深入了解String对我们也有一定的好处。需要注意的是在JDK1.6 、JDK1.7、JDK1.8中,由于常量池的从永久代移到堆空间,导致String也有所改变。移除永久代的工...

2018-05-30 12:50:41 298

原创 volatile关键字详解

对于synchronized关键字相信大家都已经不陌生了,synchronized的性能一直以来被各种吐槽(当然java团队一直没有放弃synchronized,一直在为性能的提升努力着,在JDK1.8中CurrentHashMap放弃了ReentrantLock而使用synchronized,可见synchronized性能应该是提升不少的)。而volatile关键字可以说是Java虚拟机提供的...

2018-05-29 22:59:58 240

原创 Java内存模型详解

有些人喜欢把Java内存模型和Java内存区域Java内存区域详解弄混淆,这两个是完全不同的概念。什么是java内存模型Java内存模型:Java内存模型(即Java Memory Model,简称JMM)本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式,详细来说就是在虚拟机中将变量存储到...

2018-05-29 19:00:32 4602

原创 java内存区域详解

java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有区域随着虚拟机的进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。如下图: Java堆对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动...

2018-05-28 18:55:27 638

原创 数据结构——ConcurrentHashMap

参考博客:http://www.importnew.com/21781.html

2018-05-21 13:22:07 8234 3

原创 数据结构——HashMap

HashMap也是比较常用的一个集合,比如ZooKeeper中就用的比较多。而且HashMap也是面试中常被问到,今天就来探讨一下HashMap。HashMap结构从上图可以看出,HashMap底层就是一个数组结构,数组中的每一项又是一个链表。transient Entry<K, V>[] table;public HashMap(int paramInt, f...

2018-05-17 12:41:32 362

原创 Zookeeper之Leader选举

Leader选举是zookeeper很重要的机制,也是保证分布式数据一致性的关键所在。上一篇的zookeeper角色中我们提到只有Leader才具有事务请求处理的权利,本篇我们来看看Leader的选举。先来看几个术语 SID:服务器ID SID是一个数字,用来唯一标识一台Zookeeper集群中的机器,每台机器不能重复,和myid的值一致。关于myid可以参考Linxu集群搭建 ZXID...

2018-05-16 10:24:16 218

原创 zookeeper入门之角色

前段时间,一个同事面试被问到关于zookeeper的角色和选举问题,之前写过一篇关于LInxu环境zookeeper集群搭建的文章,今天就来看看关于zookeeper的角色。我们知道在分布式系统中, 构成集群的每一台机器都有自己的角色,最经典的集群模式就是Master/Slave(主备模式),我们把能够处理所有写操作的机器称之为Master,把所有通过异步复制的方式获取更新数据,然后提供...

2018-05-14 18:49:53 573

原创 分布式集群与分布式事务浅谈

分布式、集群、分布式事务相信这几个关键词大家都已经听了无数遍,而这些又是现在互联网不得不提的话题。 那么什么是分布式?什么是集群?什么是分布式事务? 在传统的互联网中,我们通过一个系统业务和存储来完成所有业务。但随着互联网的快速发展传统的架构已经不能满足我们的需求,需要将业务进行拆分处理、或者分库分表来存储业务数据。这时就不得不提到分布式、集群、分布式事务。 分布式:简单来说就是将业务进行拆...

2018-05-12 17:39:02 2479

原创 Redis入门(二)

上一篇我们主要讲Linxu环境下redis的简单安装,这篇我们讲讲redis的一些基本特性,主要包括五种数据结构,常用命令、客户端、及高可用等等。写这些博客,主要是对redis学习的练习及总结。Redis可以做什么?1、缓存 这种也是最常用的,相当于在应用和DB之间做了一个缓冲作用,缓存机制几乎在所有的大型网站都有使用, 合理地使用缓存不仅可以加快数据的访问速度, 而且能够有效地降低...

2018-05-11 12:51:18 184

转载 深入理解 Spring 事务原理

一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回滚事务...

2018-05-09 14:35:08 170

转载 Java的三种代理模式

此文转载,原文链接:https://www.cnblogs.com/cenyu/p/6289209.htmlJava的三种代理模式 1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或...

2018-05-08 12:13:30 221

Advanced-REST-client_v3.1.9

一个Http接口调用工具,可以内嵌在Chrome浏览器内,无需再额外下载软件,非常方便好用,保证你用过一次会爱不释手。里面有安装使用文档

2018-08-06

空空如也

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

TA关注的人

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