1背景某一天在某一个群里面的某个群友突然提出了一个问题:"threadlocal的key是弱引用,那么在threadlocal.get()的时候,发生GC之后,key是否是null?"屏幕前的你可以好好的想想这个问题,在这里我先卖个关子,先讲讲Java中引用和ThreadLocal的那些事。2Java中的引用对于很多Java初学者来说,会把引用和对象给搞混淆。下面有一段代码,U
分类:
编程语言 时间:
2019-03-05 18:48:59
阅读次数:
140
四种引用类型总结 引用级别:强引用 软引用 弱引用 虚引用 理解 就如最开始说的,设置四种引用类型,是为了更好的控制对象的生命周期,让代码能够一定程度上干涉GC过程,所以引用类型主要就是跟垃圾回收有关了。 对于JVM、GC和内存,可以这样理解,内存好比你的抽屉,这个抽屉有一定大小,并不能无限存放东西 ...
分类:
编程语言 时间:
2019-03-04 20:35:38
阅读次数:
200
1.基础概念 CPU核心数和线程数的关系 核心数:线程数=1:1 ;使用了超线程技术后 > 1:2 CPU时间片轮转机制 又称RR调度,会导致上下文切换 什么是进程和线程 进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源 线程:CPU调度的最小单位,必须依赖进程而存在。 澄 ...
分类:
编程语言 时间:
2019-02-28 18:33:54
阅读次数:
222
在iOS开发中,经常会对UINavigationBar的样式进行全局样式。采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默认全局外观样式设置,它对设置时机有要求。 通常需要在UIWindow的viewlayout之前。错过 ...
分类:
移动开发 时间:
2019-02-14 23:56:11
阅读次数:
352
十二、垃圾回收面试题 1.Object的finalize()方法 2.Java中的强软弱虚四种引用 (1)强引用 (2)软引用(间接引用) (3)弱引用 (4)虚引用 (5)四种引用区别 ...
分类:
其他好文 时间:
2019-02-12 21:28:53
阅读次数:
194
前言: 本文首先介绍强引用StrongReference、软引用SoftReference、弱引用WeakReference与虚引用PhantomReference之间的区别与联系; 并通过一个高速缓存的构建方案,来了解SoftReference的应用场景。 本文参考书籍Thinking in Ja ...
分类:
编程语言 时间:
2019-02-09 20:47:58
阅读次数:
155
用法:ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。 ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。 ThreadLocal.se ...
分类:
编程语言 时间:
2019-01-24 13:26:37
阅读次数:
183
Java弱引用(WeakReference)的理解与使用 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. 他没有期望有人能够完整解释清楚weak reference是什么, 怎么用, 只是期望有人能够提到这个 ...
分类:
编程语言 时间:
2019-01-23 21:29:04
阅读次数:
222
引用类型 强引用StrongReference 最长使用 软引用SoftReference 在即将OOM之前,垃圾回收器会把这些软引用指向的对象加入回收范围 一般可用于同一台服务器内缓存低频访问的中间结果 弱引用WeakReference 下一次YGC时会被回收 虚引用PlantomReferenc ...
分类:
其他好文 时间:
2019-01-19 14:26:38
阅读次数:
246
写一个简单的测试用例,Pig实现了Shout接口 中间是WeakCache的代码,好长,省略掉 我们看一下生成的字节码 idea反编译打开看看 于是会在指定目录下生成代理类,打开看看 ...
分类:
其他好文 时间:
2019-01-16 00:14:46
阅读次数:
168