标签分类:JAVA

volatile与内存屏障总结

一. 内存屏障 Memory Barrior 1.1 重排序 同步的目的是保证不同执行流对共享数据并发操作的一致性。在单核时代,使用原子变量就很容易达成这一目的。甚至因为CPU的一些访存特性,对某些内存对齐数据的读或写也具有原子的特性。但在多核架构下即使操作是原子的,仍然会因为其他原因导致同步失效。 首先是现代编译器的代码优化和编译器指令重排可能会影响到代码的执行顺序。 其次还有指令执行级别的乱序 …

阅读全文

每月技术提升2018年3月

每月技术追踪 [移动前端]Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量的原生应用的全新移动 UI 框架。利用保持状态的热重载(Hot Reload)、借助可移植的 GPU 加速的渲染引擎以及高性能本地 ARM 代码运行时以达到跨设备跨平台的高质量用户体验;Flutter 由于渲染的基础(gdi)是自己实现的,所以实现跨平台、性能优化、摆脱平台约 …

阅读全文

每月技术追踪2016年9月

[编程语言]经过数周的猜测之后,Oracle负责Java EE和WebLogic Server的副总裁Anil Gaur在JavaOne上公布了Oracle针对Java EE的路线图。他们的规划包括在2017年底发布Java EE 8,这个版本会具备基本的微服务和云功能,并且计划在此一年后发布Java EE 9,这个版本将会包含进一步的特性。chaozh评论:JavaEE也跳票。 [前端框架]An …

阅读全文

每月技术追踪2016年7月

[编程语言]在Java 9需要在2016年5月前完成完整功能却错过了截止日期后,Java平台的首席架构师Mark Reinhold提出了一个方案来完全审查所有遗留在未完成JEP中的工作,并且决定了是进一步推迟这个项目来适应进度还是减少项目范围。虽然进度还没有完成,但是现在的状态更适合两者相结合起来做。chaozh评论:说白了就是既砍功能又延期跳票,可谓最差的情况。 [前端移动]React团队推出了 …

阅读全文

Java的CAS实现总结

CAS原理 CAS通过调用JNI的代码实现的。JNI:Java Native Interface为JAVA本地调用,允许java调用其他语言。 而compareAndSwapInt就是借助C来调用CPU底层指令实现的。 下面从分析比较常用的CPU(intel x86)来解释CAS的实现原理。 下面是sun.misc.Unsafe类的compareAndSwapInt()方法的源代码: public …

阅读全文

第 1 页,共 2 页12