JAVA就业笔记4——第二阶段(1)

课程须知

A类知识:工作和面试常用,代码必须要手敲,需要掌握。

B类知识:面试会问道,工作不常用,代码不需要手敲,理解能正确表达即可。

C类知识:工作和面试不常用,代码不需要手敲,仅为了知识体系完整性,了解即可。


阶段  JAVA快速入门

        本阶段是进入“程序员”的门槛,需要学习编程基本的知识:变量、数据类型、控制语句、面向对象。我们通过实际的案例,让大家一开始就通过游戏项目进入学习状态,寓教于乐,引起大家的兴趣。

        同时,我们也深入内存底层,打扎实大家的基本功。本阶段内容学完,你就明白各个语言底层其实差异都不大。大家再去学其他编程语言也很容易入门。


第一单元  JAVA入门和背景知识

1

JAVA最全学习路线和就业分析

A

2

多种计算机语言特点介绍

C

3

JAVA发展史-三大版本含义-JAVA的核心优势和特点

A

4

JAVA运行机制-JDK和JRE和JVM的区别

A

5

JDK的下载和安装

A

6

JDK环境变量配置(win10下配置JDK8)

A

7

JDK收费和open JDK安装成功的测试

A

8

写出第一个JAVA程序(10万行代码,30万年薪)

A

9

第一个JAVA程序的错误总结

A

10

第一个程序的语法详细解析-总结和提升

A

11

常见DOS命令总结

A


一、JAVA最全学习路线和就业分析

(一)、JAVA就业情况

· 程序员在整个中国就业市场仍然是较好的。

· JAVA在程序员领域仍然是就业较好的。

· 卷?什么行业不卷?

(二)、实时效果反馈

1、 JAVA程序员的就业情况,在各种语言中:

A 一直较好

B 一般

C 差

D 时好时坏

2、企业对于JAVA程序员的要求:

A 待遇整体越来越低,整体要求也越来越高

B 待遇整体越来越高,整体要求也越来越高

C 待遇整体越来越低,整体要求也越来越低

D 待遇整体越来越高,整体要求也越来越低

参考答案  1、 A    2、B


二、正确的学习方法

)、道理很简单,关键是坚持

· 江湖上有一本葵花宝典,每个人,都想得到他,

· 有了,真的会人人练吗?人人练,真的有人坚持下去吗?

· 人生成功的宝典:

        中小学好好听课,好好作业。考211/985

        有几个人,顶住诱惑,坚持下去了?

)、就业高薪的宝典

· 实战课程,一节一节学,代码一行一行敲

· 希望大家,咬着牙,坚持下去

)、守破离的学习战略

1、守

        学习期间,照着要求做。不急功近利,不做创新!不怀疑老师!

2、破

        工作后,开始突破!自己开始构建自己的知识体系

3、离

        工作3年后,形成自身体系,彻底脱离,自成一家!

)、不同阶段,学习的战略思路不能错!

· 守的阶段,天天怀疑,想着创出自己的路,太急躁

· 破的阶段,循规蹈矩,还照着做,没出息

· 离的阶段,自成体系,自成一家

· 建立知识体系为第一要务

        按照学习计划尽快搭建知识体系

        如果某一个知识点两三次都不懂,记住结论,继续往后学,不耽搁

        知新而温故

· 不追求每个知识点都100%掌握。

· 能掌握70%的知识点就很好了。

· 能掌握每个知识点的最常见的用法就很好了。

)、实时效果反馈

1、初学者碰到某个知识点听两三次课都学不懂,如下哪种方式是正确的?

A 死磕它,我一定要100%掌握它

B 很正常,不慌张,记住结论,继续往后学。一个月后,回来看。

C 慌了,怀疑人生,怀疑自己

D 觉得自己不适合学习

2、 "守破离"学习战略思想,说法错误的是?

A 学习期间,照着老师的做。不急功近利,不做创新!不怀疑老师!

B 守的阶段,天天怀疑老师,想着创出自己的路,太急躁

C 破的阶段,工作后,开始突破,怀疑老师!自己开始构建自己的知识体系

D 离的阶段,工作3年后,形成自身体系,彻底脱离老师,自成一家!

参考答案  1、 B    2、B


