自学Java之第一章:Java概述

目录

1.1 软件开发之Java开发

1.2 CUP、内存与硬盘

1.3 人机交互方式

1.4常用的DOS命令

1.5 计算机语言简史

1.6 Java技术体系平台

1.7 什么是JDK、JRE

1.8 Java程序的入口

1.9 两种常见的输出语句    

1.10 源文件名与类名 

1.11 注释

1.12 Java API文档

1.13 Java语言的优点

1.14 Java语言的缺点

1.15 JVM功能说明


*作者自学,方便查找专用*

1.1 软件开发之Java开发

        移动应用领域(集成Android平台)Java在Android端是主要开发的语言,占有重要的地位。

        企业级应用领域(JavaEE后台)用来开发企业级的应用程序,大型网站如淘宝、京东、12306,以及各大物流、银行、金融、社交、医疗、交通、各种OA系统等都是用JavaEE技术开发的。

        大数据分析、人工智能领域:流行的大数据框架,如Hadoop、Flink都是用Java编写的。Spark使用Scala编写,但可以用Java开发应用。

1.2 CUP、内存与硬盘

         CPU(Central Processing Unit,中央处理器):

                人靠大脑思考,电脑靠CPU来运算、控制。

        硬盘(Hard Disk Drive):

                计算机最主要的存储设备,容量大,断电数据不丢失。

                正常分类:机械硬盘(HDD)固态硬盘(SSD)以及混合硬盘(SSHD)。

                固态硬盘在开机速度和程序加载速度远远高于机械硬盘,缺点就是贵, 所有无法全取代机械硬盘。

        内存(Memory):

                负责硬盘上的数据与CPU之间数据交换处理。

                具体的:保存从硬盘读取的数据,提供给CPU使用;保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘。

                断电后数据丢失。

1.3 人机交互方式

        图形化界面(Graphical User Interface,GUI),这种方式简单直观,使用者易于接受,容易上手操作。

        命令行方式(Command Line Interface,CLI),需要在控制台输入特定的指令,让计算机完成一些操作。需要记忆一些指令,较为麻烦。

1.4常用的DOS命令

        DOS(Disk Operating System,磁盘操作系统)是Microsoft公司在Windows之前推出的一个操作系统,是单用户、单任务(即只能执行一个任务)的操作系统。现在被Windows系统取代。

        常用指令:

操作1:进入和回退

操作

说明

盘符名称:

盘符切换。E:回车,表示切换到E盘。

dir

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

cd 目录

进入指定单级目录。

cd 目录1\目录2\...

进入指定多级目录。cd atguigu\JavaSE

cd ..

回退到上一级目录。

cd \ 或 cd /

回退到盘符目录。

操作2:增、删

操作

说明

md 文件目录名

创建指定的文件目录。

rd 文件目录名

删除指定的文件目录(如文件目录内有数据,删除失败)

操作3:其它

操作

说明

cls

清屏。

exit

退出命令提示符窗口。

← →

移动光标

↑ ↓

调阅历史操作命令

Delete和Backspace

删除字符

1.5 计算机语言简史

        第一代:机器语言(相当于人类的石器时代)

        1946年2月14日,世界上第一台计算机ENAC诞生,使用的是最原始的穿孔卡片。这种卡片上使用的是用二进制代码表示的语言,与人类语言差别极大,这种语言就称为机器语言

        第二代:汇编语言(相当于人类的青铜&铁器时代)

        使用英文缩写的助记符来表示基本的操作,这些助记符构成了汇编语言的基础。比如:LOADMOVE等,使人更容易使用。因此,汇编语言也称为符号语言

        优点:能编写高效率的程序。

        缺点:汇编语言是面向机器的,不同计算机机型特点不同,因此会有不同的汇编语言,彼此之间不能通用。程序不易移植,较难调试。

        第三代:高级语言(相当于人类的信息时代)

        高级语言发展于20世纪50年代中叶到70年代,是一种接近于人们使用习惯的程序设计语言。它允许程序员使用接近日常英语的指令来编写程序,程序中的符号和算式也与日常用的数学式子差不多,接近于自然语言和数学语言,容易为人们掌握。高级语言独立于机器,有一定的通用性;计算机不能直接识别和执行用高级语言编写的程序,需要使用编译器或者解释器,转换为机器语言才能被识别和执行。

        此外,高级语言按照程序设计方法的不同,又分为:面向过程的语言面向对象的语言

        1. C、Pascal、Fortran面向过程的语言

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

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

        4. C#、Python、JavaScript、Scala…

1.6 Java技术体系平台

        Java SE(Java Standard Edition)标准版

  • 支持面向桌面级应用(如Windows下的应用程序)的Java平台,即定位个人计算机的应用开发。
  • 包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。
  • 此版本以前称为J2SE

        Java EE(Java Enterprise Edition)企业版

  • 为开发企业环境下的应用程序提供的一套解决方案,即定位在服务器端的Web应用开发。
  • JavaEE是JavaSE的扩展,增加了用于服务器开发的类库。如:Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术。
  • 版本以前称为J2EE

        Java ME(Java Micro Edition)小型版

  • 支持Java程序运行在移动终端(手机、机顶盒)上的平台,即定位在消费性电子产品的应用开发。
  • JavaME是JavaSE的内伸,精简了JavaSE 的核心类库,同时也提供自己的扩展类。增加了适合微小装置的类库:javax.microedition.io.*等。

