JAVA基础知识

Java简介

作者:詹姆斯·高斯林(James Gosling)
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java是第一门完全面向对象编程的计算机语言

诞生背景

任职于Sun公司(Stanford University Network斯坦福网络公司)的詹姆斯·高斯林和麦克·舍林丹等人于1990年代初开发Java语言的雏形,最初被命名为Oak,Oak的目标是作为家用电器等小型系统的编程语言,用于电视机、电话、闹钟、烤面包机等家用电器的控制和通信。

由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。

随着1990年代互联网的发展,Sun公司发现Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。

伴随着互联网的迅猛发展,Java逐渐成为重要的网络编程语言。

三大平台版本

J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案
该技术体系是其他,可以完成一些桌面应用程序的开发两者的基础

J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案

J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案
该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发

Java语言特点

Java语言具有简单性、面向对象、分布式、健壮性、安全性、跨平台性、可移植性、多线程与动态性等特点。Java语言可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统等 。Java 快速、安全、可靠。从笔记本电脑到数据中心,从游戏控制台到超级计算机,从手机到互联网,Java 无处不在!

简单性:
1.体现在开发工具可以为任意文本编辑器
2.代码量相对较少
3.运行平台简单
面向对象:
待完善
可移植性(跨平台):
Java代码运行与编写与平台无关,java内置虚拟机jvm,跟实际使用平台无关,只需要安装相应平台的虚拟机即可运行java代码
分布式:
一个系统将不同服务放在不同服务器上,减轻服务压力
多线程:
可以在同时运行多个不同功能的代码
动态性:
三大平台版本也是动态性的体现,java在安装时会将一些常用的工具直接安装使用,但是由于工具过多,所以只安装基本,在实际使用时,如果需要使用额外的工具可以动态的扩展安装
健壮性:
健全的代码检测机制,java代码运行首先需要先将我们编写代码进行编译,之后将编译后的代码交由虚拟机运行,在编译与代码运行的过程中,虚拟机会根据相应的检测机制对代码进行检测如果出现逻辑或运行错误会直接提示
安全性:
网络安全性:对象序列化
代码安全性:java代码源代码经过编译后生成字节码文件交由虚拟机运行

JVM JRE和JDK的关系

JDK:java开发工具包
JRE:java软件运行环境
JVM:java虚拟机

JVM
Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。

JRE
Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK
Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等

JDK包含JRE ,JRE包含JVM

简单而言:使用JDK开发完成的java程序,交给JRE去运行。(jvm保证跨平台)

Java程序执行流程

1.创建以.java结尾的源文件
2.对源文件进行编写
3.使用javac指令进行编译
4.编译成功后生成由虚拟机运行的.class二进制字节码文件
5.使用java指令进行执行

Jdk的安装

1.安装版
(1)使用默认配置路径一直点击下一步即可(没有注意项)
(2)安装至自定义位置(注意安装路径不能存在中文)在jdk12之前会分别安装jdk与jre需要选择两次路径。
2.解压版
(1)与安装版没有差别但就是解压位置注意

Jdk的卸载

1.使用安装包卸载再次执行安装包
2.使用程序卸载,控制面板删除java相关程序将文件夹删除

Java环境变量的配置

JAVA_HOME:JDK的安装路径(默认C:\Program Files\java\jdk1.8_221)

如果只进行基本的使用那么也可以不用配置
这个配置主要为了后期其他使用java的工具配置

ClASSPATH:编译好的class文件的路径
在jdk1.5以后不需要配置(如果配置错误jdk不能使用)

PATH:jdk的bin目录(默认%JAVA_HOME%/bin;)

Java相关运行指令存储在bin中,但是不会自动寻找指令
Path是为了使计算机在任意位置都可以找到知道指定的指令

Jdk安装环境配置指令验证方式:
安装结束使用java java -version指令进行验证
环境配置验证javac

右键计算机选择属性->选择高级系统设置

点击高级选项卡->环境变量

首先配置JAVA_HOME(一般是需要新建的)->点击新建

输入变量名与变量值(变量名固定为JAVA_HOME,变量值为jdk安装路径)

配置path(系统默认存在,需要修改,在系统变量中找到Path,点击编辑)

