- 博客(56)
- 资源 (5)
- 收藏
- 关注
转载 linux下vim编辑器使用
VIM编辑器的使用(大小写区分)在命令行下输入切换到VIM的目录,打开VIM,按下i进入编辑模式,开始编辑文本,按下esc进入命令模式。初步使用: 打开在图形界面下打开VIM,按下i建,进入编辑模式,编辑文字,按下esc建进入命令模式,按下:wq保存并且退出,注意命令此命令有冒号。 继续使用: Vim 的模式有3种,分为一般模式,编辑模式,命令行切换模式
2014-07-16 10:39:49
581
转载 Linux 快捷键大全
Linux命令行常用的快捷键,在别人的基本增加了一些!编辑命令Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k
2014-07-16 08:57:09
667
转载 Linux 下挂载硬盘的 方法
装虚拟机时空间划小了,于是又加了5G的空间,折腾了半天,挂上去了。整理下弄个笔记,备用。 1. 添加磁盘,查看磁盘状况如果报权限bu[root@db1 /]# fdisk -lDisk /dev/sda: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylindersUnits = c
2014-07-14 10:43:23
756
转载 C语言字节对齐详解
一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些
2014-07-02 23:27:07
552
转载 java垃圾回收机制
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放
2014-05-30 11:18:57
597
转载 数据库三大范式的简要解释
1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 解释: 1NF:原子性 字段不可再分,否则就不是关系数据库; 2NF:唯一性 一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依赖; 不符合第一范式的例子(关系数据库中create不出这样的表): 表:字段1, 字段2(字段2.1, 字段2.2
2014-05-30 10:34:19
1027
原创 一些常见的http状态码
一些常见HTTP状态码为:200 – 服务器成功返回网页404 – 请求的网页不存在503 – 服务不可用常见HTTP状态码大全1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明http状态码 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。http状态码 101 (切换协议) 请
2014-05-30 09:50:47
790
原创 基于Eclipse的Hadoop应用开发环境配置
基于Eclipse的Hadoop应用开发环境配置我的开发环境:操作系统centos5.5 一个namenode 两个datanodeHadoop版本:hadoop-0.20.203.0Eclipse版本:eclipse-java-helios-SR2-linux-gtk.tar.gz(使用3.7的版本总是崩溃,让人郁闷)第一步:先启动hadoop守护进程具体参看:http:
2014-05-27 00:07:40
626
转载 教你如何迅速秒杀掉:99%的海量数据处理面试题
http://blog.youkuaiyun.com/v_july_v/article/details/7382693
2014-05-13 22:16:27
573
转载 从Trie树(字典树)谈到后缀树(10.28修订)
http://blog.youkuaiyun.com/v_july_v/article/details/6897097
2014-05-13 22:15:49
543
转载 搜索智能提示suggestion,附近点搜索
第三十六章、搜索关键词智能提示suggestion题目详情:百度搜索框中,输入“北京”,搜索框下面会以北京为前缀,展示“北京爱情故事”、“北京公交”、“北京医院”等等搜索词,输入“结构之”,会提示“结构之法”,“结构之法 算法之道”等搜索词。请问,如何设计此系统,使得空间和时间复杂度尽量低。题目分析:本题来源于去年2012年百度的一套实习生笔试题中的系统设计题(为尊重愿题,本章主要使用百度搜索引擎
2014-05-13 21:13:36
659
转载 经典shell面试题整理
一、取出/etc/passwd文件中shell出现的次数问题:下面是一个/etc/passwd文件的部分内容。题目要求取出shell并统计次数,shell是指后面的/bin/bash,/sbin/nologin等,如下面/bin/bash出现12次,/sbin/nologin出现3次。[plain] view plaincopyhyn:x:525:500::/h
2014-05-10 11:06:53
6074
原创 提取最长回文子串的java实现
题目描述给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长回文子串为abba。
2014-05-09 22:02:10
5979
1
转载 败者树的java实现
记录败者,胜者参加下一轮比赛,当新的元素到达的时候,log2(K)调整就可以选出胜者,下面的log2(K)代进1式,就可以抵消掉k的影响,从而与k无关,那么我们就可以,通过增大k,减少IO次数,并且不会降低内部归并的效率。算法实现1、一共k路,b[i]对应第i路,比如一共5路 b[0],b[1],b[2],b[3],b[4]对应5路的首元素
2014-05-06 11:44:36
1913
转载 外部排序相关
http://www.cnblogs.com/HappyXie/archive/2012/08/29/2662624.htmlhttp://blog.chinaunix.net/uid-25324849-id-2182916.html
2014-05-04 23:20:32
1529
原创 单链表原地逆置java实现
package edu.pku.ss.test;import java.util.LinkedList;public class ReverseList { public static void main(String[] args) { LinkedList list = new LinkedList(); int temp = 0; for (int i = 0; i <
2014-04-27 17:07:47
1453
原创 字典序全排列输出下一个的java实现
package edu.pku.ss.hlj;/** * 字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 * 12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是 54321。 * 字典序算法如下: * 设P是1~n
2014-04-27 16:03:40
1356
转载 servlet,struts2线程安全问题浅析
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。那在这个实例的全局变量就是共有的,所以servlet线程安全问题主要是由实例变量造成的,
2014-04-27 10:31:55
780
转载 Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
一、Java的反射机制 每个Java程序执行前都必须经过编译、加载、连接、和初始化这几个阶段,后三个阶段如下图: 其中反射所用到的信息 i、加载是指将编译后的java类文件(也就是.class文件)中的二进制数据读入内存,并将其放在运行时数据区的方法区内,然后再堆区创建一个Java.lang.Class对象,用来封装类在方法区的数据结构。即加载后最终得到的是C
2014-04-27 10:11:25
1996
转载 深入浅出讲解单例模式(java实现)
单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的。比如:
2014-04-26 21:31:00
507
原创 斐波那契数列的矩阵分治求法java实现
平时一般求Fibonacci数列都是用递归求的,其实还可以利用矩阵的幂求,如果。为求A的n次幂,使用了分治法,复杂度为O(log(n))。
2014-04-26 18:49:08
1787
转载 柱状图求最大矩形面积
题目描述:给一组非负的整数来表示一个柱状图,设计一个算法获得柱状图中最大矩形的面积。比如,输入如下数据:2,1,4,5,1,3,3 ,其中每个数表示一个柱状条的高度,柱状条的宽度为默认值1,则计算得最大矩形的面积为8,如下图所示。思路很简单,以一个柱形为中心往两边扫描,若旁边的柱形高度大于等于该柱形高度,则继续往两边扫。最后记录往旁边扫描了多少距离。比如图中的系列6,它的高度为
2014-04-22 11:00:44
2433
转载 java classloader讲解二
Java中类的加载过程(如Dog类): 1. 通过类型信息定位Dog.class文件。2. 载入Dog.class文件,创建相应的Class对象。3. 执行父类的静态字段定义时初始化语句和父类的静态初始化块。4. 执行子类的静态字段定义时初始化语句和子类的静态初始化块。5. 当使用new Dog()方式时,在堆上为
2014-04-21 09:49:34
515
转载 java classloader讲解一
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | extension classloader | system classloaderbootstrapclassloader-引导(也称为原
2014-04-21 09:48:18
497
转载 汉诺塔的java实现
汉诺塔问题描述: 假设有三个命名为X(TOWER 1),Y(TOWER 2),Z(TOWER 3)的塔座,在塔座X上有n个直径大小各不相同,依次从小到大编号为1,2,3,...,n的圆盘。现要求将X塔座上的n个圆盘移到Z塔座上并按同样顺序叠排,圆盘移动时必须遵循下列规则:1)每次只能移动一个圆盘;2)圆盘可以插在X,Y,Z中的任意塔座上;3)任何时刻都不能将一个较大的圆盘
2014-04-17 20:41:31
746
转载 java中String,new String,StringBuffer的思考
java.lang.String类对大家来说最熟悉不过了,我们写java程序很少能不用String的。本文讲述如何正确的使用String,内容主要涉及初始化、串联和比较等操作。 首先我们必须清楚的一点是String类是final类型的,因此你不可以继承这个类、不能修改这个类。我们使用String的时候非常简单,通常都是 String s = "hello",但是Java API中同时提供
2014-04-17 18:40:10
376
转载 java实现常用图操作
/** * Title: 图的遍历、最小生成树、最短路径 * * * Description: * * 采用邻接矩阵做为图存储结构,有权无向图,不相连的值为 -1 * * 图的遍历中深度遍历采用递归方法,广度遍历使用辅助队列 * * 最小生成树采用克鲁斯卡尔(Kruskal)算法,使用一数组记录节点的连通情况 * * 图的最短路径采用迪杰斯特拉(Di
2014-04-15 22:32:10
479
转载 Java动态规划 实现最长公共子序列以及最长公共子字符串
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。【问题】 求两字符序列的最长公共字
2014-04-15 22:28:24
3453
转载 JSP自定义标签开发入门
JSP自定义标签开发入门一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与SimpleTagSupport类是JSP2.0中新引入的)。 目
2014-04-08 09:51:52
611
转载 java中的comparable和comparator接口
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。一、Comparator强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。接口方法:Java代码 /**
2014-04-05 17:49:55
513
转载 图的常用算法的java实现
/** * Title: 图的遍历、最小生成树、最短路径 * * * Description: * * 采用邻接矩阵做为图存储结构,有权无向图,不相连的值为 -1 * * 图的遍历中深度遍历采用递归方法,广度遍历使用辅助队列 * * 最小生成树采用克鲁斯卡尔(Kruskal)算法,使用一数组记录节点的连通情况 * * 图的最短路径采用迪杰斯特拉(Di
2014-04-05 17:04:25
483
转载 数组循环移位
数组循环移位将一个含有n个元素的数组向右循环移动k位,要求时间复杂度是O(n),且只能使用两个额外的变量,这是在微软的编程之美上看到的一道题分析比如数组 1 2 3 4循环右移1位 将变成 4 1 2 3, 观察可知1 2 3 的顺序在移位前后没有改变,只是和4的位置交换了一下,所以等同于1 2 3 4 先划分为两部分 1 2 3 | 4,然后将1 2 3逆序,再将4 逆序 得到
2014-04-05 13:14:38
476
原创 最大子段和最大子段积java实现
package edu.pku.ss.hlj;public class MaxSubSumRec { /** * 分治法求最大子段和 * @param a * @param left * @param right * @return */ private static int maxSumRec(int[] a, int left, int right
2014-04-05 11:35:25
985
转载 求最大子段和
最大子段和(一) 问题描述:给定n个整数(可能为负数)组成的序列a1,a2,a3,...,an, 求该序列子段和的最大值例如:X={-2, 11, -4, 13, -5, -2}, 其最大子段和为20最大子段为:11,-4,13解法一:穷举法列举所有的可能,求其中的最大值算法实现如下:Java代码 /* * description:
2014-04-03 22:45:34
1222
转载 主元素问题
一、主元素问题 设T[0..n-1]是n个元素的数组。对任一元素x,设S(x)={i|T[i]=x}。当|S(x)|>n/2时,称x为T的主元素。1) 如果T中元素存在序关系,按分治策略设计并实现一个线性时间算法,确定T[0..n-1]是否有一个主元素。2) 若T中元素不存在序关系,只能测试任意两个元素是否相等,试设计并实现一个O(nlogn)有效算法,确定T是否有一个主元素。进
2014-04-03 09:53:24
1233
转载 linux常用命令(基础)
linux常用命令(基础)1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件eg: ls /usr/manls -la.d表示目录(directory),如果是一个”-”表示是文件,如果是
2014-03-30 15:55:05
452
转载 linux下查看磁盘空间
如果要查看磁盘还剩多少空间,当然是用df的命令了。[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% / /dev/sda1 99M 14M 81M 14% /boot tmpfs
2014-03-30 15:50:29
430
thinking in c++
2009-11-11
ACM杭电一百题及答案
2009-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人