自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

原创 《Java1.8源码分析》:HashSet

《Java1.8源码分析》:HashSet 我们都知道HashSet集合是不允许重复元素的,因此这个类的利用什么来保证这个集合里面不会有重复的元素呢?结论是:HashSet是借助于HashMap的key不允许重复这个特性来实现的。想想这个思想确实比较奇妙,是吧,HashMap是操作键值对,而HashSet是操作HashMap的key完成相关操作,或者这么说,HashSet全部的操作是借助于Has...

2018-04-13 01:25:37 228

原创 《Java1.8源码分析》:HashTable

《Java1.8源码分析》:HashTable继承结构public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable继承的是Dictionary类,实现了Map、Cloneable、Se...

2018-04-13 01:08:55 186

原创 《Java1.8源码分析》:HashMap

《Java1.8源码分析》:HashMap概要 HashMap 是一个关联数组、哈希表,它是线程不安全的,允许key为null,value为null。遍历时无序。 其底层数据结构是数组称之为哈希桶,每个桶里面放的是链表,链表中的每个节点,就是哈希表中的每个元素。 在jdk8中,当链表长度为8时,会转为红黑树,以提升它的查询、插入效率。 因其底层哈希桶的数据结构是数组,所以也会涉及到...

2018-04-12 23:47:08 250

原创 《JAVA1.8源码分析》:LinkedList

LinkedList源码分析继承结构public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.SerializableLinkedList继承了Abstrac...

2018-04-12 19:58:30 153

原创 《JAVA1.8源码分析》:ArrayList

《JAVA1.8源码分析》:ArrayList继承体系public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList实现了AbstractList接口...

2018-04-12 17:47:17 160

原创 leetcode题解-128. Longest Consecutive Sequence

