自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (1)
  • 收藏
  • 关注

原创 蚂蚁金服旗下网商银行招聘了

我们是蚂蚁金服旗下网商银行,2015年开业,中国最牛逼的互联网银行,拥有同行最好的分布式java技术、数据智能技术,明星产品有网商贷(大数据融资鼻祖)、余利宝(第2大货币基金,面向商家)、花呗(中国最大信用支付平台)、借呗(中国最大现金借贷平台)等。网商银行前身是阿里小贷,早在2010年就开始了,面向商家提供经营信贷,是大数据融资&场景金融的鼻祖!业务板块分为消费金融(花呗借呗)、小微融资...

2018-03-06 20:17:34 4780

原创 匈牙利算法

匈牙利算法是解决二分图匹配的算法,首先看看什么是二分图。如果一个图是二分图,那么可以将其顶点分成两部分,使得没一条边对应的顶点都分别在两个集合。其充分必要条件是不存在回路或者不存在奇数顶点的回路。判断二分图可用DFS/BFS着色。二分图的匹配:一组边的集合,使得任意两条边都没有公共的顶点。而匈牙利算法可以找到二分图的最大匹配。核心思想是寻找增广路径。摘自别人博客的例子:通过

2016-06-09 20:41:05 2322

转载 SQL体系结构

了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的  1 Connectors指的是不同语言中与SQL的交互 2 Management Serveices & Utilities: 系统管理和控制工具 3 Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求 4 SQL In

2016-05-25 12:10:35 1751

转载 MYSQL优化20条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为

2016-05-25 11:50:42 396

转载 MYSQL 索引

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,

2016-05-24 18:00:08 564 1

原创 java容器

容器是用于持有对象的。最好的持有对象的方法是数组,但是数组的长度固定。容器的顶层接口是Collections, 其中包含List,set接口, Map接口不属于Collections接口的。ArrayList是动态数组,从类的定义上看,public class ArrayList extends AbstractList implements List, Ra

2016-05-04 21:19:38 323

转载 const与指针类型

const int *p = NULL;int const *p = NULL;//完全等价int * const p = NULL//和上面两种情况不同const int * const p = NULL;int const * const p = NULL;int x = 3;const int *p = &x;//p=&y; 正确//*p = 4; 错误//由于c

2016-04-11 17:29:27 1518

转载 java学习--HashMap

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本

2016-03-27 20:35:55 255

转载 spark shuffle

在Spark 1.2.0中,Spark Core的一个重要的升级就是将默认的Hash Based Shuffle换成了Sort Based Shuffle,即spark.shuffle.manager 从hash换成了sort,对应的实现类分别是org.apache.spark.shuffle.hash.HashShuffleManager和org.apache.spark.shuffle.sor

2016-03-20 16:43:38 725

转载 Java学习--String为什么是不可变的

阿里的电面,被问惨了答案一:最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?不可变对象,顾名思义就是创建后不可以改变的对象,典型的例子就是Java中的String类。复制代码 代码如下:String s = "A

2016-03-10 23:53:21 399

转载 java学习--异常

今天阿里电面可被问惨了,问到了之前一直忽略的异常try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看

2016-03-10 23:43:21 323

原创 算法学习--子集

