自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ALLEN GO

无可奉告

  • 博客(10)
  • 收藏
  • 关注

转载 JVM垃圾回收算法

判断Java中对象存活的算法 1.引用计数器算法: 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。 引用计数器实现简单,效率高;但是不能解决循环引用问问题(A对象引用B对象,B对象又引用A对象,但是A,B对象已不被任何其他对象引用),同时每次计数器的增加和减少都带来了很多...

2019-09-16 13:43:53 65

转载 JVM内存模型

1.JVM内存模型简介 堆——堆是所有线程共享的,主要用来存储对象。其中,堆可分为:年轻代和老年代两块区域。使用NewRatio参数来设定比例。对于年轻代,一个Eden区和两个Suvivor区,使用参数SuvivorRatio来设定大小; Java虚拟机栈/本地方法栈——线程私有的,主要存放局部变量表,操作数栈,动态链接和方法出口等; 程序计数器——同样是线程私有的,记录当前线程的行号指示器,...

2019-09-15 11:47:54 77

原创 jvm双亲委派模型

双亲委派模型 双亲委派模型过程 某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。 使用双亲委派模型的好处在于Java类随着它的类加载器一起具备了一种带有优先级的层次关系。例如类java.lang.Object,它存在在rt.jar中,无论哪一个类加载器要加载这个类,最终...

2019-09-15 07:12:06 114

原创 线程八锁

package com.expgiga.JUC; /** * 判断打印输出的是"one" or "tow"? * * 1.两个普通同步方法,两个线程标准打印 //one, two * 2.新增Thread.sleep()给getOne(),打印 one, two * 3.新增普通方法getThree(),打印 three, one, two * 4.两个普通同步方法,两个Number...

2019-09-14 07:43:21 110

原创 多线程按序交替打印

多线程按序交替打印 三个线程,ID分别为A,B,C,每个线程将自己的ID打印10遍,要求输出的结果按顺序显示。 如ABCABCABCABCABC… 线程是无法控制的,java中线程是抢占式的,谁先抢到资源谁先操作。所以,要在资源类中加一个flag变量,来规定当前是要哪个线程来操作。如flag = 0 对应 A线程来操作, flag = 1 来对应 B线程来操作, flag = 2 来对应 C线程来...

2019-09-14 07:23:54 468

转载 Condition详解

简介在Java程序中,任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object类上),主要包括wait()、wait(long)、notify()、notifyAll()方法,这些方法与synchronized关键字配合,可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能...

2019-09-14 02:52:12 403

转载 volatile关键字解析

作者:Matrix海子     出处:http://www.cnblogs.com/dolphin0520/        volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要...

2019-09-13 09:09:09 61

转载 【转】抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都...

2019-09-07 08:37:07 98

原创 zookeeper监听服务器节点动态上下线

需求:某分布式系统中,主节点有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线 实现思路: 服务器上线后,就在zookeeper集群上注册(要在zookeeper集群上创建一个临时node,以便服务器下线时就可以在zookeeper集群上删掉该临时node)。 客户端上线后,使用getChildren() 获取当前在线服务器列表,并注册监听。 当服务器下线后,zookeep...

2019-09-05 13:38:34 423

转载 【转】可能是全网把 ZooKeeper 概念讲的最清楚的一篇文章

前言 相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 是个什么东西吗?如果别人/面试官让你给他讲讲 ZooKeeper 是个什么东西,你能回答到什么地步呢? 我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 solr 集群的时候,我使用到了 ZooKeeper 作为 solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自...

2019-09-05 12:39:11 180

空空如也

空空如也

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

TA关注的人

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