大数据入门
发布日期:2021-07-22 10:54:16 浏览次数:11 分类:技术文章

本文共 4975 字,大约阅读时间需要 16 分钟。

大数据入门

大数据的概念:

海量数据,具有高增长率,数据类型多样化,一定时间内无法使用常规软件工具进行捕捉,管理和处理的数据集合。

大数据的5V特征:

Volume(大量):数据的大小决定所考虑的数据的价值和潜在的信息

Velocity(速度):获得数据的速度

Variety(多样):数据类型的多样性

Value(价值):合理运用大数据,以低成本创造高价值

Veracity(真实):数据的质量

大数据的应用场景:

预测犯罪,预测流感的爆发,预测选举,根据手机定位和交通数据,规划城市,根据库存和需求,实施调价,推动医疗信息化发展,远程医疗

大数据的发展前景:

1.大数本身的价值体现

2.大数据推动科技领域的发展

3.大数据产业链的形成

4.国家大力扶持大数据行业的发展

Java简介

Java诞生于1995年,是由Sun公司推出的一种面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承,指针等概念,因此Java语言具有功能强大和简单易用的两个特征。Java语言作为静态的面向对象编程语言的代表,极好的实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

1996年,发布JDK1.0

1999年,发布J2SE,J2EE,J2ME

2005年,更名为Java SE,Java EE,Java ME

2009年,被Oracle收购

2011年,由Oracle发布Java 7

2014年,由Oracle发布Java 8

2017年,由Oracle发布Java 9

2018年3月,由Oracle发布Java 10

2018年9月,由Oracle发布Java 11

2019年3月,由Oracle发布Java 12

2019年9月,由Oracle发布Java 13

Java的特点

面向对象

Java是一种面向对象的语言,它对对象中的类,对象,继承,封装,多态,接口,包等均有很好的支持,为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承。使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码

平台无关性

平台无关性的具体表现在于,Java是”一次编写,到处运行(Write Once,Run anyWhere)“的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同平台的运行不需要重新编译

简单

Java语言的语法和C++语法很相近,使得很多程序员学起来很容易。对Java来说,他舍弃了很多C++难以理解的特性,如操作符的重载和多继承等,而且Java语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单

解释执行

Java程序在Java平台运行时会编译成字节码文件,然后可以在有Java环境的操作系统上运行。在运行文件,Java的解释器对这些字节码进行解释执行,执行过程需要加入的类在连接阶段被载入到运行环境中

多线程

Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread类和它的子类来创建。Java支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内

分布式

Java语言支持Internet应用的开发,在Java的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括了URL,URLConnection,Socket等,Java的RIM机制也是开发分布式应用的重要手段

健壮性

Java的强类型机制,异常处理,垃圾回收机制等都是Java健壮性的重要保证。对指针的丢弃是Java的一大进步。另外,Java的异常机制也是健壮性的一大体现

高性能

Java的高性能主要是相对于其他的高级脚本语言来说的,随着JIT(Just In Time)的发展,Java的运行速度也越来越高

安全性

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击。除了Java语言具有很多的安全特性以外,Java还通过网络下载的类增加一个安全方法机制,分配不用的名字空间一方替代本地的同名类,并包含安全管理机制

Java的执行机制

Java程序的执行分为两步:编译,运行

01)编译:将Java源程序,编译为.class字节码文件

02)运行:将.class文件加载到JVM虚拟机中,执行

Java的相关名词

JDK:

Java Development Kit,Java开发环境

包含了JRE,Java核心类库,开发工具包(编译器+调试工具)

JRE:

Java RunTime Environment,Java运行环境

包含了JVM和解释器,完整的Java运行环境

JVM:

Java Virtual Machine,Java虚拟机

使用软件在不同的操作系统中,模拟相同的环境(Java实现跨平台的根本原因)

进制

常用的进制可以分为以下几种:

二进制:0b开头,由0和1组成

八进制:0开头,由0,1,2,3,4,5,6,7组成

十进制:不能由0开头,由0,1,2,3,4,5,6,7,8,9组成

十六进制:以0-9,a-f来表示自然数

进制转换

每一个八进制都可以等价替换成三个二进制位。

划分从右向左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位。

当八进制数转换成二进制数时,将上述过程反转,有一点需记住,每一个八进制的书必须对应三位二进制位,如果八进制数在转换时得到的二进制数不够三位,直接在最左边用零补齐。

每一个十六进制位可以等价替换成四个二进制位,跟二进制与八进制的转化规则类似。

实例:

二进制转八进制:0b 110 111 100 011 = 06743

二进制转十六进制:0b 110 111 100 011 = 0b 1101 1110 0011 = 0xde3

八进制转二进制:03533 = 0b 011 101 011 011

八进制转十六进制:03533 = 0b 011 101 011 011 = 0b 0111 0101 1011 = 0x75b

十六进制转二进制:0xeeaa3d = 0b 1110 1110 1010 1010 0011 1101

十六进制转八进制:0xeeaa3d = 0b 1110 1110 1010 1010 0011 1101 = 0b 111 011 101 010 101 000 111 101 = 073525075

原码补码反码

数据类型转换:

