首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
other skill
订阅
zionF
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
既然synchronized是"万能"的,为什么还需要volatile呢?
1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。(再有人问你Java内存模型是什么,就把这篇文章发给他) 2、synchronized通过…
Hollis原创|你以为工厂模式很简单,可能是因为你懂的只是冰山的一角
很多人认为工厂模式很简单,只是有一个建造工厂,帮我们进行对象构造而已。那么请尝试回答下以下问题: 如果以上四个问题,你都可以很好的回答的话,那么这篇文章就没有继续读下去的必要了,否则,建议你好好学习下本文。 这三种模式从上到下逐步抽象,并且更具一般性。 GOF在《设计模式》一书…
HTTP Cache 浅析
缓冲这块并不怎么好理解,网上查阅的资料,都讲的比较模糊,就比如:Private browser caches 和 Shared proxy caches。 不同的 HTTP Cache 解决的问题和使用的场景是不一样的。个人理解浏览器缓存主要是为了避免不必要的请求和大量的网络传…
[LeetCode] 2. Add Two Numbers 题解
给你两个非空链表,分别代表两个非负整数,它们的高低位顺序和链表顺序相反,链表中,每个节点代表一位数,要求将两个链表相加,结果也以链表形式返回。 假设链表都不会以 0 开头,除了 0 本身外。 这道题虽然标中等难度,但实际上却比较简单,因为链表的顺序和数字的高低位顺序相反,即链表…
原来FFmpeg这么有意思(一)
其实FFmpeg大家都耳熟能详的的一个东西了,知名的ijkplayer 就是有Bilibili开源出来的播放器也是基于FFmpeg做出来的。但是FFmpeg不仅仅止于音视频的播放裁剪功能,还能干些更有趣的事情,就比如说视频的画面拼接,对于一个Android开发者来说,一想到FF…
《HTTP/2 基础教程》 阅读摘要
1. HTTP进化史 HTTP/0.9: 是个相当简单的协议。它只有一个方法(GET),没有首部,其设计目标也无非是获取 HTML(也就是说没有图片,只有文本)。 HTTP/1.0: 多了很多功能,首部、错误码、重定向、条件请求等,但仍存在很多瑕疵,尤其是不能让多个请求共用一个…
HashMap,难的不在Map,而在Hash
在平常的开发当中,HashMap是 我 最常用的Map类(没有之一),它支持null键和null值,是绝大部分利用键值对存取场景的首选。需要切记的一点是——HashMap不是线程安全的数据结构,所以不要在多线程场景中应用它。 通常情况下,我们使用Map的主要目的是用来放入(pu…
【Android 修炼手册】Gradle 篇 -- Android Gradle Plugin 主要 Task 分析
大家可以直接 clone EasyGradle 项目,把 app/build.gradle 里的 implementation 'com.android.tools.build:gradle:3.0.1' 注释打开就可以了。 在 Gradle的基本使用 和 Android Gr…
Android Gradle使用总结(1)
自定义属性具有更广泛的作用域,可以跨Project,跨Task访问。只要能访问这些属性所属的对象,那么这些属性就可以被访问到。 虽然Gradle是个脚本文件,但写的依旧是代码,Groovy是兼容Java的,能灵活实现很多功能。如,给生成的apk以当前时间命名: 单引号和双引号都…
《图解 HTTP》 阅读摘要
1. 了解 Web 及网络基础 通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作,而 HTTP 属于它内部的一个子集。 按层次分为以下 4 层:应用层、传输层、网络层和数据链路层。 网络层: 用来处理在网络上流动的数据包,该层规定了通过怎样的路径(所谓的传输路…