Java常用配置

一、Java发展

下载路径

JDK下载路径:(推荐下载JDK8u202)
https://repo.huaweicloud.com/java/jdk/

OpenJDK下载
清华:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/
华为:https://mirrors.huaweicloud.com/openjdk/
Oracle:https://jdk.java.net/archive/
redhat:https://developers.redhat.com/products/openjdk/download

JDK和JRE的区别

JRE是java运行时环境,而JDK是java开发工具包,较新的JDK包已经不含JRE,但是JRE可以独立安装。
JDK:java development kit (java开发工具),JDK 是用于开发 Java 程序的最小环境。
JRE:java runtime environment (java运行时环境),是提供给 Java 程序运行的最小环境。
JRE包含了java虚拟机、java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。JDK是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。运行java程序只需安装JRE。如果需要编写java程序,需要安装JDK。

历史由来

JDK8在JDK8u202之后商业用途就开始收费了。个人能正常使用,但是不能给第三方使用,不能向第三方分发,且按照用户数量收费等等,建议最好不要升级新的商业版本。
OpenJDK是JDK的开放原始码版本,OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的。

把这些JRL许可证形式的Sun/OracleJDK源码和对应版本的OpenJDK源码进行比较,发现除了文件头的版权注释之外,其余代码基本上都是相同的,只有字体渲染部分存在一点差异,Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。当然,“相同”是建立在两者共有的组件基础上的,Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能.

HotSpot是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。虚拟机在最初并非由Sun公司开发,而是由一家名为“Longview Technologies”的小公司设计的; 甚至这个虚拟机最初并非是为Java语言而开发的,它来源于Strongtalk VM, 而这款虚拟机中相当多的技术又是来源于一款支持Self语言实现“达到C语言50%以上的执行效率”的目标而设计的虚拟机, Sun公司注意到了这款虚拟机在JIT编译上有许多优秀的理念和实际效果,在1997年收购了Longview Technologies公司,从而获得了HotSpot VM。

SUN的JDK版本从1.3.1开始运用HotSpot虚拟机, 2006年底开源,主要使用C++实现,JNI接口部分用C实现。HotSpot是较新的Java虚拟机,用来代替JIT(Just in Time),可以大大提高Java运行的性能。提高性能的原理:Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而HotSpot将常用的部分代码编译为本地(原生,native)代码,这样显着提高了性能。

二、编译过程

1、javac 编译
Java源代码通过编译器(javac)编译为字节码文件(.class)。
idea中的 build 和 maven package等指令都可以编译为 .class
2、类加载器(Class Loader)
类加载器负责将类的字节码文件加载到内存中,以便在运行时创建类的实例。
3、解释器(Interpreter)
解释器是一种直接解释执行 Java 字节码的编译器。它逐行读取字节码并立即执行相应的机器指令。解释器的优点是它可以快速启动,并且不需要等待整个程序被编译完毕,因为它可以边编译边执行代码。
4、即时编译器(JIT Compiler)
JIT 编译器是另一种编译器,它会在运行时将整个方法的字节码编译成本地机器码。这样做的好处是执行本地机器码通常比执行字节码更快速,因为它更接近底层硬件,并且可以进行更多的优化。

Java 基本原理

Example.java的Java源代码文件中包含一个名为Example的类。通过以下步骤来描述的过程:
使用javac编译器将Example.java编译为字节码文件Example.class。
当程序运行时,类加载器将加载Example.class文件到内存中。
JVM的字节码解释器将解释执行Example.class中的字节码(或者通过即时编译器进行编译)。
最终将执行结果输出或者进行相应的操作。

JVM
编译器Javac
类加载器Class Loader
解释器interpreter
即时编译器JIT
执行指令
.class字节码
机器码
.java文件
.class字节码文件

三、安装JDK

3.1 windows安装JDK和JRE
3.2 Ubuntua安装JDK和JRE
常用的JDK主要包括OpenJDK 和 Oracle JDK ,它们之前几乎没有区别,功能几乎相同,主要区别在于Open JDK是一个开源项目,而Oracle JDK 需要付费许可证或只允许商业性使用软件
3.2.1 安装OpenJDK
sudo apt install openjdk-17-jdk
如果想安装其他版本,替换上述命令中的版本号,例如 openjdk-11-jdk。
3.2.2 安装OracleJDK
进入Oracle 网站下载页面:https://www.oracle.com/java/technologies/downloads/archive/
选择需要下载版本后,复制下载地址。
在这里插入图片描述
使用wget 命令进行下载,打开终端,在终端中输入wget 然后后面跟下载地址即可。

wget https://download.oracle.com/java/22/archive/jdk-22_linux-x64_bin.deb

下载后,执行如下安装命令

sudo apt install ./jdk-21.0.1_linux-x64_bin.deb

另外,卸载Java如下命令:

sudo apt remove openjdk-17-jdk

设置系统默认Java版本

如果Ubuntu系统上安装了多个Java版本,可以通过如下命令更改默认版本。

sudo update-alternatives --config java

验证证JAVA_HOME环境变量是否设置正确

echo $JAVA_HOME

设置JAVA_HOME环境变量

找到首选Java安装的路径后,打开/etc/environment文件

sudo gedit /etc/environment

假设您想将JAVA_HOME设置为指向OpenJDK 17,请在文件末尾添加以下行:
JAVA_HOME=“/usr/lib/jvm/java-17-openjdk-amd64”
使更改对当前会话生效

#/etc/environment是系统范围的配置文件,由所有用户使用。
source /etc/environment 

三、CMD设置

CMD快捷方式

按下 Win + R 组合键,然后键入regedit并按下Enter 键
导航到注册表路径:HKEY_CLASSES_ROOT\Directory\Background\shell
1、右键单击 “shell”,选择 “新建” -> “项”,将项命名为您希望在右键菜单中显示的名称"open cmd"
2、右键单击新创建的项"open cmd",选择 “新建” -> “项”,将项命名为 “command”。
3、在 “command” 项上,双击默认值,并在 “数值数据” 字段中输入 cmd.exe ,如果打开CMD窗口时,并希望自动定位到当前目录cmd.exe /s /k pushd "%V"
在这里插入图片描述
4、右键单击 “open cmd”,选择 “新建”->“字符串值”,将数据名称命名为“Icon”,输入cmd的图标位置(这里可以使用原来的exe路径)。
在这里插入图片描述
同样可以设置Cygwin的路径:D:\Win10_Programs\develop\cygwin\Cygwin\bin\mintty.exe

CMD命令窗口的编码格式

常见CMD编码格式
UTF-8 的代码为 65001
美国英语 的代码为 437
GBK 的代码为 936(一般情况下为默认编码)
在这里插入图片描述
永久设置为utf-8
(1)进入注册表编辑器:window + R,输入regedit。
(2)找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
(3)右键单击 “Command Processor”,选择 “新建”->“字符串值”,将数据名称命名为autorun,输入数值数据CHCP 65001
在这里插入图片描述

四、端口操作

1)执行 netstat -ano|findstr 端口号 ,查到进程ID
在这里插入图片描述
2)根据进程Pid执行tasklist|findstr 进程号,查到进程名称
在这里插入图片描述
3)杀死进程,执行 taskkill /f /im 进程名称 /t
在这里插入图片描述

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值