TX一面的一道算法题 如题:有一个序列a,0 1 2 3...n求另一个序列b,使得b中第i个元素表示ai在b中出现的个数。例如n=9时:a:0 1 2 3 4 5 6 7 8 9b:6 2 1 0 0 0 1 0 0 00在b中出现6次,1在b中出现2次,2在b中出现1次,6在b中出现1次,其他数出现0次。那么对于一个存在n项序列a。a:0 1 2 3 4 5 ... n (7
Google Java编程风格指南 Google Java编程风格指南January 20, 2014作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言
关于JVM中方法调用的相关指令,以及解析(Resolution)和分派(Dispatch)的解释——重载的实现原理与重写的实现原理 JVM中相关方法的调用的指令invokestatic调用静态方法。invokespecial用于调用构造器方法、私有方法、父类方法。invokevirtual用于调用类的所有虚方法。invokeinterface用于调用接口方法。解析(resolution)与分派(dispatch)解析解析调用一定是个静态的过程,在编译期间就完全确定,在类装载的解析阶段
hadoop hdfs API操作 hadoop的hdfs API的基本操作简单的介绍hadoop为我们提供了hdfs非常方便的shell命令(类似于Linux文件操作的命令),再者。hadoop还为我们提供hdfsAPI,使我们开发人员可以对hfds进行一些操作。如:copy文件(从本地到hdfs,从hdfs到本地)、删除文件或者目录、读取文件的内容、看文件的相关信息、列出文件的所有子目录,在文件后面追加内容。(注意:hd
java序列化与反序列化以及浅谈一下hadoop的序列化 1、什么是序列化和反序列化神马是序列化呢,序列化就是把内存中的对象的状态信息,转换成字节序列以便于存储(持久化)和网络传输。(网络传输和硬盘持久化,你没有一定的手段来进行辨别这些字节序列是什么东西,有什么信息,这些字节序列就是垃圾)。反序列化就是将收到字节序列或者是硬盘的持久化数据,转换成内存中的对象。2、JDK的序列化JDK的序列化只有实现了serializable接口就
生产者与消费者 1、生产者与消费者问题的描述一个或者多个生产者,一个或者多个消费者。生产者在一条生产线不停地生产产品,消费者们不停地消费产品,需要注意的是这里的生产线属于临界资源(Critical Source).当生产线的产品生产满之后,生产者不能再往生产线生产产品,当生产线为空时消费者不能往生产线消费产品。生产线里面有两个方法,生产和消费,这两个方法都临界区(Criti
死锁的三种形式:一般死锁,嵌套管程锁死,重入锁死 死锁的总结死锁的定义:死锁一般是指两个(或两个以上)线程同时竞争两个(或者多个)资源,从而产生同时等待的现象,使得系统僵持不动。顺便复习一下线程与进程的定义以及他们之间的区别。进程:一个有独立功能的程序利用某些数据资源的一次远行过程。线程:一个进程里面的一条执行路径(或者执行过程),同一条进程下的n多条线程之间可以互相通信(共享数据)。区别:
7月28到8月底的计划 学习内容 日期工作时间 晚上时间 7.28~8.01部署CDH,并且可以开发Mapreduce Demo,看hadoop文档看《剑指offer》,并发编程的那个目录,看完!8:30
一个简单的java回调函数的实现 回调函数回调函数涉及的3个函数登记回调函数回调函数响应回调函数简单的解释你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做
随机数生成算法(伪随机数) 什么是伪随机数,它和随机数的区别伪随机就是一个过程看似随机的,但实际还不是随机的。伪随机数都是有一定的周期性的,如使用24小时里面的一个小时,这个就是伪随机数,或者三角函数的一个角度的三角函数值,因为时有周期性所以是伪随机的。记住一点事要做到真正的随机有:抛硬币,热噪讯号、量子力学的效应、放射性元素的衰退辐射,或使用无法预测的现象等。计算机里面的随机数主要还是用伪随机数来实现的,例如以
数据结构——单链表 单链表及其ADTvoid deleteList(); //删除整个链表List makeEmpty(List l);//清空链表,只留头结点int isEmpty(List l);//判断是否为空int isLast(List l, Position p);//判断是否是最后一个结点List createList();//创建一个链表void insert(List l,
求最大子数组的和,以及求该最大子数组的起始位置和末尾位置 问题描述:一个数组,长度为N,数组元素有负有正,如{-1, 4, 6, -3, 7, -3, -3, 9};我们可以清楚的知道最大的子数组应该是4到9,也就是下标1到下标7,和为17。求解思路:第一种方法:我们可以用定义1、两个数ThisSum和MaxSum来记录当前数组的和,以及数组的最大和。2、我们可以用两个for循环来来遍历数组,每一次求出子数组的最大和,每个子数组从