位是计算机最小储存单位,但是因为位能表示的数太小了,所以习惯上我们将字节作为计算机存储的最小单位,每一个二进制位称为一个比特(bit),每八个bit成为一个字节(byte)。

单位换算:

8 bit = 1 byte

1024 byte = 1 kb

1024 kb = 1 MB

1024 MB = 1 GB

1024 GB = 1 TB

1024 TB = 1 PB

1024 PB = 1 EB

1024 EB = 1 ZB

负数的表示:

在使用二进制表示数字时,最高位(符号位)不是用来用来表示数字大小的,而是用来表示数字正负的,0代表正数,1表示负数

补码的引入:

在数据运算中由于符号位的存在,符号位会直接参与运算,会导致计算结果出现问题,例如:

8 + (-8)

8 的原码为:0000 1000

-8 的原码为:1000 1000

二者直接相加得:1001 0000 = -16 显然不正确

故为了规避在计算过程中,符号位参与运算,导致结果出错,人们引入了补码,规避了这个问题,在计算机中,所有数据存储与运算,都是以补码的形式进行的

原码:一个数的二进制表示形式

反码:正数的反码与原码相同,负数的反码是原码符号位不变,其他位按位取反

补码:正数的补码和原码相同,负数的补码是反码+1

例,8的原码是:0000 1000,所以他的原码反码补码全是0000 1000

​ -8的原码是:1000 1000,反码:1111 0111,补码:1111 1000

补码运算:

在计算机中,所有数据的存储和运算,都是以补码的形式进行的,因此,在进行数据运算的时候,将数据计算出补码,再进行运算

8 + (-8) = 0

0000 1000 + 1111 1000 = 1 0000 0000

在上述的计算结果中,出现了多出一位的情况,称为溢出。如果出现了溢出的情况,溢出位直接社区不要,即最后的计算结果是0000 0000,结果为0

Java语法基础

标识符的命名规则:

1.由字母,数字,下划线(_)和美元符号($)组成

2.不能以数字作为开头

3.区分大小写

4.长度无限制,但最好不要超过15个字符

5.不能与系统关键字或者保留字重名

标识符的命名习惯:

1.见名知意

2.驼峰命名法

3.包名全部小写,常量字母都大写

数据类型:

在Java当中,数据类型分为两类,基本数据类型和引用数据类型

基本数据类型有:byte,short,int,long,float,double,char,boolean

引用数据类型有:String

字符扩展:

Java字符采用的是Unicode编码,每个字符占两个字节。

常用的字符集:

中国:GBK

美国:ASCII

日本:UTF

unicode:世界统一编码

常见的ASCII码:

0:48

1:49

A :65

a :97

转义字符:

\n : 换行符

\r :回车符

\t:制表符

数据类型划分:

byte < short < char < int < long < float < double

运算符

算术运算符

++:自增

++在前,先自增,再赋值运算

++在后,先赋值运算,再自增

–:自减

–在前,先自减,再赋值运算

–在后,先赋值运算,再自减

无论在前还是在后,变量的值一定发生了改变

逻辑运算符

&:逻辑与,两真为真,有假为假,两假为假

|:逻辑或,有真为真,全假为假

!:逻辑非

^:逻辑异或,相同为假,不同为真

&&:&的加强版,全真为真,有假为假

||:|的加强版,全假为假,有真为真

位运算符

&:按位与,对补码的每一位进行与运算

|:按位或,对补码的每一位进行或运算

^:按位异或,对补码的每一位进行异或运算

~:按位取反,对补码的每一位进行取反操作,包括符号位

<<:位左移运算,将补码的每一位依次向左移动指定的位数(相当于*2的多少次)

》》:位右移运算,将补码的每一位向右移动指定的位数,左侧补符号位(相当于/2的多少次)

三目运算符

布尔表达式/布尔变量?值1:值2

?之前的boolean值若为true,则整体结果为值1,反之为值2

运算优先级

第一级:括号运算符((),[])

第二级:一元运算符(!,+,-)位逻辑运算符(~),自增自减运算符(++,–)

第三级:算术运算符(*,/(求商),%(求余))

第四级:算术运算符(+,-)

第五级:位左移,位右移运算符(<<,>>)

第六级:关系运算符(>,>=,<,<=)

第七级:关系运算符(==,!=)

第八级:位逻辑运算符(&(与))

第九级:位逻辑运算符(^(异或))

第十级:位逻辑运算符(|(或))

第十一级:逻辑运算符(&&(短路与))

第十二级:逻辑运算符(||(短路或))

第十三级:三目运算符(?:)

第十四级:赋值运算符(=)

变量

Java中的变量分为成员变量和局部变量两种,没有全局变量的概念,但由于多数人都是先学的C语言,C语言有全局变量的概念,所以我们把被static修饰的成员变量称为全局变量。

成员变量

  • 成员变量定义在类中,在整个类中都可以被访问。
  • 成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
  • 成员变量有默认初始化值。

局部变量

  • 局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
  • 局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
  • 局部变量没有默认初始化值

转载地址:https://blog.csdn.net/m0_56433040/article/details/117380808 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java基础
下一篇:字符串和正则表达式

发表评论

最新留言

很好
[***.229.124.182]2024年04月13日 20时12分19秒