题目:Given an unsorted array of integers, find the length of the longest consecutive elements sequence.For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is [1, 2...

2018-04-09 17:37:01 114

原创 从尾到头打印链表

从尾到头打印链表题目输入一个链表的头结点,从尾到头反过来打印出每个结点的值思路 思路1:将链表反转,再从头遍历输出 思路2:从头遍历链表并压栈,再打印栈数据 思路3:递归,从尾到头打印实现代码//思路1,反转链表//改变链表结构,将指针反转public static ListNode reverse1(ListNode headNode){ if(head...

2018-04-05 23:26:36 95

原创 替换空格

替换空格题目题目:请实现一个函数,吧字符串中的每个空格替换成“%20”。例如输入“We are happy”,则输出”We%20are%20happy“。思路 1: 从左到右依次遍历,每遇到一个空格,则将空格替换成%20。不过此每一次遇到空格,都需要移动将空格后面的字符往后移动2位,然后将%20插入。时间复杂度O(n^2),空间复杂度(空格*2) 2:重新分配内存,依次将字符复...

2018-04-05 22:27:44 130

原创 二维数组中的查找

二维数组中的查找题目 题目:在一个二维数组中,每一行都按照从左到右的顺序进行了排序,每一列都按照从上到下进行了排序。 输入这样的一个二维数组arr和一个整数k,判断数组中是否存在这个数。思路 1: 从左上角开始依次遍历寻找,时间复杂度o(n) 2: 利用题目信息,从左到右,从上到下有序。在右上角的值在该所在的行是最大的,在所在的列是最小的,将该值与目标数对比,如果大于目标数,则直...

2018-04-05 22:09:50 95

原创 javaweb--Rest访问(RestTemplate)

Rest访问(RestTemplate)在实际的项目中,往往需要发送一个Get/Post请求到其他的系统(Rest API),比如向人员管理部门请求,然后解析返回信息获取该用户的基本信息等。JDK传统的HttpURLConnection、Apache HttpClient、Netty 4和OkHttp等可以实现访问请求。不过spring的RestTemplate封装了这些操作库,使之更容易使用

2018-02-04 19:38:42 4109

原创 hadoop学习笔记--13.hive 属性配置、交互式命令行和文件系统交互

一、hive 配置文件常见属性 1.在cli命令行上显示当前的数据库名以及查询的行头信息   在hive-site.xml中添加以下配置<property> <name>hive.cli.print.header</name> <value>true</value> <description>Whether to print the names of the

2017-07-31 22:03:57 491

原创 hadoop学习笔记--12.hive DML操作

一、hive DML的基本操作 建议直接参考官方文档: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 1.加载与插入数据LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=v

2017-07-31 21:47:14 331

原创 hadoop学习笔记--11.hive DDL操作

一、hive的数据类型 1.基本类型   整数类型:TINYINT,SMALLINT,INT,BIGINT,以上类型分别对应java中的byte,short,int,long。   小数类型:FLOAT,DOUBLE   布尔类型:BOOLEAN   字符串类型:STRING,VARCHAR,CHAR 2.复杂类型   ARRAY,MAP,STRUCT,TIMESTAMP(DATE)

2017-07-31 20:48:21 323

原创 hadoop学习笔记--10.hive安装与配置

一、hive安装 1.环境要求   1、 Java 1.7或以上   2、 Hadoop 2.x (preferred), 1.x (not supported by Hive 2.0.0 onward). 2.安装配置   Hive没有才有hadoop、HBase或者是Zookeeper的主从架构,所以只用在所需要的机器上安装即可。   1. 解压     tar -

2017-07-31 20:00:06 453

原创 hadoop学习笔记--9.hive初识

一、hive基本介绍   Hive 是建立在 Hadoop 基础上的数据仓库基础构架,可以将结构化的数据文件映射为一张数据库表。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单

2017-07-31 19:42:25 470

原创 hadoop学习笔记--9.HBase基础

一、HBase概述 1.1HBase起源         HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型,它存储的是松散型数据。HBase是bigtable的开源山寨版本.1.2HBase在Hadoop生态体系中的位置         上图描述了Had

2017-07-16 16:40:24 351

原创 hadoop学习笔记--8.MapReduce案例一:简单好友推介实现

一、好友推介概述         好友推荐算法在实际的社交环境中应用较多,比如qq软件中的“你可能认识的好友”或者是Facebook中的好友推介。常见的好友推介算法有六度分割理论,三元闭包论 和最基本的好友推介算法。在这简单介绍最简单的好友推介算法。         假设用户A有好友A1,A2,A3,则A1,A2,A3相互之间都可能通过好友A认识,是潜在的好友关系。如果用户B有好友A1,A2,B1

2017-07-13 21:38:23 1734

原创 hadoop学习笔记--7.MapReduce的工作机制

一、hadoop MapReduce架构         MapReduce的整个架构如上图所示,同HDFS一样,Hadoop MapReduce也采用了Master/Slave架构,其主要由以下4大组件构成。         (1):Client         client节点上运行MapReduce程序和JobClient,负责提交MapReduce作业和用户显示处理结果。

2017-05-30 10:20:35 841

原创 hadoop学习笔记--6.MapReduce的初识

一、MapReduce的概念 1.1 MapReduce的起源         MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。通过对大数据计算模型的封装,使得开发者降低开发难度。基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并且以可靠性高,容错率高的方式并行处理大批数据。 1.2 MapRed

2017-05-29 17:04:45 553

原创 hadoop学习笔记--5.HDFS的java api接口访问

hadoop学习笔记--5.HDFS的java api接口访问一:几个常用类介绍   (1):configuration类:此类封装了客户端或服务器的配置,通过配置文件来读取类路径实现(一般是core-site.xml)。(2):FileSystem类:一个通用的文件系统api,用该对象的一些方法来对文件进行操作。FileSystem fs = FileSystem.get(c

2017-04-14 20:53:29 6600 2

原创 hadoop学习笔记--4.Ubuntu下Eclipse+hadoop开发配置

hadoop学习笔记--4.Ubuntu下Eclipse+hadoop开发配置一:Ubuntu下Eclipse下载安装下载解压即可。tar -zxvf ---二:Eclipse下hadoop插件下载需要与安装的hadoop版本相匹配.三:配置Eclipse1:hadoop插件放置位置将下载的插件放置Eclipse安装目录下的plugins目录下。

2017-04-13 16:07:10 349

原创 Hadoop学习笔记--3.Hdfs分布式文件系统

Hadoop学习笔记--3.Hdfs分布式文件系统一:HDFS概述 1.1HDFS来源          HDFS源自于Google 2003年发表的GFS论文。HDFS是GFS的克隆版。 1.2HDFS的优点         (1):高容错性                    数据自动保存多个副本(可以设置副本的数量,默认为3个)

2017-04-12 19:52:18 518

原创 Hadoop学习笔记-2.Linux上搭建hadoop伪分布式

Hadoop学习笔记-2.Linux上搭建hadoop伪分布式一;Linux环境准备介绍:在虚拟机下运行两个Linux系统(3个表示笔记本带不动)1:修改主机名vim /etc/sysconfig/network(Ubuntu下 :  /etc/hostname )此处本人两个系统分别修改成了hadoop1和hadoop2.2:修改IP   vim

2017-04-12 14:15:34 360

原创 Hadoop学习笔记—1.初识hadoop

Hadoop学习笔记—1.初识hadoop一、Hadoop的发展历史二、Hadoop的基础框架三、Hadoop的生态系统

2017-04-12 13:38:01 976

原创 《java web 学习笔记三》:CSS

css笔记一、css的简介二、css选择器三、css属性四、css盒子模型

2017-01-15 11:03:48 269

原创 《java web 学习笔记二》:html

《java web 学习笔记一》:html一、HTML简介二、HTML基本标签三、html表单标签四、html框架标签及其他

2017-01-14 13:59:16 294

原创 《java web 学习笔记一》:初始Tomcat

《java web 学习笔记一》:初始Tomcat一:Tomcat的简介 windows下Tomcat的下载与安装Linux下Tomcat的下载与安装Tomcat的部署

2017-01-12 14:29:30 713

转载 S3C2440系统时钟

系统时钟MINI2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,也就是说CPU,内存,UART等需要用到时钟频率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,两者速度相差可想而知,就好比牛车和动车。如果CPU工作在12MHz频率下,开发板的使用效率非常低,所有依赖系统时钟工作的硬件,其工作效率也很低,比如,我们电脑里面经常提到的超频

2016-08-09 16:07:37 383

原创 交叉编译工具arm-linux-

1.arm-linux-gcc (与gcc区别是平台不同,arm-linux-gcc编译的文件可以在arm上运行,而gcc编译的不能在arm上执行,能在x86上的执行)编译流程4个步骤 1:预处理 2:编译 3:汇编 4:链接1:预处理阶段:Gcc把头文件(如stdio.h)编译进来,用-E查看指令格式:arm-linux-gcc –E hello.c –o hello.i2:

2016-08-04 10:58:34 364

原创 arm初学者常用软件

软件安装ARM的程序在PC机上编写完成。一般编写ARM程序的软件是ADS,可是在win7下安装总是停在100%,所有就没用了,直接用Linux下编写生成文件就好了。那么在PC机下编译好的文件(一般是.bin文件)怎么发送到Linux上呢。。。这里介绍两个方法。一种是通过usb串口来发送文件(软件一般是dnw),另一种是通过网线来传输文件(软件一般是tftp)。这都是在nor fla

2016-08-04 10:46:40 1848

原创 Linux 基础命令

Linux 基础命令(一)一:用户系统相关命令1:用户切换(su)(1)作用:更改用户 ID 或成为超级用户(2)格式:su [格式] [使用者]  (3)参数:su命令常见参数列表使用者缺省默认为root。(4)使用说明:将普通用户変更为root时,建议使用“-”选项,这样可以将root的环境变量和工作目录同时带入。使用“-”命令,当前环境会传

2016-02-17 12:52:51 252

原创 java开发准备

1:java 分类2:java特点3:java运行机制和JVM4:开发java的准备windows 下jdk配置:Linux下jdk配置:

2015-11-05 14:55:03 462

原创 队列的链式结构

队列的链式结构队列的链式存储结构,其实就是线性表的单链表,只是只能够尾进头出而已。为了操作的方便,我们将队头指针指向链队列的头结点,队尾指针指向终点结点,如下图所示。空队列是,front和rear同时指向头结点。链式队列基本没有满队列。链式队列的类型定义:typedef struct QNode{ Datatype data; struct QNode *ne

2015-10-20 10:34:02 478

原创 循环队列

循环队列如果按照顺序队列存储方法,经过多次出入队列,可能会造成“假溢出”和内存浪费。为了避免顺序队列造成的假溢出,通常用顺序循环队列来实现队列的顺序存储。顺序循环队列表示:1:表示顺序循环队列的两个参数:队头指针front和队尾指针rear2:队列初始化时,front和rear值都为零;3:当队列不为空时,front指向队列的第一个元素,rear指向队列最后一个元素的下一个位置

2015-10-13 21:17:17 646

原创 顺序队列

队列队列和栈一样,都是一种线性结构,,它们都是操作受限制的线性表,其特殊性在于限制线性表的插入与删除等操作的位置。定义:队列是一种特殊的线性表,它包含一个对头(front)和一个队尾(rear)。其中,队头只允许删除元素,队尾只允许插入元素。特点是先进先出(FIFO)。抽象数据类型1:数据对象集合队列的数据对象集合为{a1,a2,……an},每个元素的的类型都是

2015-10-13 16:16:39 622

原创 单链表

线性表的链式表示一:基本概念及定义         在顺序表中,由于逻辑上相邻的元素,其物理位置也是相邻的,因此可以随机存取顺序表的任何一元素,但是插入与删除需要移动大量元素,存储分配必须事先进行分配,事先分配的存储单元大小可能不适合问题的需要。链式的线性表可以解决上述顺序表的缺点。 定义:线性表的链式存储是采用一组任意的存储单元存放线性表的元素,这些存储单元可以是连续的,也可以是

2015-09-30 20:51:49 350

原创 顺序表

线性表的顺序存储结构定义:线性表的顺序存储是指将线性表中的元素存放在一组连续的存储单元中。这样的存储方式使得线性表逻辑上相连的元素,其在物理存储单元也是相邻的。采用顺序存储结构的线性表叫顺序表。线性表存储结构示意图如下由上图可知,只要知道第一个元素的起始地址,就可以得到线性表中任何一个元素的存储地址。用数组描述线性表顺序存储结构代码#define ListSize

2015-09-23 22:44:20 464

原创 线性表概念

线性表基础概念

2015-09-20 20:26:19 1224

原创 计算机网络概述

一:计算机网络1:定义计算机网络是利用通信线路将地理上分散的,具有独立功能的计算机和通信设备按照不同的形式连接起来,以功能完善的网络软件实现资源共享和信息传递的系统。2:基本功能(1):连通性。使上网用户之间可以交换信息,好像是彼此连通一样。(2):共享。即资源共享,包括信息共享,软件共享,硬件共享。3:构成计算机网络由若干结点(node)和连接这些结点的链路(

2015-06-06 08:14:12 629

转载 TCP程序设计

Socket和基本结构体Linux中的网络编程通过Socket(套接字)实现,Socket是一种文件描述符。Socket有三种类型:流式套接字(SOCK_STREAM):使用TCP协议。数据报套接字(SOCK_DGRAM):使用UDP协议。原始套接字(SOCK_RAW):使用IP协议,主要用于新的网络协议的测试等。网络地址在socket程序设

2015-02-16 17:43:34 388

MSP430g2联系程序集合

省电赛准备学习msp430,这是我们各个模块的程序,都已测试通过

2014-08-06

人脸识别代码

这是用opencv来实现人脸识别的原代码,是基于vc++6.0的,人脸识别先要人脸检测,不过人脸检测比较简单,网上随便下一个基本都可以。

2013-02-08

opencv学习好书

这是一本好书,我向信你们你不会错的,为自己的opencv加油,加油,好书

2013-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除