三、多种计算机语言特点介绍

)、C语言

· C语言诞生于1972年,现代高级语言的鼻祖,由著名的贝尔实验室发明。

· 在底层编程,比如嵌入式、病毒开发等应用,可以替代汇编语言来开发系统程序。

· 在高层应用,也可以开发从操作系统(Linux/Windows都基于C语言开发)到各种应用软件。

)、C++语言

· 作为C语言的扩展,C++是贝尔实验室于80年代推出的。C++是一种混合语言,既可以实现面向对象编程,也可以开发C语言面向过程风格的程序。

· C++语言在科学计算、操作系统、网络通讯、系统开发、引擎开发中仍然被大量使用。

)、Java语言

· 由美国SUN公司(被oracle公司收购)发明于1995年,是目前业界应用最广泛、使用人数最多的语言,连续多年排名世界第一,可以称之为“计算机语言界的英语”。

· Java广泛应用于企业级软件开发、安卓移动开发、大数据云计算等领域,几乎涉及IT所有行业。

· 关于Java的发展历史和特性,将在后面专门介绍。

)、JavaScript语言

· JavaScript是一种脚本语言,已经被广泛用于Web应用开发;应用范围越来越大,重要性越来越高。目前,前端开发核心其实就是JavaScript语言。

)、Python语言

· Python发明于1989年,语法结构简单,易学易懂;

· Python广泛应用于:人工智能、科学计算、web编程等。

)、PHP语言

· PHP原始为Personal Home Page的缩写,已经正式更名为"PHP:Hypertext Preprocessor"。

· 一般用于WEB开发领域;大量的中小型网站以及某些大型网站使用PHP开发。

)、Object-C和Swift语言

1、Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。OC主要用于苹果软件的开发。

2、Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与OC共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。

)、C#(c sharp)语言

· C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。

)、Kotlin语言

· Kotlin已正式成为Android官方支持开发语言,并且是一种可以兼容java的语言。

)、Go语言

· Go(又称Golang)是Google开发的一种静态强类型、编译型语言。

十一)、Basic语言

· 虽然易学,但功能不够强大,应用到大程序的有效性令人怀疑。已经逐步退出历史舞台。

十二)、实时效果反馈

1、Java是哪个公司发明是:

A微软

B华为

C SUN

D ORACLE

参考答案  1、 C


四、JAVA发展史-三大版本含义-JAVA的核心优势和特点

)、Java发展简史

        1991年,James Gosling在SUN公司想要设计这样一种小型计算机语言。该语言主要用于像电视盒这样的消费类电子产品,要求语言本身是中立的,也就是跨平台的。

        Java语言发展到今天经历了一系列的过程:

· 1991年,SUN公司的Green项目,Oak

· 1995年,推出Java测试版

· 1996年,JDK1.0

· 1998年,JDK1.2,大大改进了早期版本缺陷,是一个革命性的版本,更名为Java2。

· 2004年,J2SE 5.0 (1.5.0) Tiger老虎

· 2014年,JavaSE8.0

· 2017年,JAVA 9.0

· 2020年3月,JAVA14

· 2020年9月,JAVA15

· 2021年3月,JAVA16

· 2021年9月,JAVA17

· 2022年3月,JAVA18

· 2022年9月,JAVA19

· 2023年3月,JAVA20

· ……

        SUN公司已经被oracle公司收购,目前每半年更新一次java的版本。但是,企业中的主流仍然以8为主。对于初学者,JAVA8以上都可以。

)、Java的核心优势

        Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展。然而90年代,Internet却进入了爆发式发展阶段,一夜之间,大家都在忙着将自己的计算机连接到网络上。这个时侯,遇到了一个大的问题。人们发现连接到Internet的计算机各式各样,有IBM PC、苹果机、各种服务器等等,不仅硬件CPU不同,操作系统也不同,整个的网络环境非常复杂。这个时候,程序员们希望他们编写的程序能够运行在不同的机器,不同的环境中,这需要一种体系中立的语言(即跨平台)。Java的研发小组忽然发现他们用于小范围的语言也可以适应Internet这个大环境。

        跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界的“英语”。

        虽然,目前也有很多跨平台的语言,但是已经失去先机,无法和Java强大的生态体系抗衡。Java仍将在未来几十年成为编程语言的主流。

)、Java各版本的含义

