一、JAVA的形成历史
早期在20世纪90年代,SUN公司为了抢占智能电视的市场,在1991年成立了一个Green的研发小组,专攻计算机在家电产品上的嵌入应用;但是由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题,所以后来开发了一种称为Oak的面向对象语言。1995年,更名为java,据说是在Java岛(爪哇岛)上曾喝过一种美味的咖啡,于是便命名为java;开始向互联网进发,开启了java的辉煌之旅。
二、java的主要技术
java程序设计语言
java API
java class
JVM:java virtual machine
三、JAVA应用领域上分类
JAVA SE:java standard edition 标准版
JAVA EE:java enterprise edition 企业版
JAVA ME:java mobile edition 移动版(基本不用来移动端开发)
四、JVM的实现方式
一次性解释器,解释字节码并执行
即时编译器(just-in-time complier)依赖于更多内存缓存解释后的结果
自适应编译器,缓存20%左右代码,提高80%左右的速度
五、JVM分类----SUM自有的Hotspot JVM;开源的Open JDK
JRE:java运行时环境
JRE=JVM+java SE API
JDK:java开发环境(开发编译+运行)
JDK=java+api+JVM
六、JVM内存模型
纯种私有内存区:程序计数器、java虚拟机栈
线程共享内存区:方法区、堆(几乎是JVM所占内存的最大比);堆----java中可自动进行内存回收
java垃圾回收算法:1.标记-清除;2.复制(可以避免碎片,但浪费空间);3.标记-整理
七、JDK安装
下载JKD安装包https://www.oracle.com/technetwo ... nloads-2133151.html
2.安装JDK
[root@localhost ~]# rpm -ivh jdk-8u221-linux-x64.rpm
warning: jdk-8u221-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8-2000:1.8.0_221-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
#安装后,默认的安装在/usr/java;使用java -version命令,能显示信息,表示成功
[root@localhost jdk1.8.0_221-amd64]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
#设置环境变量
vim /etc/profile.d/java.sh
#建入以下内容
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_221-amd64/bin
3.java配置参数
java -XX:+OptionName #表示开启此参数指定的功能
java -XX:-OptionName #表示关闭此参数指定的功能
java -XX:OptionName=value #表示给指定的参数赋值
java -XX:+PrintFlagsFinal #显示支持的所有参数及默认值
八、Sun JDK监控和故障处理工具
jps:JVM Process Status Tool #显示指定系统内所有的HotSpot虚拟机进程的列表信息
jstat:JVM Statistics Monitoring Tool #收集并显示HotSpot虚拟机各方面的运行数据
jinfo #显示HotSpot虚拟机配置信息
jmap #生成某HotSpot虚拟机的内存转储快照
可视化工具:jconsole
九、JAVA web相关技术
1.Servlet 是Java Servlet的简称,能够使得java开发动态页面,通过CGI技术与web前端进行通信;但是这种技术是硬编码,编码不方便,每一次改动都得重新编译,即使html的改变,也得重新编译
2.JSP是JAVA Server Pages的简称,是一种实现普通静态HTML 和动态 HTML 混合编码的技术;jsp技术主要功能是让java能以标签的形式嵌入到html中,使得java程序员不在需要深入了解html。
|
|