标签:重排序

Java

为年后跳槽准备的133 道 Java 面试题及答案

5

changyuan.xu 发布于 2019-01-17

为年后跳槽准备的133 道 Java 面试题及答案 Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Ve...

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

Java

深入了解 Java 的 volatile 关键字

2

hanze 发布于 2019-01-10

说 volatile 之前,先来聊聊 Java 的内存模型。 在 Java 内存模型中,规定了所有的变量都是存储在主内存当中,而每个线程都有属于自己的工作内存。线程的工作内存保存了被该内存使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取,赋值等)都必须在工作内存中进行,而...

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

编程技术

架构师负责订规范,你负责执行!

2

Harries 发布于 2019-01-09

心意相通的研发之间,本不需要BB这BB那搞些约束。但宁教我心徒枉然,不教银光惹尘埃。过分的放纵爱自由,那就是一去不复返了。 本文系稍成点系统的碎碎语,如有共鸣,拍掌,么! 为什么要有规范 规范是一种束缚,是腾飞前的最后一步加速。大公司免费开源复杂的软件,有一个非常重要的目的就是想...

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

Java

Java内存模型原理,你真的理解吗?

8

hanze 发布于 2019-01-04

这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对 Java 内存模型体系产生一个相对清晰的理解,知其然知其所以然。 内存模型产生背景 在介绍 Java 内存模型之前,我们先了解一下物理计算机中的并发问题,理解这些问题可以...

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

Java

长文慎入-探索Java并发编程与高并发解决方案

24

zhuangli 发布于 2019-01-02

所有示例代码,请见/下载于 https://github.com/Wasabi1234/concurrency #1 基本概念 ##1.1 并发 同时拥有两个或者多个线程,如果程序在单核处理器上运行多个线程将交替地换入或者换出内存,这些线程是同时“存在"的,每个线程都处...

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

Java

Java 学习之路

Harries 发布于 2018-12-31

前几天刷微博,看到博主 @Java大本营 发了一个图片,总结 Java 一些常见的知识点,感觉挺好,整理成文字版,发在我的个人博客,作为一个大家学习复习的文档,也欢迎有人在评论中留下各种参考资料,一下是正文。 一、基础篇 1. JVM ①. JVM 内存结构 堆、栈、方法区、直接...

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

Java

synchronized关键字大总结

6

darida 发布于 2018-12-30

全面对 synchronized 进行总结。 0、synchronized 的特点: 可以保证代码的原子性和可见性。 1、synchronized 的性质: 可重入(可以避免死锁、单个线程可以重复拿到某个锁,锁的粒度是线程而不是调用)、不可中断(其实也就是上面的原子性) 2、sy...

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

Java

Java并发2:JMM,volatile,synchronized,final

6

邓龙华 发布于 2018-12-26

并发编程需要处理两个关键问题:线程之间如何 通信 以及线程之间如何 同步 。 通信是指线程之间以何种机制来交换信息。线程之间的通信机制有两种: 共享内存和消息传递。 共享内存模型中,线程之间共享程序的公共状态,通过读-写内存中的公共状态进行隐式通信。多条线程共享一片内存,发送者将...

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

Java

深入解析Java AtomicInteger原子类型

songhua.gao 发布于 2018-12-26

在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全。线程安全的定义如下: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这...

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

Java

JVM基础 — Java对象的内存布局

刘莉莉 发布于 2018-12-25

new + 反射 通过调用 构造器 来初始化实例字段 Object.clone + 反序列化 通过直接 复制已有的数据 ,来初始化新建对象的实例字段 Unsafe.allocateInstance 不会初始化实例字段 // Foo foo = new Foo();对应的字节码 /...

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

Java

浅谈Java内存模型

6

xiaoli.wang 发布于 2018-12-23

Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。网上已经有大量的博客,但是人家的终究是人家的,自己也要好好的去理解,去消化。今天我也来班门弄斧,说下Java内存模型。 说到Ja...

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

Java

偏向锁状态转移原理

4

xiaoli.he 发布于 2018-12-18

当多个处理器同时处理的时候,通常需要处理互斥的问题。 一般的解决方式都会包含 acquire 和 release 这个两种操作,操作保证,一个线程在acquire执行之后,在它执行release之前,其它线程不能完成acquire操作。这个过程经常就涉及到锁。研究表明(L. La...

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

Java

Java并发编程-内存模型及volatile

1

yeseng 发布于 2018-12-18

内存模型相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程则慢得多(不是一个数量级),因此如果任何时候对数据的操作都要通过和内存的...

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

Java

懒加载的艺术

zhuangli 发布于 2018-12-09

懒加载是一种加载方式,加载对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载。懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景。 好了,相信啥意思大家都明白!那么具体如何实现呢?其实挺有意思的! 方案1. 直接用...

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

Java

java内存模型–JMM

3

songhua.gao 发布于 2018-12-07

编辑推荐: 本文来自于cnblogs,本文介绍了Java运行时数据时的内存区域以及主内存和工作内存等相关内容。 在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线...

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

Java

深入理解Java虚拟机(二)

4

刘莉莉 发布于 2018-12-06

1、泛型出现之前存在的问题: 所有对象的类型都继承自Object,虚拟机只有到运行时才能知道这个Object具体是什么类型,在编译期是无法检查这个Object是否强制转型成功,会将ClassCaseException的风险转移到程序运行期。 2、泛型的作用: 通过泛型,编译器可以...

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

编程技术

阿里java架构师面试128题含答案:分布式架构+Dubbo+多线程+Redis

5

小丁 发布于 2018-12-05

一、Java基础和高级 1.String类为什么是final的。 2.HashMap的源码,实现原理,底层结构。 3.反射中,Class.forName和classloader的区别 4.session和cookie的区别和联系,session的生命周期,多个服务部署时sessi...

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