一、Java基础知识图解

1.1软件开发的介绍:

1、软件开发

软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。
2、人机交互方式
  (1)图形化界面(Graphical User Interface GUI)这种方式简单直观,使用
者易于接受,容易上手操作。

(2)命令行方式(Command Line Interface CLI):需要有一个控制台,输
入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些
命令。
Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”

3、常用的dos命令

dir : 列出当前目录下的文件以及文件夹

md : 创建目录 rd : 删除目录

cd : 进入指定目录

cd.. :  退回到上一级目录

cd\: 退回到根目录 del : 删除文件

exit : 退出 dos 命令行

补充:echo javase>1.doc

常用快捷键

← →:移动光标

↑ ↓:调阅历史操作命令

Delete和Backspace:删除字符

1.2计算机编程语言介绍

什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而
中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有很多种。如:C ,C++ ,Java ,PHP , Kotlin,Python,Scala等。

第一代语言

机器语言。指令以二进制代码形式存在。
第二代语言

汇编语言。使用助记符表示一条机器指令。

第三代语言:高级语言
C、Pascal、Fortran面向过程的语言

C++面向过程/面向对象

Java跨平台的纯面向对象的语言

.NET跨语言的平台

Python、Scala…

关于一些语言的排名:

1.3Java语言的概述:

是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一 门高级编程语言。
 是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使 用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
后台开发:Java、PHP、Python、Go、Node.js

Java简史

1991年 Green项目,开发语言最初命名为Oak (橡树)

1994年,开发组意识到Oak 非常适合于互联网

1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作

1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最

1998年,发布JDK 1.2,同年发布企业平台J2EE

1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生

2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0

2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME

2009年,Oracle公司收购SUN,交易价格74亿美元  2011年,发布JDK 7.0

2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本  2017年,发布JDK 9.0,最大限度实现模块化

2018年3月,发布JDK 10.0,版本号也称为18.3  2018年9月,发布JDK 11.0,版本号也称为18.9

Java在各个领域的应用

从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:

• 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及
它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电
信、交通、电子商务等。
• Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低 很大程度上取决于Java语言核心能力是否扎实。
• 大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态 圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数
是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。
• 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手 机、PDA、机顶盒、汽车通信设备等。

Java语言的诞生

java之父James Gosling团队在开发”Green”项目时,发现C缺少垃圾回收系统,还有可移植的安
全性、分布程序设计和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看
成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符 形式,参数传递,流程控制等方面和C语言、C++语言完全相同。但同
时,Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言
面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以
引用取代)、运算符重载(operator overloading)、多重继承
(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用
的对象所占据的内存空间。JDK1.5又引入了泛型编程(Generic
Programming)、类型安全的枚举、不定长参数和自动装/拆箱

• Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机 制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的 名字空间以防替代本地的同名类、字节代码检查。

• Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被 编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个 Java平台的任何系统中运行。

• Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统的解释器中运行。
• Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

• Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须 由Thread类或其子(孙)类来创建。

1.4  Java语言运行机制及运行过程

特点一:面向对象

两个基本概念:类、对象

三大特性:封装、继承、多态

特点二:健壮性

吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与 释放等),提供了一个相对安全的内存管理和访问机制

特点三:跨平台性

跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”

原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

Java两种核心机制
Java虚拟机 (Java Virtal Machine)
垃圾收集机制 (Garbage Collection)

核心机制—Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。

对于不同的平台,有不同的虚拟机。

只有某平台提供了对应的java虚拟机,java程序才可在此平台运行

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

核心机制—垃圾回收
不再使用的内存空间应回收—— 垃圾回收。

在C/C++等语言中,由程序员负责回收无用内存。

Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
Java程序还会出现内存泄漏和内存溢出问题吗?Yes!

1.5语言环境的搭建

明确什么是JDK, JRE
下载 JDK
安装 JDK
配置环境变量
path:windows系统执行命令时要搜寻的路径。
验证是否成功:javac java
选择合适的文本编辑器或 IDE 开发

Java8.0Platform

官方网址:
www.oracle.com
java.sun.com
安装JDK
傻瓜式安装,下一步即可。
建议:安装路径不要有中文或者空格等特殊符号。
如果操作系统是64位的,软件尽量选择支持64位的(除非软件本身不区分)。
当提示安装 JRE 时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发 工具不报错,建议也根据提示安装JRE。

