首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
后端
订阅
宪贵
更多收藏集
微信扫码分享
微信
新浪微博
QQ
134篇文章 · 0订阅
从JMM透析volatile与synchronized原理
在面试、并发编程、一些开源框架中总是会遇到volatile与synchronized。synchronized如何保证并发安全?volatile语义的内存可见性指的是什么?这其中又跟JMM有什么关系,
Java 集合系列1、细思极恐之ArrayList
ArrayList 底层数据结构为 动态数组 ,所以我们可以将之称为数组队列。 从依赖关系可以看出,ArrayList 首先是一个列表,其次,他具有列表的相关功能,支持快速(固定时间)定位资源位置。可以进行拷贝操作,同时支持序列化。这里我们需要重点关注的是 AbstractLi…
Java 之 volatile 详解
Volatile可以看做是轻量级的 Synchronized,它只保证了共享变量的可见性。在线程 A 修改被 volatile 修饰的共享变量之后,线程 B 能够读取到正确的值。 java 在多线程中操作共享变量的过程中,会存在指令重排序与共享变量工作内存缓存的问题。 Java…
Web 后端开发者也需要了解的跨域问题
Web 后端开发者很少会去充分了解跨域问题,原因是他们很少和 JavaScript 打交道。但是作为一个 Web 开发者,知道跨域请求和如何解决跨域问题可以和前端开发者在沟通上变得更为顺畅。 这篇文章会介绍和跨域请求相关的一些概念,以及如何在后端(Python)解决浏览器的跨域
String 为什么不可变 ?
众所周知, String 是一个不可变的,由 final 修饰的类。那么它的不可变性体现在哪里呢? 看下面一段简单的代码: 在 Java 平台类库中,包含许多不可变类,例如 String , 基本类型的包装类,BigInteger, BigDecimal 等等。综上所述,不可变…
java基础(八) 深入解析常量池与装拆箱机制
本文将介绍常量池 与 装箱拆箱机制,之所以将两者合在一起介绍,是因为网上不少文章在谈到常量池时,将包装类的缓存机制,java常量池,不加区别地混在一起讨论,更有甚者完全将这两者视为一个整体,给初学者带来不少困扰,我就是过来的。同时,也因为包装类的缓存 与 字符串常量池的思想是一…
java Integer 源码 面试必备
面试一般都会问到你看过源码吗,所以,我就参考了网上的资料和自己的见解写了这篇源码解读。 Java的Ingeter是int的包装类,在开发中我们基本可以将两者等价。 Integer类是对int进行封装,里面包含处理int类型的方法,比如int到String类型的转换方法或Stri…
[译文] 初学者应该了解的数据结构:Array、HashMap 与 List
当开发程序时,我们(通常)需要在内存中存储数据。根据操作数据方式的不同,可能会选择不同的数据结构。有很多常用的数据结构,如:Array、Map、Set、List、Tree、Graph 等等。(然而)为程序选取合适的数据结构可能并不容易。因此,希望这篇文章能帮助你了解(不同数据结…
理解JVM(五):Java内存模型与线程
JMM(Java Memory Model)是JVM定义的内存模型,用来屏蔽各种硬件和操作系统的内存访问差异。 主内存:所有的变量都存储在主内存(Main Memory,类比物理内存)中。 工作内存:每条线程有自己的工作内存(Working Memory,类比处理器高速缓存),…