首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
衡之以法
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
深入理解java并发编程基础篇(三)-------volatile
volatile通常被比喻成”轻量级的Synchronized“,也是Java并发编程中比较重要的一个关键字。和Synchronized不同,volatile是一个变量修饰符,只能用来修饰变量。无法修饰方法及代码块等。 volatile的用法比较简单,只需要在声明一个可能被多线…
迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的最清楚的好文章(建议收藏)
假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。 如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。 这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对…
synchronize早已经没那么笨重
我发现一些同学在网络上有看不少synchronize的文章,可能有些同学没深入了解,只看了部分内容,就急急忙忙认为不能使用它,很笨重,因为是采用操作系统同步互斥信号量来实现的。关于这类的对于synchronize的污点,我打算帮它清洗下。 其实jdk1.6对锁的实现已经引入了大…
JVM(六)为什么新生代有两个Survivor分区?
本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器。 可以看出 Eden 和 Survivor 分区的默认比例是 8:1:1,这个值可以通过:–XX:SurvivorRatio 设定,默认值: –…
万字总结之反射(框架之魂)
准备过年看下Spring源码,用来唬人,哈哈哈哈。正经点,是为了在遇到问题的时候,能知其然而知其所以然。但是在开始前,先恶补下基础知识。今天看框架之魂——反射。 反射是在编译状态,对某个类一无所知 ,但在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法。 这个说太干涩…
Java内存模型(一) - 一个码农的期望
最近发现自己在产品思维上有所欠缺,并且刚刚读完《java并发编程艺术这本书》,于是决定从程序员的需求角度大概写写自己对JMM的理解,希望对大家有所帮助。 但同时一个全新概念的引入,往往会伴随着诸多问题等待着这些伟大的先驱者去解决。 当多个处理器要使用和修改主内存中同一块区域时,…
国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低?
这是一个知乎上面很火的问题(https://www.zhihu.com/question/50211894 ),下面是我关于这个问题的回答,截止今天,这个答案收获了500+赞和70+评论。 这个问题只是开个场,热个身而已啊。 针对以上的问题,我给一些答案,希望大家都能有所收获。…
ArrayList 与 LinkedList
摘要与vector(线程安全)一起都是list的子类ArrayList基于数组的数据结构LinkedList基于双向链表的数据结构ArrayList查询时直接返回数据,LinkedList需要遍历链表
阿里内部的那个牛逼带闪电的Java诊断工具终于开源了
最近发现一个好玩的东西给大家分享一下-阿里的Arthas 。在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具。该工具已于2018年9月份开源。 以上问题,通通可…
处理Java异常的9个最佳实践
Java中的异常处理不是一个简单的主题。初学者发现它很难理解,甚至有经验的开发者也可以花几个小时讨论如何以及应该抛出或处理哪些异常。 这就是为什么大多数开发团队都有自己的一套如何使用它们的规则。如果你是一个团队的新手,你可能会惊讶这些规则与你之前使用的规则有多么不同。 尽管如此…