大数据潜在的问题

1大数据的技术问题 随着海量数据的产生,不确定性也随着增加,数据变得鱼龙混杂,造成数据库变得混乱。 面对非结构化的海量数据,传统的假设检验的科学方法已经不能处理,对于事情的前因后果很难解释。由于大数据的数据价值密度低,很可能因为错误的数据关系

1大数据的技术问题

       随着海量数据的产生,不确定性也随着增加,数据变得鱼龙混杂,造成数据库变得混乱。
       面对非结构化的海量数据,传统的假设检验的科学方法已经不能处理,对于事情的前因后果很难解释。由于大数据的数据价值密度低,很可能因为错误的数据关系而得到不正确的结论,解决这些问题,不仅需要对事物的理解,还需要在分析方法上进行创新。
       数据存储问题。由于大量的数据已经达到了PB规模甚至更大,因此数据存储系统要有相应的扩展能力。
       安全问题。例如金融机构、医疗行业、企业的数据很多是保密的,这对数据的收集而言,是一种阻碍。
       数据的积累。数据不断地产生,以往的数据保存多久才合适。毕竟保存数据是需要昂贵的成本的。
 

2大数据的个人隐私问题

       我们的隐私很容易成为他人制造利益的工具。大数据时代的信息安全问题日渐凸显,手机上连续不断的推送信息,邮箱里推荐你购买的产品,打给你电话问你是否需要买商铺等等,他们是从哪里知道我们信息的,这不仅让我们担忧。有时候可能推送的东西使我们想要的,但是大部分都算得上是骚扰。怎么解决个人隐私问题,到底是隐私重要还是数据重要,怎么才能让这两者不矛盾。关于个人隐私,我们需要建立一种新的思维方式。
大数据潜在的问题

 3构建个人信息安全保障体系

       首先要完善法律法规体系。尽快制定保护个人信息的相关法规。强化监督,加大违法惩治行为的力度。其次是加强行业规范,在医疗、互联网、金融行业等制定公约,加强教育,注重监管。

3.1 Java

       Java是大数据最基础的知识。因为大数据用的linux底层都是用Java编写的。无论之后学习python还是R语言,很多语法和参数类型都和Java很类似。接着介绍一下学习大数据需要掌握的Java知识。

3.1.1 Java语言的特点

       简单性。之所以学习Java,而不是学习C或者C++,就是因为Java与之相比,较为简单,不需要很深奥的专业训练。Java抛弃了C++中许多很少使用、不易理解、容易混淆的特性。例如,Java中没有指针等概念,也不需要#include和define等预处理器,也没有多重继承的机制。
       面向对象性。Java强调的是面向对象的特点。Java可以编制出非常复杂,但逻辑清晰的系统。因为Java具备继承、封装、多态这些通用的特性,通过这些机制,可以实现代码的复用,避免代码的冗余。
       与平台无关性。Java定义了八种基本数据类型,分别是byte,short,long,int,char,double,float,boolean,还有一种引用数据类型string。这些基本数据类型的设计不依赖于具体的计算机和操作系统,增强了程序的可移植性,保证数据在不同的平台上保持一致。
       分布式与安全性。Java是一种分布式程序设计语言,因为Java强调网络特性。通过Java.net包,可以完成不同层次上的网络连接。
       多线程。C和C++是不支持多线程的,它们只能编写顺序执行的程序。Java提供的同步机制可以保证不同线程对共性资源的正确操作。从而提高了程序执行效率,减少用户等待时间,实施网络交互和实时控制的功能。

3.1.2Java基础

       首先安装自己的开发环境,学会操作Eclipse。
       牢记八大基本数据类型,包括整数类型、浮点类型、字符型、布尔类型。学会使用Java运算符,包括赋值运算符、算术运算符、自增和自减运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符的优先级。不同数据类型之间的转换,包括强制类型转换和显式类型转换。

3.1.3Java的流程控制

       复合语句。使用复合语句可以为变量定义一个有效区域。
       条件语句。通过使用if与switch语句,可以将一个程序分成不同的部分。
       循环语句。通过while、do…while循环语句和for语句,可以让一部分程序重复执行,直到满足某个终止循环的条件。
       循环控制。清楚break可continue两个关键字。break是中断循环,continue是执行下一次循环。

