baskbull baskbull
3年前
操作系统学习笔记 原来自旋锁还可以这样实现!
在java中我们知道对线程使用CAS(compareandswap)来实现自旋锁,在没有学习操作系统之前,我以为这是唯一一种方法了。但是今天学到了操作系统中的同步互斥,终于明白了原来CAS、TS、Swap这些都是硬件提供的原子操作罢了!不仅CAS可以实现自旋锁,TS(TestandSet)同样可以!临界区临界区进程中访问临界资源的一段需要互斥执行
Stella981 Stella981
3年前
Android Studio中绘制simpleUML类图详细说明及使用
一、AndroidStudio中安装simpleUML  1、下载simpleUMLjar包    地址为:http://plugins.jetbrains.com/(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fplugins.jetbrains.com%2F) 搜索s
Stella981 Stella981
3年前
Redis 总结精讲
本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题
Stella981 Stella981
3年前
Android仿微信图片详情页面,可下拉关闭页面
话不多说,直接上效果图imagereview.gifImageReview(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Flink.jianshu.com%3Ft%3Dhttps%253A%252F%252Fgithub.com%252FJohnsonHou%252FImage
Stella981 Stella981
3年前
2019年Java中高级面试题总结(7)
81、说出几条Java中方法重载的最佳实践?下面有几条可以遵循的方法重载的最佳实践来避免造成自动装箱的混乱。a)不要重载这样的方法:一个方法接收int参数,而另个方法接收Integer参数。b)不要重载参数数量一致,而只是参数顺序不同的方法。c)如果重载的方法参数个数多于5个,采用可变参数。82、在多线程环境下
Stella981 Stella981
3年前
FastDFS版本发展历程
FastDFS从2008年7月份发布第一个版本以来,至今已发布6个大版本,大大小小总共75个版本。各个大版本简要介绍如下:Version1.0020080712  Version1.2920100630V1采用一个线程服务一个连接的一对一服务模型。该模型支持的并发连接数有限,通常1024就到上限了,不能解决C
Wesley13 Wesley13
3年前
Java 开发, volatile 你必须了解一下
并发的三个特性首先说我们如果要使用volatile了,那肯定是在多线程并发的环境下。我们常说的并发场景下有三个重要特性:原子性、可见性、有序性。只有在满足了这三个特性,才能保证并发程序正确执行,否则就会出现各种各样的问题。原子性,上篇文章说到的CAS和Atomic\类,可以保证简单操作的原子性,对
Stella981 Stella981
3年前
Android开发——发布第三方库到JitPack上
前言:看到大神们的写的第三方控件,比较好用,我们使用的时候直接是在gradle上加上代码就可以使用了,现在到我们写了一个第三方控件,想要别人使用的时候也是直接在gradle加上相关的代码就可以用了,我们该如何操作呢?答案很简单,就是在JitPack网站上发布我们的库就可以正文:1.创建一个moudle这里其实就是相当于
如何清理会话消息及清除 Android IM SDK 缓存图片?
"融云SDK中新增了deleteMessages方法,用于删除某个会话中的所有消息,同时会整理压缩数据库,减少占用空间,此方法不可频繁循环调用。(来源参考:https://www.rongcloud.cn/?utmsourceSEO&utmtermjish
京东云开发者 京东云开发者
12个月前
同样的APP为何在Android 8以后网络感觉变卡?
前言在无线网络技术不断发展的今天,WiFi已经成为了我们日常生活中不可或缺的一部分。无论是家庭娱乐、办公还是在线游戏,WiFi都在提供着便捷的互联网接入服务。然而,在安卓8.1后,为了进一步延长安卓设备的待机时间。原生安卓(AOSP等)默认开启了全局省电(