标签:synchronized

Java

Java 并发编程之 ReentrantLock 源码分析

xiaoli.wang 发布于 2020-07-26

我是一个优秀的人,但也有缺点,比我优秀的人有很多很多。连自己都认输,何谈你的对手,与你一样优秀,甚至比你优秀的人。战胜自己,就是最大的超越。 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。我们知道synchronized关...

阅读(301)评论(0)赞 (0)

Java

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

1

Harries 发布于 2020-07-26

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线...

阅读(324)评论(0)赞 (0)

Java

Java 异常处理专题,从入门到精通

邓龙华 发布于 2020-07-26

内置异常和Throwable核心方法 Java内置异常 可查异常(必须要在方法里面捕获或者抛出) ClassNoFoundException 应⽤程序试图加载类,找不到对应的类 IllegalAccessException 拒绝访问⼀个类的时候 NoSuchFieldExceti...

阅读(325)评论(0)赞 (0)

Java

JVM内存模型系列(堆、方法区以及对象和GC)

23

Harries 发布于 2020-07-26

上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为...

阅读(312)评论(0)赞 (0)

Java

从linux内核理解Java怎样实现Socket通信

6

darida 发布于 2020-07-26

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇 ,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议 。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的比较多,就用这两...

阅读(62)评论(0)赞 (0)

Java

不能再被问住了!ReentrantLock 源码、画图一起看一看!

9

darida 发布于 2020-07-26

前言 在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?下面开始了解 ReentrantLock。 公众号:liuzhihan...

阅读(48)评论(0)赞 (0)

Java

就因为没看这篇文章面试失败了

4

hanze 发布于 2020-07-26

前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 ...

阅读(26)评论(0)赞 (0)

Java

Java基础——ArrayList详解

1

刘莉莉 发布于 2020-07-26

ArrayList 内部是以动态数组的形式来存储数据的。这里的动态数组不是意味着去改变原有内部生成的数组的长度、而是保留原有数组的引用、将其指向新生成的数组对象、这样会造成数组的长度可变的假象。 ArrayList 具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问Ar...

阅读(51)评论(0)赞 (0)

Java

JVM-运行时数据区—方法区

9

xiaoli.wang 发布于 2020-07-25

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使...

阅读(25)评论(0)赞 (0)

Spring

Spring 注入对象处理过程

7

小丁 发布于 2020-07-25

❝ 其实生活中的坑,都是自己挖的,迷茫也是。愿我们内心坚定而且不失热爱,期待与你的共同进步。 ❞ 依赖关系的处理   上一篇文章中,通过 createBeanInstance() 方法,最终得到了 BeanWrapper 对象。再得到这个对象之后,在Spring中,对于依赖 关系...

阅读(30)评论(0)赞 (0)

Java

手写死锁及死锁排查

3

songhua.gao 发布于 2020-07-25

死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去,如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 产生死锁的原因 系统资源不足 进程运行推进的顺序不对 资源分...

阅读(19)评论(0)赞 (0)

Java

浅谈ArrayList及扩容机制

dulong 发布于 2020-07-25

ArrayList就是动态数组,其实就是Array的复杂版本,它提供了动态的添加元素和删除元素的方法,同时实现了Collection 和 List接口,能够灵活的设置数组的大小。 通过源码的分析,我们可以看到ArrayList有三种构造方法 空的构造函数 根据传入的数值大小,创建...

阅读(27)评论(0)赞 (0)

Spring

Spring源码解析(三) – 纯注解启动spring?怎么可能!

xiaoli.wang 发布于 2020-07-25

上一篇我们有讲到使用 context:component-scan 标签,注册扫描器之后,扫描器可以把目标包下面有符合过滤器条件(默认情况下会注册一个 @Component 注解的 AnnotationTypeFilter )的类封装成 beanDefinition 并且注册到 ...

阅读(58)评论(0)赞 (0)

Java

史上最全的Android面试题集锦(十)

xiaoli.wang 发布于 2020-07-24

原文链接: https://blog.csdn.net/xiangzh… 5、类加载器 程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从...

阅读(51)评论(0)赞 (0)

Java

Java并发—Synchronized 的本质

1

puefu.he 发布于 2020-07-24

使用场景 先用一张图来描述使用的场景(图片获取至其他网站。) 总体来说就是方法和代码块2种方式。 代码块的同步 每个object在设计的时候,都是可以被monitor的,被锁住的,所以使用计数器的方式就可以解决这个锁的问题。 方法同步 这个按上一篇说讲,就是方法通过ACC_SYN...

阅读(51)评论(0)赞 (0)

Java

Java并发

1

puefu.he 发布于 2020-07-24

1.基本并发方式 1.1 Callable 这个方式基本不用,会影响线程的思想。 2.线程池 Executor 2.1 ThreadExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

阅读(20)评论(0)赞 (0)

Java

不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

xubiao.zhuang 发布于 2020-07-24

什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作...

阅读(40)评论(0)赞 (0)

Java

Java软引用、弱引用、虚引用原理

1

changyuan.xu 发布于 2020-07-23

在Java中总共有4中核心的引用类型——强引用、软引用、弱引用、虚引用。一般情况下我们往往用到强引用比较多,很少会遇到场景用到其他三种引用,所以对其原理的掌握就更加是一纸空白。此次,恰遇机会就正好研究一下这四种引用的原理,以解己惑。 关于强引用,因为日常使用,大家基本都比较清楚,...

阅读(26)评论(0)赞 (0)