每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目 录下都可以执行java的工具呢?

根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到 path 环境变量中,让系统帮我们去找运行执行的程序。

配置方法:

我的电脑--属性--高级系统设置--环境变量

编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔 开即可。

打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。

如果需要详细的配置过程,我会在下一篇做详细的说明。

java基础知识之整体内容概述(二)相关推荐

  1. JAVA基础知识总结:一到二十二全部总结

    >一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器( ...

  2. java基础知识之注解、反射(一)

    前言 此博客为供个人学习总结备用,如有错误请指正. 正文 Annotation(注解) java自带的注解包含以下三个: 1.@Override 注解表示重写父类的方法 2.@Deprecated 声 ...

  3. Java基础知识(二)(Object类的常用方法、日期时间类、System类、StringBuilder类、包装类、Collection集合、Iterator迭代器、泛型、list集Set接口...)

    文章目录 Java基础知识(二) 1.Object类的常用方法 1.1 toString方法 1.2 equals方法 1.3 Objects类 2.日期时间类 2.1 Date类 2.2 DateF ...

  4. 【Java基础知识 1】Java入门级概述,让阿里架构师告诉你为什么要分库分表

    1998年12月8日,第二代Java平台的企业版J2EE发布. 1999年4月27日,HotSpot虚拟机发布. 2005年6月,在Java One大会上,Sun公司发布了Java SE 6.此时,J ...

  5. Java基础知识(二) 面向对象的技术

    Java基础知识 面向对象的技术 1. 面向对象与面向过程有什么区别 2. 面向对象有哪些特征 3. 什么是继承 4. 组合和继承的区别 5. 多态的实现机制 6. 重载和覆盖有什么区别 7. 抽象类 ...

  6. 超详细的Java面试题总结(二)之Java基础知识篇

    系列文章: 超详细的Java面试题总结(一)之Java基本知识 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java面试题总 ...

  7. Java基础知识复习(二)

    对最近java基础知识理解不足的方面进行了巩固,写个博客记录一下!

  8. java(5)---Java基础知识大全

    Java基础知识大全 一.基础知识:  1.JVM.JRE和JDK的区别:  JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性.  java语言是跨平 ...

  9. 学习java基础知识笔记

    Java基础知识 第一章.Java基础入门 1.JDK的组成 2.什么是注释,注释有哪些,字面量,什么是变量 注释是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的.单行注释. ...

最新文章

  1. 报名丨图神经网络前沿学术研讨会:清北高校vs企业,9位学者联袂分享
  2. 微信小程序 PDF下载打印
  3. 排序算法(Java实现)
  4. linux中ssh连接慢的一种解决方法
  5. GDI C++ 位图的绘制
  6. ciclop读音,购机必备,15种 3D扫描 设备 优缺点汇总
  7. Deepin系统手动安装oracle jdk8详细教程
  8. mongoose日期 时间 范围查询
  9. [译]JavaScript async / await:好处、坑和正确用法
  10. 基于JAVA+SpringBoot+Mybatis+MYSQL的高校排课系统
  11. 龙门上下料样本程序,四轴。用台达AS228T和台达触摸屏编写
  12. WIN10访问linux分区「ext2fsd」
  13. RC523读身份证ID
  14. 解决Access数据库突然变得很大的方法
  15. mysql数据库三表联查
  16. ASP:KU论坛跳转页面
  17. CAPL基础篇-----CAPL中的循环
  18. 霖呆呆的近期面试128题汇总(含超详细答案)
  19. linux rm 提示无法删除“xxxxxxx“:不允许的操作
  20. 世界棒球经典赛:从WBC走进中国棒球·棒球1号位

热门文章

  1. PC到PC的IP电话实现
  2. Thinkphp+vue大学生英语网站毕业设计
  3. 常州大学计算机等级考试报名,英语四级考试口语报名
  4. JSP开发之JSP 日期处理(SimpleDateFormat格式化日期)案例了解下
  5. 血、尿、粪常规检查结果代表什么?
  6. 2022-2028全球汽车高压连接器行业调研及趋势分析报告
  7. 手机端AP和BP的含义
  8. 基于SSM实现律师事务所管理平台
  9. Altium Designer快速绘制原理图的一些操作
  10. python 同花顺thstrader_GitHub - lg28702426/THSTrader-1: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...