java
文章平均质量分 91
被姜太公钓的鱼
这个作者很懒,什么都没留下…
展开
-
AQS原理及源码解析
AbstractQueuedSynchronizer队列同步器队列同步器AbstractQueuedSynchronizer简称AQS,用来构建锁和其他同步组件的基础,它通过一个int变量来表示状态,并用哪个一个内置的FIFO队列来完成线程获取资源的排队工作。同步器的底层实现了锁状态的管理、线程的排队、等待与唤醒等功能,如果想通过同步器实现锁或者其他同步组件,只需要实现同步器指定的抽象方法即可,同步器还为我们提供了一系列模板方法,根据我们的需要选择合适的方法来实现我们的功能下面我们来一起看下看同步器原创 2020-05-23 22:15:02 · 185 阅读 · 0 评论 -
多线程(2)-synchronized方法和synchronized代码块的用法
前言 在介绍synchronized方法和synchronized代码块前,先对监视器(Monitor)做一个说明,在java虚拟机中,每个对象(object和class)通过某种逻辑关联监视器,每个监视器和一个对象引用相关联,为了实现监视器的互斥功能,每个对象都关联着一把锁一旦方法或者代码块被synchronized修饰,那么这个部分就放入了监视器的监视区域,确保一次只能有...原创 2018-07-26 21:04:12 · 2235 阅读 · 2 评论 -
JDK1.8 Lambda表达式与Stream
一、概述 jdk1.8对Lambda 表达式的支持,了Stream以实现对集合更方便地进行函数式编程。本文主要介绍jLambda表达式和Stream的一些常用使用方式,并通过一些代码小例子向大家展示怎么使用。二、函数式接口 什么时函数式接口? 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。...原创 2018-09-16 11:19:27 · 927 阅读 · 0 评论 -
JVM 对象的内存分配策略
一、概述 jvm提倡的是自动内存管理,也就是解决两个问题,给对象分配内存和回收分配的内存,本文主要简单介绍给对象分配内存的策略。二、对象优先在Eden区分配 大多数情况对象在新生代Eden区中分配,如果Eden区中中内存不足分配时,jvm会触发一次Minor GC(新生代的垃圾回收),如果Minor GC后还是没用足够的内存分配,则会在Survivor区...原创 2018-10-25 16:19:43 · 387 阅读 · 0 评论