1、JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用

        这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。在上世纪90年代末互联网上大放异彩的Applet也属于这个版本。Applet后来为Flash取代,Flash即将被HTML5取代。

2、JavaEE(Java Enterprise Edition):企业版,定位在服务器端的应用

        JavaEE是JavaSE的扩展,增加了用于服务器开发的类库。如:JDBC是让程序员能直接在Java内使用的SQL的语法来访问数据库内的数据;Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术。

3、JavaME(Java Micro Edition):微型版,定位在消费性电子产品的应用上

        JavaME是JavaSE的内伸,包含J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。

        很多人开始会误解为安卓开发就是JavaME,这两个是完全不同的内容。

)、Java的特性和优势

1、跨平台/可移植性

        这是Java的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

2、安全性

        Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。

3、面向对象

        面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!Java则是完全的面向对象语言。

4、简单性

        Java就是C++语法的简化版,我们也可以将Java称之为“C++-”。指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。

5、高性能

        Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,某些代码甚至接待C++的效率。

        因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。

6、分布式

        Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。

7、多线程

        多线程的使用可以带来更好的交互响应和实时行为。Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。

8、健壮性

        Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。即使Java程序也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。

)、实时效果反馈

1、目前企业界流行的JAVA版本是:

A JAVA5

B JAVA6

C JAVA8

D JAVA15

2、JAVA的最核心优势是:

A 面向对象

B 网络编程

C 稳定性

D 跨平台

参考答案  1、 C         2、 D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/446367.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis:分布式 - 主从复制

Redis:分布式 - 主从复制 概念配置主从模式info replicationslave-read-onlytcp-nodelay 命令slaveof 主从结构一主一从一主多从 主从复制流程数据同步命令全量同步部分同步实时同步 节点晋升 概念 Redis的最佳应用,还是要在分布式系统中。对于非分布式…

Dockerfile 详解

Dockerfile是自定义Docker镜像的一套规则,由多条指令构成,每条指令都会对应于Docker镜像中的每一层,因为Docker是分层存储的。以下是Dockerfile中各个参数的详解及演示解析: 1. FROM 功能:指定待扩展的父级镜像&#…

【Linux系列】写入文本到文件

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

智慧乡村可视化设计,让美丽的乡村更加魅力。

智慧乡村可视化设计为美丽的乡村注入了新的活力,使其更加魅力四射。 通过可视化设计,乡村的自然风光得以更生动地展现。高清的全景图像、实时的视频监控,让人们仿佛身临其境,感受乡村的青山绿水、田园风光。 古老的村落、宁静的…

关于int*的*号归属权问题

再根据函数指针定义:int (*int) (int a)。我们发现*和后面的标识符才是一体的 所以int *a,b;的写法更好,说明a是指针类型,b是int类型

Python_函数式编程(生成器、迭代器、动态性)

简单说:时间换空间!想要得到庞大的数据,又想让它占用空间少,那就用生成器!延迟计算!需要的时候,再计算出数据! 创建生成器的方式二(生成器函数)生成器函数: 如果一个函数…

算法修炼之路之位运算

目录 一:位运算符及一些常用结论总结 1.给一个数n,确定它的二进制表示中的第x位是0还是1(位数从右向左0开始增加) 2.将一个数n的二进制表示形式的第x位修改成1 3.将一个数n的二进制表示的第x位修改为0 4.提取一个数n的二进制表示中最右侧的1 5.干掉一个数n的…

『Mysql进阶』Mysql explain详解(五)

目录 Explain 介绍 Explain分析示例 explain中的列 1. id 列 2. select_type 列 3. table 列 4. partitions 列 5. type 列 6. possible_keys 列 7. key 列 8. key_len 列 9. ref 列 10. rows 列 11. filtered 列 12. Extra 列 Explain 介绍 EXPLAIN 语句提供有…

24/10/12算法笔记 VGG

VGG特点: 1.深度:非常深 2.卷积核采用3*3,使得网络能够捕捉到更细粒度的图像特征 3.全连接层:使用全连接层来分类 4.使用ReLU激活函数,有助于缓解梯度消失 5.在卷积层和池化层后,使用局部归一化&#…