1.7 什么是JDK、JRE

        JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。

        JRE  (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库

1.8 Java程序的入口

        Java程序的入口是main方法:

public static void main(String[] args){
           }

1.9 两种常见的输出语句    

  • 换行输出语句:输出内容,完毕后进行换行,格式如下:
System.out.println("输出内容");
  • 直接输出语句:输出内容,完毕后不做任何处理,格式如下:
System.out.print("输出内容");

举例说明1:个人信息输出

public static void main(String[] args){
		System.out.println("姓名:无言");
		System.out.println();//换行操作
		System.out.println("性别:男");
		System.out.println("家庭住址:北京程序员聚集地:回龙观");
	}
}

 举例说明2:输出:心形

自学Java之第一章:Java概述_第1张图片

public static void main(String[] args){                                                                                                   
		System.out.print("\t"+"*"+"\t\t\t\t\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");
		System.out.print("*"+"\t\t"+"*"+"\t\t\t\t"+"I love Java"+"\t\t\t\t"+"*"+"\t\t\t"+"*"+"\n");
		System.out.print("\t"+"*"+"\t\t\t\t\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");

		System.out.print("\t\t"+"*"+"\t\t\t\t\t\t\t\t\t\t"+"*"+"\t\t"+"\n");

		System.out.print("\t\t\t"+"*"+"\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");
		System.out.print("\t\t\t\t"+"*"+"\t\t\t\t\t\t"+"*"+""+"\t"+"\n");
		System.out.print("\t\t\t\t\t"+"*"+"\t\t\t\t"+"*"+""+"\t\t"+"\n");
		System.out.print("\t\t\t\t\t\t"+"*"+"\t\t"+"*"+""+"\t\t"+"\n");
		System.out.print("\t\t\t\t\t\t\t"+"*"+"\n");


	}

}

        注意事项: 

        换行输出语句,括号内可以什么都不写,只做换行处理。

        直接输出语句,括号内什么都不写的话,编译报错。 

1.10 源文件名与类名 

(1)源文件名是否必须与类名一致?public呢?

        如果这个类不是public,那么源文件名可以和类名不一致。但是不便于代码维护。
        如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。
        我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

(2)一个源文件中是否可以有多个类?public呢?

一个源文件中可以有多个类,编译后会生成多个.class字节码文件,但是一个源文件只能有一个public的类。

1.11 注释

什么是注释?

  • 源文件中用于解释、说明程序的文字就是注释。
  • 注释是一个程序员必须要具有的良好编程习惯。实际开发中,程序员可以先将自己的思想通过注释整理出来,再用代码去体现。

Java中的注释类型:

        单行注释:

//注释文字

        多行注释: 

/*
注释文字1
注释文字2
注释文字3
*/

注释的作用:

  • 它提升了程序的可阅读性。(不加注释的危害性,见图。)
  • 调试程序的重要方法。

1.12 Java API文档

  • API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
  • Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的说明文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。大多数Java书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料。

1.13 Java语言的优点

跨平台性:这是Java的核心优势。Java在最初设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。

  • 通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”。
  • 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM ,Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

面向对象性:适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚低耦合的标准。

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

        安全性高:Java适合于网络/分布式环境,需要提供一个安全机制以防恶意代码的攻击。安全防范机制(ClassLoader类加载器),可以分配不同的命名空间以防替代本地的同名类、字节代码检查。

简单性:Java就是C++语法的简化版,我们也可以将Java称之为“C++--”。比如:头文件,指针运算,结构,联合,操作符重载,虚基类等。

        高性能:Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。Java低性能的短腿,已经被完全解决了

1.14 Java语言的缺点

  • 语法过于复杂、严谨,对程序员的约束比较多,与python、php等相比入门较难。但是一旦学会了,就业岗位需求量大,而且薪资待遇节节攀升
  • 一般适用于大型网站开发,整个架构会比较重,对于初创公司开发和维护人员的成本比较高(即薪资高),选择用Java语言开发网站或应用系统的需要一定的经济实力。
  • 并非适用于所有领域。比如,Objective C、Swift在iOS设备上就有着无可取代的地位。浏览器中的处理几乎完全由JavaScript掌控。Windows程序通常都用C++或C#编写。Java在服务器端编程和跨平台客户端应用领域则很有优势。

1.15 JVM功能说明

        JVMJava Virtual Machine ,Java虚拟机):是一个虚拟的计算机,是Java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。

        功能1:实现Java程序的跨平台性

        我们编写的Java代码,都运行在JVM 之上。正是因为有了JVM,才使得Java程序具备了跨平台性。

        功能2:自动内存管理(内存分配、内存回收)

  • Java程序在运行过程中,涉及到运算的数据的分配存储等都由JVM来完成
  • Java消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况,在内存空间达到相应阈值时,检查并释放可被释放的存储器空间。
  • GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏

你可能感兴趣的:(java,大数据,开发语言,后端)