[toc]
brew update
brew upgrade
brew install openjdk@17
brew install openjdk@11
brew install openjdk@8
java -version- OpenJDK
- Homebrew默认会将OpenJDK的包解压在
/usr/local/Cellar/下,并且在/usr/local/opt/创建软链接。 /usr/local/opt/openjdk默认指向最新版本- JAVA_HOME vs. PATH Environment Variables
- 最好都设,比如maven依赖JAVA_HOME
- Homebrew默认会将OpenJDK的包解压在
# 指定jdk版本,for maven
export JAVA_HOME=/usr/local/opt/openjdk@8
export PATH="/usr/local/opt/openjdk@8/bin:$PATH"# /usr/bin/java 默认读取 /Library/Java/JavaVirtualMachines 中最高版本的 JDK
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
openjdk@17 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
# 通过环境变量设置
If you need to have openjdk@17 first in your PATH, run:
echo 'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk@17 you may need to set:
export CPPFLAGS="-I/usr/local/opt/openjdk@17/include"- IDE: IntelliJ IDEA Ultimate https://www.jetbrains.com/idea/
- 调整 memory heap:https://www.jetbrains.com/help/idea/increasing-memory-heap.html,建议 2G 以上
- 语法版本:File | Project Structure | Project | Language level:8
- IDE Plugin
- 代码质量:SonarLint
- Maven Helper
- Right click in Editor | Run Maven
Right click in Project View Toolbar | (Run|Debug) Maven
CTRL + ALT + R - "Run Maven Goal" popup (you can use Delete key in the popup)
CTRL + SHIFT + ALT + R - "Run Maven Goal on Root Module" popup (you can use Delete key in the popup)
Customize goals: Settings | Other Settings | Maven Helper Define shortcuts: Settings | Keymap | Plug-ins | Maven Helper
Open pom file, click on 'Dependency Analyzer' tab, right click in the tree for context actions.
- Right click in Editor | Run Maven
Right click in Project View Toolbar | (Run|Debug) Maven
CTRL + ALT + R - "Run Maven Goal" popup (you can use Delete key in the popup)
CTRL + SHIFT + ALT + R - "Run Maven Goal on Root Module" popup (you can use Delete key in the popup)
- maven
brew install maven
# edit ~/.m2/settings.xml 全局配置mavenexport MAVEN_OPTS="-Xms256m -Xmx512m -Xss10m"
# 堆内存初始值为256MB,最大值512MB
# xss: thread stack size
# https://stackoverflow.com/questions/4967885/jvm-option-xss-what-does-it-do-exactly
mvn package -DskipTests -pl my_target -am
# -am: If project list is specified, also build projects required by the list
# -e: 显示errors- gradle
brew install gradlejava -classpathString num = xxx;
long val = Long.parseLong(num);
String num1 = Long.toString(val);import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
private final ReadWriteLock readWriteLock
= new ReentrantReadWriteLock();
private final Lock writeLock
= readWriteLock.writeLock();
private final Lock readLock = readWriteLock.readLock();- jstack
apt-get install openjdk-12-jdk-headlessjstack -f,-f必须写在jstack后面、待执行的进程前面