自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 什么地方违反了双亲委派模型

在开讲双亲委派模型之前,我们先要了解一下类加载机制 类加载机制是指将类的class文件读入到内存,并为之创建一个java.lang.Class对象。中间对数据做了 校验,转换解析和初始化等操作。 一般情况下我们说了有三种加载器: 最基础:Bootstrap ClassLoader(加载JD...

2019-08-16 09:18:00 516

转载 Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。 按数组下标访问元素-- get(...

2018-10-23 21:06:00 93

转载 HashMap工作原理及实现

HashMap工作原理及实现 1. 概述 什么时候会使用HashMap?他有什么特点? 知道HashMap的工作原理吗? 知道get和put的原理吗? 知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办? 当我们...

2018-10-20 19:30:00 115

转载 ArrayList源码解析

Arraylist源码解析 1. 概述 ArrayList以数组实现。节约空间,但数组容量有限。超出限制时会增加50%的容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。 按数组下标访问元素---get(i)/...

2018-10-19 15:55:00 83

转载 LinkedHashMap源码解析

LinkedHashMap源码解析 1. 概述 package java.util; import java.io.*; public class LinkedHashMap<K,V> extends HashMap<K,V> implements Ma...

2018-10-18 16:18:00 137

转载 LinkedList源码解析

LinkedList源码解析 1. 概述 以双向链表实现。链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作。 按下标访问元素——get(i)/set(i,e),要悲剧的遍历链表将指针移动到位,如果i>数组大小的一半,辉总末尾移起。 插入、删除元素时修改前后节点的嗯...

2018-10-16 20:30:00 85

转载 7. ReadWriteLock接口及其实现ReentrantReadWriteLock

Java并发包的locks包里的锁基本上已经介绍的差不多了,ReentrantLock重入锁是个关键,在清楚的了解了同步器AQS的运行机制后,实际上再分析这些锁就会显得容易的多,这章节主讲另外一个重要的锁---ReentrantReadWriteLock读写锁。 ReentrantLock是一...

2018-10-15 15:37:00 125

转载 6. 类似Object监视器方法的Condition接口

在《1.有关线程、并发的基本概念》中,我们利用synchronized关键字、Queue队列、以及Object监视器方法实现了生产者消费者,介绍了有关线程的一些基本概念。Object类提供的wait方法和notifyAll方法,与之对应的是Condition接口提供的是await和signal...

2018-09-18 16:15:00 151

转载 5. Lock接口及其实现ReentantLock

jdk1.7.0_79 在java.util.concurrent.locks这个包定义了和synchronized不一样的锁,重入锁--ReentrantLock,读写锁--ReadWriteLock等。在已经有了内置锁synchronized的情况下,什么又出现了Lock显示锁呢?本文...

2018-09-17 14:46:00 203

转载 4. 从AbstractQueuedSynchronizer(AQS)说起3—AQS结语

通过之前的分析,对AQS同步器已经有了一个大致的了解,从独占模式和共享模式来分析了AQS的两个基本方面,一个是同步状态的获取,另外一个是同步状态的释放,这是AQS最基本的特性,前面两节都是以阻塞的形式获取同步状态,但实际上AQS还能超时等待获取同步状态,或者非阻塞的方式获取同步状态。 以下是A...

2018-09-14 09:46:00 153

转载 3. 从AbstractQueuedSynchronizer(AQS)说起2—共享模式的锁获取与释放

在上节中解析了AbstractQueuedSynchronizer(AQS)中独占模式对同步状态获取和释放的过程。本节将会对共享模式的同步状态获取和释放过程做一个解析。上一节提到了独占模式和共享模式的区别,最主要的区别就是在同一时刻能否有多个线程获取到同步状态。 1. 共享模式同步状态的获取 ...

2018-09-13 17:20:00 78

转载 2. 从AbstractQueuedSynchronizer(AQS)说起1—独占模式的锁获取与释放

首先,我们从java.util.concurrent.locks包中的AbstractQueuedSynchrinozer说起,在下文中称为AQS。 AQS是一个用于构建锁和同步器的框架。例如在并发包中的ReentrantLock、Semphore、CountDownLatch、Reentra...

2018-09-12 11:38:00 117

转载 1. 有关线程、并发的基本概念

什么是线程? 提到“线程”总免不了要和“进程”做比较,而我认为在Java并发编程中混淆的不是“线程”和“进程”的区别,而是“任务(Task)”。进程是表示资源分配的基本单位。而线程则是进程中执行运算的的最小单位,即执行处理机调度的基本单位。关于“线程”和“进程”的区别耳熟能详,说来说去就一句话...

2018-09-07 16:00:00 231

转载 0、Java并发包系列开篇

在我们想要谈论Java并发包(java.util.concurrent)的时候,这是一个头疼的问题,却又是每个Java工程师不得不掌握的一项技能。一直以来都想写一个Java并发包系列,无奈迟迟没有动手动脑。最近重新思考规划了自己的学习路线,决定从Java并发包开始把每个技术、原理、源码做成一个...

2018-09-06 16:51:00 76

转载 第六章:分布式配置中心(Spring Cloud Config)

转载: http://blog.csdn.net/forezp/article/details/70037291 一、简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring ...

2017-11-29 14:50:00 89

转载 第七章:高可用的分布式配置中心(Spring Cloud Config)

转载:http://blog.csdn.net/forezp/article/details/70037513 上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从...

2017-11-29 14:50:00 78

转载 第四章:断路器(Hystrix)

转载:http://blog.csdn.net/forezp/article/details/69934399 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了...

2017-11-29 14:49:00 88

转载 第五章:路由网关(zuul)

转载:http://blog.csdn.net/forezp/article/details/69939114 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简...

2017-11-29 14:49:00 85

转载 第三章:服务消费者(Feign)

转载:http://blog.csdn.net/forezp/article/details/69808079 一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign...

2017-11-29 14:48:00 80

转载 第二章:服务消费者(rest ribbon)

转载:http://blog.csdn.net/forezp/article/details/69788938 一、ribbon简介 Ribbon is a client side load balancer which gives you a lot of control over t...

2017-11-29 14:47:00 69

转载 第一章:服务注册与发现

转载:http://blog.csdn.net/forezp/article/details/69696915 一、spring cloud简介 spring cloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、...

2017-11-29 14:45:00 65

转载 性能调优思路

调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多、外部处理系统的性能不足、资源消耗不多但程序的响应速度却仍达不到要求。 资源消耗 CPU、文件IO、网络IO、内...

2017-10-19 17:36:00 79

转载 如何做性能调优

性能优化的常见概念 吞吐量(TPS,QPS):简单来说就是每秒钟完成的事物数或查询数。通常吞吐量大表明系统单位时间能处理的请求数越多,所以通常希望TPS越高越好 响应时间:即从请求发出去到收到系统返回的时间。响应时间一般不取平均值,而是要去掉不稳定的值之后再取平均值,比如常用的90%响应时间,...

2017-10-19 17:35:00 1777

转载 Memcache在Linux服务器端安装

#安装准备 下载memcache-1.2.5版本,另外mencache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本libevent-1.3。(如果已经安装了libevent,则不需要安装)。 下载Memcache:http:/...

2017-04-07 16:30:00 71

转载 Hadoop学习记录

#第一章、安装Linux服务器 本教程安装的是CentOS系统。 安装完VMware虚拟机后,运行虚拟机,点击“创建新的虚拟机”,选择典型安装模式,点机下一步。 选择下载的镜像文件,点下一步。 用户名不能使用root,root是Linux保留的最高权限用户,填写完成点下一步。 选择虚拟机...

2017-04-07 16:12:00 51

转载 IDEA常用快捷键

Alt+回车: 导入包,自动修正 Ctrl+N: 查找类 Ctrl+Shift+N: 查找文件 Ctrl+Alt+L: 格式化代码 Ctrl+Alt+O: 优化导入的类和包 Alt+Insert: 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shi...

2017-04-06 17:20:00 60

转载 ExecutorCompletionService

#描述 当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果。 #实现方式 ##方式一 通过一个list来保存一组future,然后在循环中轮训这组future,直到每个future都已完成。如果我们不希望出现因为排在前面的任务阻塞导致后面先完成的任务的结...

2017-04-06 17:16:00 72

转载 Velocity学习记录

#变量名 $name 为空时打印变量本身 $!name 为空时打印空字符串(不打印任何内容) ${name} 类似 $name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space $!{name} 类似 $!name,为空时打印空字符串,但可以将变量和连续...

2017-04-06 17:03:00 60

转载 SpringMvc学习记录

#1. RequestParam 在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter(“name”),另外一种是用注解@RequestParam直接获取。 ##1.1 各种异常情况处理 ###A.可以对传入参数指定参数名 @RequestP...

2017-04-06 16:50:00 73

空空如也

空空如也

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

TA关注的人

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