Java简介以及入门
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简介以及入门的更多相关文章
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- Java入门 - 语言基础 - 01.Java简介
原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...
- Akka 简介与入门
Akka 简介与入门 http://www.thinksaas.cn/group/topic/344095/ 参考官网 http://akka.io/ 开源代码 https://github.co ...
- Java基础:Java简介及安装配置(1)
Java简介 Java是Sun公司于1995年推出的高级编程语言,具有跨平台特性,编译后的程序能够运行在多种类型的操作系统平台上. 1.1 Java应用程序版本 Java的3个独立用于开发不同类型应用 ...
- Quartz入门例子简介 从入门到菜鸟(一)
转: Quartz入门例子简介 从入门到菜鸟(一) 2016年11月19日 22:58:24 爱种鱼的猫 阅读数:4039 刚接触quartz这个词并不是在学习过程中...而是WOW里面的界面插件 ...
- Lombok简介及入门使用 (转载)
Lombok简介及入门使用 lombok既是一个IDE插件,也是一个项目要依赖的jar包. Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> ...
- Shiro简介、入门案例、web容器的集成
目的: shiro简介 Shiro入门案例 Shiro与web容器的集成 shiro简介(中文官网:https://www.w3cschool.cn/shiro/andc1if0.html) 1.什么 ...
- JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- python3-day1-python简介及入门
python简介及入门 python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ...
随机推荐
- 对于python装饰器结合递归的进一步理解
对于python装饰器结合递归的进一步理解 代码如下: import functools def memoize(fn): print('start memoize') known = dict() ...
- elasticsearch java工具类
docker运行elasticsearch docker pull elasticsearch:7.8.1 docker run -p 9200:9200 -p 9300:9300 -e " ...
- 前端路由、后端路由——想要学好vue-router 或者 node.js 必须得明白的两个概念
前端路由和后端路由的概念讲解 引言 正文 一.路由的概念 二.后端路由 三.前端路由 四.其他知识 结束语 引言 无论你是正在学习vue 还是在学习node, 你一定会碰到前端路由和后端路由这两个概念 ...
- java如何将char类型的数字转换成int型的数字,而不是Ascii
如何把 char ‘3’ 转为 int 3, 大家应该知道,不能直接转化,那样得到是‘3’的Ascii. 如下面: public class Leet { public static void mai ...
- 在win10的Linux子系统(WSL)上搭载python编程环境
为什么使用WSL进行python编程 WSL,全称Windows Subsystem for Linux.简言之,win10提供了一个子Linux系统,可以解决虚拟机和双系统的系统之间阻隔的问题而不影 ...
- ceph scrub error解决方案
参考链接:https://blog.csdn.net/u010317005/article/details/79242794 问题现象: 原因分析: 数据的不一致性(inconsistent)指对象的 ...
- 第2篇scrum
第2篇scrum 一.站立式会议 1.1会议照片 想得美 1.2项目进展 团队成员 昨日完成任务 今日计划任务 感想 吴茂平 完善用户系统 改进评论数据表,增加评论,删除评论,查询评论 今天也是元气满 ...
- Networks of Spiking Neurons: The Third Generation of Neural Network Models
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 顺便安利一下同组的大佬做的SNN教程:https://spikingflow.readthedocs.io/zh_CN/latest/Tu ...
- HTTP基础 --响应
响应,由服务端返回给客户端,分为三部分:响应状态码(Response Status Code),响应头(Response Headers)和响应体(Response Body). 响应状态码 响应服务 ...
- Kafka工作流程
Kafka生产过程分析 1 写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机 ...