关于子集:题目很简单,给定一个数组,数组每个元素都不重复,要求生成所有的子集。对于没有重复的元素,可以有两种思路:1: 对于每个元素,可以选择放入,或者不放,两种情况都递归下去,什么时候不需要的递归了呢,那就是直到最后一个元素,这个思路有点像找全排列的算法。public class Solution { public List> subsets(int[] nums) {

2016-03-09 13:45:50 698

转载 java学习--内存泄露和内存溢出

Java中也存在内存泄露。当被分配的对象可达但已无用(未对作废数据内存单元的引用置null)即会引起。在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。 

2016-03-06 11:46:08 391

原创 spark RDD 源码阅读笔记

abstract class RDD[T: ClassTag]( @transient private var _sc: SparkContext, @transient private var deps: Seq[Dependency[_]] ) extends Serializable with Logging从上面RDD的类定义来看,创建一个RDD需要的是 spark

2016-02-29 16:30:53 1033

转载 算法学习--高级数据结构

字典树(Trie树)基础模版字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。字典树 – 应用串的快速检索给出N个单词组成的熟词表,以及一篇全用小写英文书写的文章,请你按最早出现的顺序写出所有不在熟词表中的生词。在这道题中,我们可以

2016-02-20 19:16:42 1014

转载 算法学习--模式匹配

模式匹配-BF算法到KMP算法模式匹配    子串的定位操作通常称为串的模式匹配。模式匹配的应用很常见,比如在文字处理软件中经常用到的查找功能。我们用如下函数来表示对字串位置的定位:int index(const string &Tag,const string &Ptn,int pos)    其中,Tag为主串,Ptn为子串(模式串),如果在主串Tag的第p

2016-02-19 14:54:57 866

转载 算法学习--回朔和剪枝

骑士旅游问题问题描述:在一个N*N 格子的棋盘上,有一只国际象棋的骑士在棋盘的左下角,骑士只能根据象棋的规则进行移动,要么横向跳动一格纵向跳动两格,要么纵向跳动一格横向跳动两格。骑士从第一个格子出发,每个格子只能访问一次,能否访问完所有的格子, 请找到一个解决方案。骑士也就是类似中国象棋中的马的走法。这个问题和典型的N皇后问题的比较类似的,都可以通过回溯法来解决。还有其它的解决

2016-02-18 21:40:59 659

转载 算法学习--图论

最大流问题-Ford-Fulkerson算法问题:有一个自来水管道运输系统,起点是s,终点是t,途中经过的管道都有一个最大的容量。求从s到t的最大水流量是多少?网络最大流问题是网络的另一个基本问题。许多系统包含了流量问题。例如交通系统有车流量,金融系统有现金流,控制系统有信息流等。许多流问题主要是确定这类系统网络所能承受的最大流量以及如何达到这个最大流量。如下图

2016-02-18 16:43:12 1105

转载 算法学习--位运算

检测一个数能否被3整除第一个解决方案就是小学就学过的,如果一个数的每个位相加之和能被3整除,则这个数就可以被3整除。例如612各位之和为9,则可以被3整除。但是这个解决方法并不高效,我们需要取得每一位,然后再一个个相加。观察二进制,我们可以找到一个模式来判断一个数能否被3整除。如果所有的偶数位出现1的次数为 even_count, 奇数位出现1的次数为 odd_count,两者

2016-02-17 17:41:05 1517

转载 算法学习--数学相关

欧几里得算法--求最大公约数欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 证明略去了。基本代码实现:int gcd(int a,int b){ if(b==0) return a; ret

2016-02-16 14:45:51 761

转载 算法学习--动态规划

动态规划(DP)通过分解成子问题解决了给定复杂的问题,并存储子问题的结果,以避免再次计算相同的结果。我们通过下面这个问题来说明这两个重要属性:1)重叠子问题2)最优子结构1)重叠子问题:像分而治之,动态规划也把问题分解为子问题。动态规划主要用于:当相同的子问题的解决方案被重复利用。在动态规划中,子问题解决方案被存储在一个表中,以便这些不必重新计算。因此,如果

2016-02-13 18:03:29 3595 2

转载 java学习--常量池

Java内存分配:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM存储:硬盘等永久存储空间---------------------------------------------

2016-02-12 23:17:05 448

转载 算法学习--贪心算法

任务选择问题贪心算法又称贪婪算法是指,在对问题求解时,总是做出在当前看来是最好的选择。当一个问题具有以下的性质时可以用贪心算法求解:每一步的局部最优解,同事也说整个问题的最优解。如果一个问题可以用贪心算法解决,那么贪心通常是解决这个问题的最好的方法。 贪婪算法一般比其他方法例如动态规划更有效。但是贪婪算法不能总是被应用。例如,部分背包问题可以使用贪心解决,但是不能解决0

2016-02-12 17:07:48 4153

转载 java学习--反射

一、什么是反射机制         简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。二、哪里用到反射机

2016-02-11 21:46:56 452

转载 算法学习--排序与查找

二分查找我们都知道二分查找算法,实际上二分查找以及其扩展应用是很广泛的。这里收集了一些和二分查找有关的有趣问题。强烈建议大家看完问题后最小化浏览器,先尝试自己去解决,然后再看代码,问题都不是太难。问题1描述给一个已经排序的数组,其中有N个互不相同的元素。要求使用最小的比较次数找出其中的一个元素。(你认为二分查找在排序数组里找一个元素是最优的算法的吗?)不需要太多的理

2016-02-11 18:17:06 1351

转载 算法学习--栈

包含min函数的栈题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push进栈的元素最先出栈,这种思路设计的数据结构已经不是一个栈了。

