程序:指令+数据
过程式编程:以指令为中心,数据服务于代码;
对象式编程:以数据为中心,指令服务于数据;
对象,方法(method)
Java代码的运行:
*.java(source code) --> javac --> *.class(bytecode)
jvm:class loader,加载程序的类文件,及程序的类文件依赖到的其它的类文件而后运行; 整个运行表现为一个jvm进程;threads;
java技术体系:
Java编程语言
Java Class文件格式
Java API
Java VM
class loader
执行引擎
JVM运行时区域:
方法区:线程共享; 用于存储被JVM加载的class信息、常量、静态变量、方法等;
堆:是jvm所管理的内存中占用空间最大的一部分;也是GC管理的主要区域;存储对象;
Java栈:线程私有,存储 线程自己的局部变量;
PC寄存器:线程私有的内存空间,程序的指令指针;
本地方法栈:
安装JDK
了解当前的java环境:
~]# java -version
OpenJDK:
java-VERSION-openjdk:
The OpenJDK runtime environment.
java-VERSION-openjdk-headless:
The OpenJDK runtime environment without audio and video support.
java-VERSION-openjdk-devel:
The OpenJDK development tools.
CentOS 7:
VERSION:1.6.0, 1.7.0, 1.8.0
注意:多版本并存时,可使用 alternatives命令设定默认使用的版本;
Oracle JDK:
安装相应版本的rpm包;
jdk-VERSION-OS-ARCH.rpm
例如:jdk-1.8.0_25-linux-x64.rpm
注意:安装完成后,要配置JAVA_HOME环境变量,指向java的安装路径;
OpenJDK:
JAVA_HOME=/usr
Oracle JDK:
JAVA_HOME=/usr/java/jdk_VERSION
OpenJDK已经收录进base仓库中,具体查看如下图:
jdk支持多版本共存,而可以用以下工具来设置默认版本:
我们安装jdk1.8.0,操作步骤如下:
可以用which命令查看jdk的安装路径:
也可以使用
alternatives
命令来查看:
查看安装的jdk的版本号:
设置环境变量永远有效的方法如下:
然后可以执行以下脚本使之生效!
./etc/profile.d/java.sh
还有另外一种安装方式,是基于二进制的安装方式。
这里使用rpm命令来安装:
同上修改java.sh文件,内容如下:
编辑保存,执行下脚本,可以查看jdk的相关脚本: