about java_about java

---恢复内容开始---

JDK=java+API+JVM

JRE=JVM+java SE API

JAVA应用领域:

JAVA SE:Standard Edtion (早期叫J2SE)

JAVA EE : Enterprise Edtion (早期叫J2EE)

JAVA ME : Mobile Edtion  (不流行)  Android / Object C (火)

1995年,JAVA1.0,James Gosling,Green Project,"Write once ,run Anywhere"

1999年,Hotspot JVM

2006年,Sun 把大部份产品开源包括Java,遵循GPL

2009年,Oracle收购Sun

Java在类库中引用applet,用applet能够为html开发者在页面中提供一个编译好的applet的小程序,只要客户端在浏览器上安装有JRE插件,就能实现applet程序在客户端JVM上运行,由此,客户端动态网站诞生。类似有Active X。但客户端的JRE安装问题,客户端运行程序的安全性,然后CGI(common gateway interface)技术诞生。

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。

MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

Servlet:Java特殊类实现的CGI方式,增加了对httpd协议处理能力,理解httpd协议和html处理,但跟CGI一样,任何静态内容还是在JAVA程序中生成,最终有了MVC

MVC:数据,业务,展示分离;

php可以将php代码镶嵌到html中,<?php>

jsp(Java server page)同理

SSH:Structs(MVC框架),Spring,Hebernate

jsp运行时先通过Jasper转化成Servlet,而后用JAVA编译器编译成类

因为jsp(JAVA)技术久,代码规范,对大型,稳定性、性能要求高的站点还是优先jsp,php确实方便

JSP:让程序员能够在html代码中嵌入java代码从而实现动态站点。

applet,servlet,Java是用于使用在不同场景下的java类库

.jsp(Jasper) - .java(JDK,Java编译器,javac) - (JVM) .class

Servlet Container:包含了JDK,能让Servlet工作起来的额外组件,

JVM instance : Servlet Container / Web Container /

并发:php通过fastcgi技术,每个请求启动一个php进程;java启动和撤销一个JVM instance代价比php要大很多很多,所以java在每个JVM instance启动多线程;

线程私有内存区:程序计数器、JAVA虚拟机栈

线程共享内存区:方法区、java堆(java可以自动实现内存回收GC-garbage collector)

其中堆区域最可能出现内存溢出

垃圾回收算法:

1、标记-清除(有个弊端会产生碎片)

2、复制算法(避免碎片,但浪费空间)

3、标记-整理,复制算法的改进(避免内存碎片)

标记:把类标记为新生代和老龄化

垃圾回收器:

Serial  能完成对新生代的回收,一次只收一个垃圾

ParNew  实现多线程回收,只是Serial改进版本,需求多CPU

Parallel Scavenge  跟New差不多,比New吞吐量多点儿,降低回收垃圾所占的cpu时间

Serial Old

Parallel Old

CMS:Concurrent Mark Sweep 并行标记清除,标记清楚算法,特点:实现并发收集、低停顿;缺点:无法收集浮动垃圾(只要线程处在,就无法收集),基于标记清除算法可能产生碎片

G1:garbage first ,较改进:不会产生碎片;能够精确控制停顿(停顿时间用户可以定义)

实际中,垃圾回收器可以自己去定义,JAVA虚拟机的运行状况要随时监控!

JDK通常使用sun的,版本选择按照需求来定(java程序员)

安装JDK:

rpm:下载地址http://www.oracle.com/technetwork/java/archive-139210.html

rpm -ivh jdk-xxxx

vi /etc/profile.d/java.sh

#!/bin/bash

JAVA_HOME=/usr/java/jdk1.8.0_121/

PATH=$JAVA_HOME:$PATH

export PATH JAVA_HOME

. /etc/profile.d/java.sh

源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值