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. JavaScript 严格模式(strict mode)

    概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:'严格模式'.顾名思义,这种模式使得Javascript在更严格的条件下运行. 目的 1: 消除Javascript语法的一些不合 ...

  2. Homekit_DoHome_智能通断器

    本款通断器适用于IOS和android系统用户,苹果用户可以非常方便的使用siri进行有效控制,android用户需要下载Dohome App进行操作,同时支持市面上主流的智能音箱进行控制. 对于an ...

  3. Android 开发学习进程0.13 Androidstudio快捷键 xmlns

    xmlns XML namespace xml命名空间 其中主要是定义xml文件定义位置 前缀有三种,android app tools 后面为唯一标识符URI android 表示为引用自安卓系统 ...

  4. 跳转语句—break,continue,goto

    #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...

  5. Escalate_my_privilege 靶机

    1:扫描主机ip 2:扫描端口发现 22 80 111 3:目录扫描,发现一些平常的页面 4:进入robots.txt发现一个类型命令行的界面,查看是个低权限,但是在home目录下的armour发现密 ...

  6. win10下使用AIDA64建立副屏监控

    写在前面: 最近刚攒了一台台式机,但是苦于没有太喜欢的温度监控插件,在贴吧里面看到有人用AIDA64做了一个副屏监控,感觉非常6,于是就开始了折腾之路. 需要的设备和软件: windows系统电脑一台 ...

  7. TestLink使用指南

    TestLink安装上之后,局域网内用户可以登陆使用,下面介绍本软件的使用方式. 1.TestLink简介 TestLink是基于Web的开源测试管理工具,用户可以使用这个工具创建测试项目和测试用例, ...

  8. 关于make及makefile的工作笔记

    之前一直是用java的,最近工作中需要在Linux中写一个C++程序,之前的写法很不规范,只有一个CPP.记录一下关于makefile的相关知识 想要完整的了解相关内容,推荐看这本书<程序员的自 ...

  9. 编译gawk出现问题,没有安装gawk。

    今天编译kernal的时候出现了一个错误:GNU awk is required for lib/memtype.h made by memtypes.awk..查了资料,原来是没有安装gawk的缘故 ...

  10. linux zip压缩文件忽略指定的文件夹

    zip -r productImages.zip ./* -x "cache**" 压缩时,会忽略cache下的所有文件及文件夹