3.1.4字符串

       声明字符串。通过调用java.lang包中的String类来创建字符串对象。
       创建字符串,例如String  str = new String(“Hello world”)。
       对字符串进行一系列的操作。如连接字符串、获取字符串长度、获取子字符串、字符串查找、获取制定位置的字符串、去除空格、判断两个字符串是否相等、字符串替换、字符串大小写转换、字符串分割、格式化字符串等。
 

3.1.5数组

一维、二维、多维数组的创建、初始化和使用。
数组的基本操作有:
1.遍历数组
2.对数组进行排序
3.复制数组
4.数组查询
数组的排序算法:
1.冒泡排序
2.直接选择排序
3.反转排序

3.1.6类和对象

       在现实生活中,随处可见的都是对象。人类解决问题的方式总是将复杂的事物简单化。通常会将对象划分为两个部分,静态部分和动态部分。静态部分,就是不能动的部分,这个部分称为属性,任何对象都会具备自身属性,如一个人,其属性就包括身高,体型,性别,年龄等。这些具有这些属性的人会执行那些动作也是一个值得探讨的问题,这个人可以哭泣、微笑、悲伤、跑步,这些都是这个人具备的行为,即动态部分。人类通过探讨对象的属性和观察对象的行为来了解对象。
面向对象程序设计具有以下特点:
l 封装性;
l 继承性;
l 多态性。
       面向对象编程的核心思想是封装。把对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户在使用手机时,只需要使用手指点击屏幕就可以实现一些功能,无需知道手机内部是如何工作的,即使知道手机的工作原理,但是在使用手机时也并不完全依赖于这些细节。
       采用封装的思想保证了类内部数据结构的完整性,使用该类的用户不能轻易的直接操作此数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性。
       两个类之间的关系有很多种,继承是关联中的一种。继承性主要利用特定对象之间共有的属性。对象的创建。在Java中用new操作符来创建对象。
       类是一类事物的统称。如一个人有一张嘴,人可以用这张嘴吃饭,基本上所有的人都有嘴这个特征和吃饭的能力,具有相同特征和行为的一类事物就成为类。类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。
       在Java语言中对象的属性也称为成员变量,成员方法对应于类对象的行为。权限修饰符主要包括private、public、protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问。如果在成员方法内定义一个变量,那么这个变量就被称为局部变量。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。
       类的构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。构造方法的特点如下:
l 构造方法没有返回值;
l 构造方法的名称要与本类的名称相同。
l 在构造方法中科院为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化。
       静态变量、常量和方法。本声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,科院在本类中或其他类中使用类名和“.”运算符调用静态成员。在Java语言中对静态方法有两点规定:
l this关键字在静态方法中不可以使用;
l 非静态方法在静态方法中不可以直接调用。
       类的主方法。Java编译器通过主方法来执行程序。主方法是类的入口点,它规定了程序从哪里开始,主方法提供对程序流向的控制。
主方法具有以下特性:
l 主方法是静态的,所以如果直接在主方法中调用其他方法,则该方法必须也是静态的;
l 主方法没有返回值;
l 主方法的形参为数组。

3.1.7包装类

       虽然Java是可以直接处理基本类型的,但在有些情况下需要将其作为对象来处理,这个时候就需要将其转换为包装类了。八种基本类型及其对应的包装类如下表:

包装类 Integer Long Short Boolean Byte Character Double Float
基本类型 int long short boolean byte character double float

 

3.1.8集合类

List和Set接口是Collection的子接口。
       List集合中,元素有序,可以重复,但是元素可以为空,可以通过索引来进行访问。List的实现类有三个,分别是:LinkedList、ArrayList、Vector。ArrayList是动态数组,特点是增删慢,查询快,线程是不安全的。LinkedList底层是双向列表的数据结构,特点是增删快,查询慢,线程不安全。Vector的底层结构是动态数组,增删慢,查询慢,线程是安全的。
Set集合中,元素是唯一的,元素无序且不可以重复,值可以为空。Set的实现类TreeSet、HashSet、linkedHashSet。HashSet采用哈希数据结构来存储对象,提高了查询效率,但是不保证线程安全。linkedHashSet和HashSet一样,也是无序的,值具有唯一性,多了一个链表来维护插入顺序作为遍历顺序,不保证线程安全。TreeSet元素的存储也是无序,唯一的,底层数据以树形结构存储的,访问或遍历的速度很快,默认按照自然顺序进行存储,不保证线程安全。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.sbvv.cn/chachong/588.html,文章版权申述

(0)
上一篇 2017年9月2日 上午9:59
下一篇 2017年9月3日 下午1:34

相关推荐

My title page contents