7-I2C与AHT20温湿度传感器

I2C与AHT20温湿度传感器 嵌入式领域另一种常见的通信IIC通信,并用其与AHT20传感器进行交互,获取房间的温度与湿度。 I2C有一条用于传递数据的数据线称为SDA(Serial Data),另一条是用于提供同步时钟脉冲的时钟线SCL&am…

oracle数据坏块处理(一)-通过rman备份修复

表有坏块时,全表查询会报错: 这时候如果有前面正常的rman备份,那么我们就可以通过rman备份直接对数据文件块做恢复 先对数据文件做个逻辑检查: RMAN> backup check logical VALIDATE DATAFILE EXB_DATA/exb/datafile/cuteinf…

使用 three.js和 shader 实现一个五星红旗 飘扬得着色器

使用 three.js和 shader 实现一个五星红旗 飘扬得着色器 源链接:https://threehub.cn/#/codeMirror?navigationThreeJS&classifyshader&idchinaFlag 国内站点预览:http://threehub.cn github地址: https://github.com/z2586300277/three-ce…

【算法思想·二叉树】用「遍历」思维解题 II

本文参考labuladongsuanfa笔记[【强化练习】用「遍历」思维解题 II | labuladong 的算法笔记] 如果让你在二叉树中的某些节点上做文章,一般来说也可以直接用遍历的思维模式。 270. 最接近的二叉搜索树值 | 力扣 | LeetCode | 给你二叉搜索树的根节点 root 和一个目…

Android Studio开发Kotlin项目中遇到的问题解决集

背景&#xff1a;Android Studio 2022.3.1 1.Unexpected tokens (use ; to separate expressions on the same line) 无法在同一行声明一个变量并实例化。 解决&#xff1a;分开 &#xff08;1&#xff09; var aaCo:Runoob<String>aaCoRunoob("aa") &…

阿里云dataworks测试

文章目录 开始查看全局信息查看数据源信息(endpoint与project的信息)查看绑定、解绑钉钉创建、查看AccessKey(Access Key ID与Access Key Secret) 线上开发新建开发节点mysqlpython 本地开发python 程序调度 开始 参考文档&#xff1a;https://help.aliyun.com/zh/ram/user-gu…

Stm32+Esp8266连接阿里云程序移植教程(MQTT协议)

Stm32Esp8266连接阿里云程序移植教程&#xff08;MQTT协议&#xff09; 一、前期准备二、移植过程三、程序的使用3.1 连接上阿里云3.2 传输用户数据到阿里云3.3 解析从阿里云下发给用户的数据3.4 关于调试接口 一、前期准备 自己要的工程文件移植所需的文件&#xff08;如下图&…

UML(统一建模语言)

面向对象设计主要就是使用UML的类图&#xff0c;类图用于描述系统中所包含的类以及它们之间的相互关系&#xff0c;帮助人们简化对系统的理解&#xff0c;它是系统分析和设计阶段的重要产物&#xff0c;也是系统编码和测试的重要模型依据。 画图软件&#xff1a;ProcessOn思维…

ROS2 “通信方式” 参数服务器

为什么加“通信方式”引号&#xff0c;因为我觉得他就不算通信&#xff0c;最多最多就是一个动态加载参数方式 所以ros通信方式就三种&#xff0c;topic service action 别犟&#xff0c;犟就是你对&#xff01; 常用的 param参数方法如下&#xff1a; # declare_parameter…

五款专业三维数据处理工具:GISBox、Cesiumlab、OSGBLab、灵易智模、倾斜伴侣深度解析

随着三维数据处理技术的广泛应用&#xff0c;尤其是在城市规划、地理信息系统&#xff08;GIS&#xff09;、工程监测等领域&#xff0c;处理倾斜摄影、三维建模以及大规模数据管理的需求日益增加。以下是五款我精心挑选的倾斜摄影和三维数据处理工具——GISBox、Cesiumlab、OS…

视频号直播自动回复与循环发送话术-自动化插件

我们在做视频号直播的时候&#xff0c;会有这种自动回复咨询问题的功能 唯一客服浏览器插件现在就支持&#xff0c;在视频号直播后台&#xff0c;自动化回复用户问题&#xff0c;以及循环发送我们的介绍话术