2016-02-10 17:36:00 537

转载 java学习--多线程

Java是少数的集中支持多线程的语言之一,大多数的语言智能运行单独的一个程序块,无法同时运行不同的多个程序块,Java的多线程机制弥补了这个缺憾,它可以让不同的程序块一起运行,这样可以让程序运行更加顺畅,同时也达到了多任务处理的目的。  一、线程和进程的概念  现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。  进程是程序的一个动态执行过程,是指一个内存中

2016-02-09 22:20:44 382

转载 java学习--jvm内存初学

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不

2016-02-08 15:42:42 535 1

转载 java学习--内部类

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指

2016-02-08 14:50:49 280

转载 算法学习--二叉树

二分查找树转化为排序的循环双链表输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。例如对于下面的二分查找树:small pointer 其实也就是指向左孩子,large pointer指向右孩子,转化为双链表之后 small pointer应该指向前一个元素,large pointer应该指向后一个元素。

2016-02-06 20:27:18 671

转载 算法学习--线性表

链表反转:链表反转也是比较常见的一个面试题。方法1. 迭代。 分别设置三个指针。第一个指针保持结果,第二个指针指向当前的节点,第三个指针保存下一个节点。static void reverse(struct node** head_ref){ struct node* prev = NULL; struct node* current = *head_r

2016-02-06 17:49:48 744

原创 Scala学习

我们使用最经典的“Hello world”作为第一个例子,这个例子虽然并不是特别炫(fascinating),但它可以很好的展示 Scala 的用法,且无须涉及太多的语言特性。示例代码如下:object HelloWorld { def main (args: Array[String]){ println("helloWorld") }}Java 程序员应该对示例代码的

2016-01-12 15:19:01 491

转载 IntelliJ IDEA 初学

从去年开始转java以来,一直在寻找一款趁手的兵器,eclipse虽然是很多java程序员的首选,但是我发现一旦安装了一些插件,workspace中的项目达到数10个以后,经常崩溃,实在影响编程的心情.今天试用了近年获得众多好评的IntelliJ IDEA 13,感觉焕然一新,记录如下: 一、下载安装http://www.jetbrains.com/idea/dow

2016-01-12 10:45:23 1260

转载 Kafka原理及应用

Kafka剖析(一):Kafka背景及架构介绍Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等

2016-01-09 09:42:20 4402

转载 Spring mvc框架搭建

Spring MVC HelloWorld Using Maven in Eclipse框架下载地址: https://github.com/qinzhaokun/noise.gitJava developers often rely on examples to learn Spring framework. Simple examples are often a key

2016-01-09 09:39:19 456

转载 红黑树原理

R-B Tree简介    R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的特性:(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子

2015-12-27 15:46:46 384

转载 Storm原理

1.1 Storm简介Twitter Storm 是使用 Clojure(发音同 closure)语言实现的。 Clojure 是 Lisp 语言的一种现代方言。类似于 Lisp,Clojure 支持一种功能性编程风格,但 Clojure 还引入了一些特性来简化多线程编程(一种对创建 Storm 很有用的特性)。Twitter列举了Storm的三大类应用:1.信息流处理{Strea

2015-12-09 14:44:07 2097

原创 git如何回退到原来之前一个版本

今天发现master的代码写的不对,不想重写,想直接回退到之前一个版本,然后再把这个版本设置为master,弄了好久,终于弄好了。首选:#create a branchgit branch ttt#step into the branchgit checkout ttt#back to some commitgit reset --hard HEAD^^#push new

2015-11-20 23:24:50 4900

转载 linux bash shell 学习

bash shell文件的开头:#!/bin/bash一个简单的bash例子,在屏幕中输出Hello World#!/bin/bash echo "Hello world!"一段简单的Shell首先来一段简单的Shell脚本,整体上对Shell有一个简单的认识。#!/bin/bashcd ~ # 切换到用户的主目录,也就是/home/xxxmkdir

2015-11-17 11:14:21 362

原创 linx命令笔记

删除文件:rm -f /var/log/httpd/access.log  #强制删除,不错提示rm -rf /var/log/httpd/access   #强制递归删除文件夹下的所有文件,不做提示复制文件:cp [options] - a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。- d 拷贝时保留链接。- f 删除已经

2015-11-05 11:25:58 713

wifi技术简介

wifi的发展史已经应用前景,对写论文很有用的

2012-04-29

空空如也

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

TA关注的人

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