JavaSE——一、Java整体概述

一、Java整体介绍

1.1、Java的由来

Java是如何出现的呢?这就要回到1991年,那时候随着单片机的发展,出现了很多微型的系统,Sun公司在这个时候就成立的一个项目组,成员就有我们熟知的“Java之父” 詹姆斯·高斯林,起初的目标是为了占领计算机在家电产品上的嵌入式应用这个市场。首选的开发语言是C++,但是在具体的开发中,发现有写需求是C++不能满足的,比方说,跨平台(一个家电中可能包含多个厂商的芯片),还有就是C++系统过于庞大,而硬件资源有限。为了满足自己的需求,就在C++的基础上开发了Oak(Java的前身)语言。

但是很可惜,市场不认可Oak,上帝为你关上一扇门,就会为了开了一扇窗。在1995年,互联网发展起来了,为了使静态页面变的“动”起来。Sun公司看到了前景,发布了Java和JavaHot浏览器(Oak去注册的时候发现已经被注册了)。1996发布了第一个Java开发工具包(JDK1.0)。以后也就是不定期的会更新JDK版本了。2009年,甲骨文公司(Oracle)收购了Sun公司。

1.2、Java的三个版本(JavaSE、JavaEE、JavaME),及其他相关技术

Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:

1.2.1、Java SE(Java Platform,Standard Edition)

Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。

在这里插入图片描述在这里插入图片描述

eg:做那种桌面安装程序样的,像QQ,WORD那种应用程序

1.2.2、 Java EE(Java Platform,Enterprise Edition)

这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的(比JavaSE增加了一些框架级的东西;框架就是一些为了某一方面用途而设计的类,把这些类打包供应用软件程序员编程的时候使用,如:javabean、spring、struts;),它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
J2EE是一系列技术标准所组成的平台 ,不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想。它包含了HTML,Java,JSP,JavaScript等各种网页开发技术

在这里插入图片描述在这里插入图片描述

JSP(Java Server Pages)

是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP可以嵌套在html中。 简单地说就是java服务器端页面,控制各种页面的跳转和数据的输入输出。
一种将Java程序与HTML网页相关联的技术,使用JSP技术需要使用相关的服务器软件,如 Tomcat;

JavaScript

客户端脚本语言,一种HTML文件的静态脚本语言,除了名字与Java相似外而二者没有任何关系
Java则相当于JSP的服务器端脚本语言。服务器端脚本语言与客户端脚本语言的不同点在于他们被执行的时间不同。JSP页面中的java代码,首先被解析成对应的Servlet,然后被编译并运行,在服务器端就被执行了;而客户端脚本语言如JavaScript,在JSP被编译的时候,就像普通的HTML代码一样,作为打印信息存在于Servlet中,只有它混合着HTML被传送到客户端浏览器时,才最终被浏览器执行。

脚本语言类型被执行的位置语言特点主要用途
Java服务器端脚本语言服务器结构较为严谨进行业务逻辑的校验和控制
JavaScript客户端脚本语言浏览器结构自由松散在客户端对表单输入格式的校验
JavaWeb

Java体系中网站类开发工具集合,涉及到的东西比JavaEE还要多;

在这里插入图片描述在这里插入图片描述

eg:做基于Internet的应用程序,像选课系统,企业网站,银行系统之类的

1.2.3、 Java ME(Java Platform,Micro Edition)

这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

eg:做嵌入式系统开发的,像手机游戏之类的,像现在流行的Android操作系统

1.2.4、JavaSE、JavaEE和JavaWeb三者关系图

在这里插入图片描述

二、Java坏境搭建及程序开发

1.1、JDK、JRE、JVM

在这里插入图片描述

JDK包含JRE,JRE包含JVM
JDK = JRE+JAVA开发工具(javac.exe,java.exe,javadoc.exe)
JRE = JVM+核心类库

JRE(Java Runtime Environment.Java 运行环境),包括Java虚拟机(JVM:Java Virtual Machine)和Java程序所需要的核心类库。计算机中安装JRE即可运行开发好的Java程序。
JDK(Java Development Kit,Java开发工具包)JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括JRE。因此安装JDK便不需要再单独安装JRE。(开发工具包括编译工具:java.exe和打包工具:jar.exe等)。

javac.exe 是编译程序,用于编译.java文件
java.exe 是执行程序,用于执行编译好的.class文件
javadoc.exe 是JAVA文档工具,用于生成Java说明文档
jdb.exe 是调试器,用于调试JAVA代码
javaprof.exe 是剖析工具

1.2、工作流程

1、将Java代码编写到扩展名为.java的文件中;
2、通过javac命令对该Java文件进行编译;
3、通过java命令对生成的class文件进行运行。

//创建一个java源文件:HelloWorld.java
class HelloChina{
	public static void main(String[] args){
		System.out.println("HelloWorld!");
	}
}
//在cmd中编译:javac HelloWorld。java
//在cmd中运行:java HelloChina

编译的过程:编译后,会生成一个或多个字节码文件(.class),文件名与java源文件中的类名相同

javac.exe进行编译
java.exe运行.class文件
.java文件
.class文件
结果
编译
JVM<虚拟机>
源代码<.java>
字节码.class
机器码
操作系统

注意

在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。而且要求为public的类的类名必须与源文件名相同。
程序的入口是main()方法。格式是固定的

三、软件开发介绍

3.1软件开发

软件,即一系列按照顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分

  • 系统软件:

windows,mac os,linux,unix,android,ios,…

  • 应用软件:

word,ppt,画图板,…

3.2人机交互方式

应用程序 = 算法 + 数据结构

  • 图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作
  • 命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。

3.3常用的DOS命令

dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd…:退回到上一级目录
cd\:退回到根目录
del:删除文件

exit:退出dos命令行

编译:javac HelloWorld.java
运行:java HelloWorld

3.4Java语言的特点

1、面向对象性:

两个要素:类、对象
三个特征:封装、继承、多态

2、健壮性:

1、去除了c语言中的指针
2、自动的垃圾回收机制(仍然会出现内存溢出、内存泄漏)
3、跨平台性:JVM
在这里插入图片描述

3、分布式(微服务)

Java有丰富的例程库,用于处理HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

4、多线程

Java在当时很超前,他是第一个支持并发程序设计的主流语言,多线程可以带来更好的交互影响和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。

5、动态性

Java与C/C++相比更具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java中找出运行时类型信息十分简单。

ps:如有侵权请联系博主删除!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值