Java
04-Java语言基础介绍
2021-05-19 518 3
简介 学习的同时,要知道自己站在哪,哪是核心哪是重点
1. 学习路线
1. Java基础
语言的核心,面向对象是重点
2. Java高级部分
集合、泛型、 IO、核心类库、多线程、 常用类、注解、 反射、 网络编程等
Java8 的新特性 Lambda表达式 和 Stream API
Java9-Java11新特性
3. 技术拓展 学到最后的时候再去学,才能真正理解
1. 数据结构与算法(日常多积累,多学习研究)
2. 常用算法
3. 设计模式 23种设计模式 (工作中以后,循序渐进的学习,而不是一股脑的学习)
4. JVM
4. 如果基础学不好, 那么SSM 也就学的迷糊
Java基础是 JavaEE、 大数据、安卓开发的基石
2. 知识图谱
学习的同时,要知道自己站在哪,哪是核心哪是重点
3. 06图形化界面和命令行
软件开发
软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。
人机交互方式
图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI): 需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”
4. DOS命令
常用的DOS命令
d: 切换到D盘目录
dir : 列出当前目录下的文件以及文件夹
md : 创建目录 make directory /
rd : 删除目录(删除目录, 目录需要是空的)
cd : 进入指定目录
cd.. : 退回到上一级目录
cd\: 退回到根目录
del : 删除文件 del + 目录名 表示删除目录下的所有文件
exit : 退出 dos 命令行
补充: echo javase>1.doc
常用快捷键
← →:移动光标
↑ ↓:调阅历史操作命令
Delete和Backspace:删除字符
5. 不同编程语言的介绍
语言排行榜 https://www.tiobe.com/tiobe-index/ 大家可以时刻关注
我们主要介绍Java语言
是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。
是一种面向Internet的编程语言。 Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。 这些Java程序被称为Java小程序(applet)。 applet使用现代的图形用户界面Web用户进行交互。 applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言
后台开发: Java(比较主流)、 PHP、 Python(比较火)、 Go(具有Java的开发效率具有C++的运行效率,头条开始使用GO替换)、 Node.js、C++(金融、游戏后台系统)
6. Java语言概述
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(更名,老一代的人喜欢叫J2XX)
2009年, Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本(目前公司用的最多的版本,JDK 8.0等同于JDK1.8,老一代的人喜欢说JDK1.X)
2017年,发布JDK 9.0,最大限度实现模块化 (之后更新速度开始加快)
2018年3月, 发布JDK 10.0,版本号也称为18.3 (18年3月更新,以后每6个月更新一次)
2018年9月,发布JDK 11.0,版本号也称为18.9
Java技术体系平台
Java SE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE
Java EE(Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、 Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE
Java ME(Java Micro Edition)小型版
支持Java程序运行在移动终端(手机、 PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME
比如塞班系统(诺基亚手机的系统)安装的程序都是JAR结尾的,打开的时候会有Java的图标
Java Card
支持一些Java小程序( Applets)运行在小内存设备(如智能卡)上的平台
后两者基本被Android取代了
Java的应用领域
从Java的应用领域来分, Java语言的应用方向主要表现在以下几个方面:
• 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。 Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。
• Android平台应用: Android应用程序使用Java语言编写。 Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。
• 大数据平台开发:各类框架有Hadoop, spark, storm, flink等,就这类技术生态圈来讲,还有各种中间件如flume, kafka, sqoop等等 ,这些框架以及工具大多数是用Java编写而成,但提供诸如Java, scala, Python, R等各种语言API供编程。
• 移动领域应用:主要表现在消费和嵌入式领域, 是指在各种小型设备上的应用,包括手机、 PDA、机顶盒、汽车通信设备等。
7. 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语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
• Java语言是强制面向对象的
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
• Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、 URLConnection、 Socket、 ServerSocket等。 Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
• Java语言是健壮的
Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择
• Java语言是安全的
Java通常被用在网络环境中,为此, Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
• Java语言是体系结构中立的
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
• Java语言是解释型的
如前所述, Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。
• Java是性能略高的
与那些解释型的高级脚本语言相比, Java的性能还是较优的。
• Java语言是原生支持多线程的
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
Java语言的主要特点
特点一: 面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态
特点二: 健壮性
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
特点三: 跨平台性
跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。 “Writeonce , Run Anywhere”
原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM JavaVirtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。