- tags: Programming Language
Java 生态工具
Maven/Ivy 依赖获取和解决工具
SDKMAN Java 环境和 SDK 管理
SDKMAN 可以实现 Java 环境和一些常见 SDK 的管理,包括:JDK、Scala、sbt 和 Spark 等。
SDKMAN 可以实现 Java 环境和一些常见 SDK 的管理,包括:JDK、Scala、sbt 和 Spark 等。
tags: C/C++,Java,Data Structures In C++ the set container is an ordered or sorted set, unordered_set is the normal set in C++. Differences between them please check set vs unordered_set in C++ STL. In Java there is an java.util.SortedSet interface.
tags: Memory Model,Java,编程语言内存模型
tags: Java 内存模型,Java Java 是第一个试图写下多线程程序保证的主流语言。它包括: 互斥体(mutex),并定义了它们隐含的内存排序要求。 “volatile” 原子变量: volatile 变量的所有读和写都需要直接在主内存中按程序顺序执行,使得对 volatile 变量的操作以顺序一致的方式进行。 制定了(或者至少试图制定)具有数据竞争的程序的行为。 缺陷 Atomic 需要同步:volatile 原子变量是不同步的,所以它们无助于消除程序其余部分的竞争。不能用于构建新的同步原语。 一致性与编译器优化不兼容:Java 编译器公共子表达式消除(common subexpression elimination)会导致其他线程写入新值无法对消除后表达式生效。