我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。
一、序言:
2017年,这一年人才市场发生了巨大的变化,经历了O2O、P2P、互联网+、共享经济、大数据、AI和区块链等,互联网行业的各大公司也都走在风口浪尖,不断的寻求突破。传统企业更加不在话下,都在做极力做数字化转型规划。但最终不管市场怎么变化,作为技术人员,我们必须要保持强烈的求知欲,活到老学到老,不断的升级自我,这样才不会被市场淘汰。(虽然感觉很鸡汤,但说的就是事实)
大数据学习QQ群119599574
这段时间有很多朋友问我,问题大同小异,大体的意思就是很怀念前几年的市场状态,考了一个CCIE(Cisco Certified Internetwork Expert)之后,很容易就可以获得一份丰厚待遇的工作,但是现在市场变化这么快,作为网络工程师的我们在职场上没有太大的竞争力,危机感萌生,不知道在接下来的职场要如何选择。
其实,一直都跟朋友们分享的,作为网络工程师想必很多都会经历思科认证考试,不管是通过了CCNA、CCNP和CCIE,每个认证考试的通过都不是我们的终点,而是我们的起点。我们获得的不仅仅是一张证书,而是获得了一种自我学习和提升的能力。
近两年的云计算(IaaS、PaaS和SaaS)、大数据和人工智能等领域主要以Java技术为主,为了与时俱进,笔者也开始学习Java,也推荐大家可以学习下(笔者虽然获得了ISP CCIE,DC CCIE和Vmware等认证的,但之前对Java也是没有接触过,本次学习分享也是为下一步大数据学习打基础,希望可以跟大家一起交流,一起进步。)
以上言论也是通过朋友分享和自身感受,纯粹交流,不喜勿喷,也希望有大牛过来指导!
二、Java发展史
好了,煽完情,吹完牛皮,是该来聊聊正经话题了。
要学习一门技术,我们必须要先了解它,那下面先聊聊Java的发展史。
Java 是一门编程语言,拥有跨平台、面向对象、泛型编程等特性。
Java这个名字的由来,是Java创始人员团队中其中一名成员由于灵感想到的,想起自己在Java岛(爪哇岛)上曾喝过一种美味的咖啡,于是这种计算机编程语言就命名为Java,以一杯热咖啡为logo.
同时,还需要了解下Java之父-James Gosling(詹姆斯·高斯林) ,不要学了大半天Java,连Java之父是谁都不知道,就很尴尬了。
Java的版本演进:JDK(Java Development Kit)
1.0.2
1.1.1->1.1.6->1.1.7->1.1.8
1.2.1
Java 2 SDK
1.2.2
1.3.0->1.3.1
1.4.0->1.4.1->1.4.2->1.5.0(5.0),1.6(6.0),1.7(7.0),8.0,9.0(最新版本)
注:Java到1.5版本之后,增加了很多新特性,与之前的版本区别比较大,所以从1.5开始就以5.0这种叫法。
记住几个时间轴:
1995年5月:Java问世
1996年1月:JDK1.0版本发布(里程碑)
1997年2月:JDK 1.1面世
1999年6月:第二代Java平台发布(简称为Java2)
因此,Java2的“2”代表是Java第二代的意思。
Java 2有3个版本:
J2SE :(Java 2 platform standard Edition)标准版
是为开发者普通桌面何商务应用程序提供解决方案
该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,如QQ,YY等
J2ME :(Java Platform,Micro Edition)小型版
是为了开发电子消费产品和嵌入式设备提供的解决方案
目前主流的Android底层就是JAVA开发的
J2EE:(Java 2 Platform Enterprise Edition)企业版
是为了开发企业环境下的应用程序提供的一套解决方案
该技术体系中包含的技术如Servlet,JSP等,主要针对于Web应用程序开发
注:Java 5.0版本后,更名为 JAVAEE JAVASE JAVAME
三、JAVA的特点(包含不仅限于以下):吸取了C 和 C++语言的特性
面向对象性
建壮性
跨平台性(write once , run anywhere)(主要有JVM,JVM是Java的虚拟机,类似一个平台)
这里我们将重点讨论跨平台特点,Java是怎么做到跨平台的?
开始之前,我们先看下面的图:
比如左边的图,当我们中国人,在不懂外语的情况下,要与日本人或者韩国人做交流,中间需要有一个翻译,与不同国家的人交流,需要懂对应语言的翻译。
对应到Java,JVM就是充当的翻译的角色,要跨平台就是需要不同的JVM做支撑,每一种平台的JVM都是不一样的。
所以只要在系统上安装上JVM,通过Java语言编写的应用程序在不同的系统平台上都可以运行。
四、JDK、JRE和JVM的作用和关系
(1)作用
JVM:保证Java语言跨平台
JRE:Java程序的运行环境(Java runtime Environment)
JDK:Java程序的开发环境
(2)关系
JDK: JRE+tools(工具,主要是在lib下面的)
JRE:JVM+class library (类库)
即:JDK>JRE>JVM(JVM保证Java跨平台能力),所以我们将下载最全的JDK包。
Java 概念图
五、安装JDK工具包
编写程序之前,我们需要先从Oracle官网下载JDK8(目前最新的是JDK9,我用的是JDK8):
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我是windows 64位的操作系统,所以下载的是windows x64的,你们可以根据你们的系统类型下载对应的即可。
建议:安装路径不要有中文或者特殊字符和空格等,所有和开发相关的都统一放在一个目录。
笔者是直接安装在E:\Java\JDK下,便于查找。安装完成之后,目录如下:
重点了解下以下几个:
bin:为Java开发用到的工具
db:存放的是数据库文件
jre:为运行环境
src.zip:为Java开发工具包的源码文件
接下来,我们需要给Java设置一下环境变量,以确保Javac指令和Java指令在任何目录下运行。
新建环境变量“JAVA_HOME”
编辑环境变量“path”,新建%JAVA_HOME\bin
六、编写第一个Java程序(HelloWorld)
class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
1、程序解释:
(1)Java程序的最基本单位是类,所以我们要定义一个类,
格式: class 类名
举例: class HelloWorld
(2)在类中写内容的时候,用大括号括起来{}。
(3)Java程序要想执行,必须有main方法
格式: public static void main(String[] args)
(4)方法要指向哪些东西,也用大括号括起来
(5)要做什么呢?今天我们仅仅做了一个简单的输出
格式: System.out.println("HelloWorld");
注意:""里面的内容是可以改动的
2、Java 程序开发执行流程:
(1)编写Java源程序(.java文件)
(2)通过javac命令编译生成.class文件
(3)通过java命令运行.class文件
3、程序执行结果
(1)先用javac编译生成.class文件
(2)Java命令执行.class文件,输出运行结果
七、Java程序执行中常见问题:
文件扩展名被隐藏了,无法正常执行Java程序,所以需要把扩展名显示
建议文件名和类名称一致
Java程序严格区分大小写的
见到 非法字符:\65307错误,都是中英文输入法问题,Java程序编写都是要以英文输入法
括号的配对问题,一般来说,括号都是成对出现的。
遇到“在类Helloworld 中找不到主方法,请将主方法定义为”,这个肯定是主方法的格式问题
大数据学习QQ群119599574