在最前面添加jdk指令变量(%JAVA_HOME%\bin;)固定

注意:最后一定要点击确定不要直接关闭配置

Linux指令
是windows系统提供的命令行操作页面,不区分大小写

盘符名: F: 切换盘符
Dir 查看当前位置文件
Cd 文件夹名 进入指定文件夹
对于可执行文件.exe可以直接输入文件名进行调用
Mkdir 文件夹名 创建文件夹

代码输出 Hello,wrold!

Java简介以及入门的更多相关文章

  1. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  2. Java入门 - 语言基础 - 01.Java简介

    原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...

  3. Akka 简介与入门

    Akka 简介与入门 http://www.thinksaas.cn/group/topic/344095/ 参考官网  http://akka.io/ 开源代码  https://github.co ...

  4. Java基础:Java简介及安装配置(1)

    Java简介 Java是Sun公司于1995年推出的高级编程语言,具有跨平台特性,编译后的程序能够运行在多种类型的操作系统平台上. 1.1 Java应用程序版本 Java的3个独立用于开发不同类型应用 ...

  5. Quartz入门例子简介 从入门到菜鸟(一)

    转: Quartz入门例子简介 从入门到菜鸟(一) 2016年11月19日 22:58:24 爱种鱼的猫 阅读数:4039   刚接触quartz这个词并不是在学习过程中...而是WOW里面的界面插件 ...

  6. Lombok简介及入门使用 (转载)

    Lombok简介及入门使用 lombok既是一个IDE插件,也是一个项目要依赖的jar包. Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> ...

  7. Shiro简介、入门案例、web容器的集成

    目的: shiro简介 Shiro入门案例 Shiro与web容器的集成 shiro简介(中文官网:https://www.w3cschool.cn/shiro/andc1if0.html) 1.什么 ...

  8. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  9. python3-day1-python简介及入门

    python简介及入门 python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ...

随机推荐

  1. 从一次外卖到对oauth2.0的思考

    别问oauth1.0哪去了,问就是不好讲. 1. 外卖并不好吃   今天下班得早,想吃顿好的,于是就点了一份外卖,过了一会儿,外卖到了,但是在小区大门被堵住了,我亲自远程开门后才能进来,又过了一会,被 ...

  2. win10 安装msys2 和 ruby

    1.选择自己的版本 https://rubyinstaller.org/downloads/ Ruby+Devkit 2.5.1-2 (x64) Ruby+Devkit 2.5.1-2 (x86) 2 ...

  3. HBA卡常用命令

    HBA卡信息查看 查看对应的PCI设备lspci | grep LSI 如下:对应的HBA卡命令为sas3ircu 如下:对应的HBA卡使用sas2ircu 查看LSI控制器类型和型号 sas2irc ...

  4. 几个递进的make file

    春节在家写的几个递进的make file,部分有点问题.接下来 有空我要把GNU make的手册看完.不然这方面太菜了. GNU make手册 都需要make先设置环境变量BUILD_MODE为run ...

  5. Flutter简介

    Flutter简介 Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台.高保真.高性能.开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平 ...

  6. idea配置ssm框架

    详细教程如下:https://blog.csdn.net/GallenZhang/article/details/5193215 https://blog.csdn.net/qq_28008917/a ...

  7. 第2章 RDD编程(2.1-2.2)

    第2章 RDD编程 2.1 编程模型 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换.经过一系列的transformations定义RDD之后,就可以调用actions触发 ...

  8. 群晖系统设置自动拍摄共享文件夹快照的教程【江东网 JDX86.COM】

    Snapshot Replication 是数据备份和还原的工具.企业需要数据保护以防止因意外删除.应用程序崩溃.数据损毁和病毒所造成的数据丢失. 1.在套件中心下载该套件 2.打开套件可以看到NAS ...

  9. Could not create an acl object: Role '16'

    解决方案: (1) 用rm命令一个一个的清除var/cache, var/page_cache, var/di, generated/文件夹下的所有文件 (2) run setup:upgradeco ...

  10. latex在线帮助文档

    1.ctex官方网站 http://www.ctex.org/HomePage 2.在线帮助文档 http://www.ctex.org/OnlineDocuments