自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 Java中Map的遍历方式

Java中Map的遍历方式总结!!!import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapIterator { public static void main(String[] args) { Map map = new HashMap(); map.pu

2016-03-31 21:34:16 387

原创 Java中的String、StringBuffer和StringBuilder区别

Java中关于字符串的类有String、StringBuffer和StringBuilder,然而三者到底有什么区别呢?String:字符串常量。也就是说String是不可变的对象,因此每次对String类型的对象进行更改操作时,实际上是生成了新的String对象,然后修改指针指向新的String对象。因此可以发现,如果经常要改变字符串内容,用String就会造成内存中大量无引用的对象

2016-03-31 14:57:05 916

原创 金额转换

题意描述:将阿拉伯数字的金额转换成中国文字描述的金额,如(¥1011 )-> (一千零一拾一元)输出解题思路:“0-9”阿拉伯数字对应的中文文字分别为“'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'”;中文描述金额时会有单位描述,如个位后面带“元”、十位后面带“拾”等等,并且有这样一个规律:个、十、百、千、万、十万、百万、千万、亿,所以分...

2016-03-29 21:59:11 500

原创 C/C++中指针、引用、数组、链表的区别

指针与数组可以替换使用,容易让人产生错觉二者是等价的,那么二者到底有什么区别呢?数组:在静态存储区被创建或者在栈上被创建,数组名对应着一块内存(而不是指向),其地址与容量在生命期内保持不变,且数组的内容可以改变;指针:可以随时指向任意类型的内存块,“可变”,所以指针更加灵活但也更加危险数组:用标准库函数strcpy进行复制,而不能使用b=a直接复制这将产生编译错误指针:

2016-03-28 22:01:27 1671

原创 C++中const与#define的区别

先上一个典型程序:#includeusing namespace std;int main(){ int num = 1; #define t1 num + num #define t2 t1 % t1 cout << "t2 is " << t2 << endl; // t2 is 2 const int s1 = num + num; const int s2 =

2016-03-28 21:43:13 2096 1

原创 二叉树的建立及层次遍历及前中后序遍历递归与非递归的实现

该例主要展示Java实现二叉树,并实现二叉树的先序、中序和后序遍历public class Node { private int value; private Node left; private Node right; public Node(int value){ this.value = value; } public void insert(int value

2016-03-25 20:53:06 588

原创 求两个升序数组中最小元素差

题意描述:有两个升序的数组A,B 求|A[i]-B[j]|的最小值解题思路:首先想到的是暴力解法,即内外双循环,逐一拿数组中的两元素作差,取最小的min,但这样做的时间复杂度达到了O(m*n)。所以想优化解法,先上代码再解析吧:int GetMinArraySubtraction(int A[], int lenA, int B[], int lenB) { if (lenA == 0

2016-03-24 16:51:34 2284 1

原创 截取字符串

题目要求:编写一个截取字符串的程序,输入为一个字符串和一个字节数字,输出为按字节截取的字符串,保证汉字不被截取半个,如eg:“我ABC”,4 => 截取“我AB”eg:“我ABC汉DEF”,6 => 截取“我ABC”,而不是“我ABC”+“汉”的半个解题思路:那么截取字符串时考虑当前字符是否为汉字的一部分,如果不是汉字则计数字节数直接+1;如果是汉字的一部分,为前半部分时计数字节数不加,如果

2016-03-22 16:37:19 831

原创 LeetCode --- ExcelSheetColumnTitle 、ExcelSheetColumnNumber解题分析

题目描述:Excel表的每一列都是字母,问将其列字母转换成数字比如何转换,将数字兑换成列又如何转换。形式如下:1A2B3C……26Z27AA28AB……解题思路:该题目就是找到数字与字母之间的转换关系。对于给定的数字,1~26为A~Z、27~52为AA~AZ、然后是BA~BZ……所以确定两点:(1)计算时如果数字模26,则26个就对应0,所以应为n%25+1;(2)高位的

2016-03-21 15:51:50 420

原创 文件的复制

题目描述:程序实现将srcDir目录下的所有“.java”结尾的文件复制到desDir目录下,并将后缀名改为“.txt”解题描述:其基本思想就是读srcDir目录下的文件,写到desDir目录下面;同时在读前对文件进行过滤,只读“.java”结尾的文件,写之前将文件目录名的后缀改为“.txt”public class CopyFile { private static void cop

2016-03-21 15:27:38 454

原创 合并内容格式不同的两个文件

题目描述:将文件a.txt中的单词与文件b.txt中的单词交替合并到文件c.txt中,a.txt中的单词用回车符分隔,b.txt中的单词用回车符或者空格分隔思路分析:由于题目明确说明了文件a.txt与文件b.txt的分隔符有所不同,所以考虑新建一个文件类,该类描述文件,属性有单词、分隔符;然后在再建立一个合并文件的类,该类进行交替读写文件操作文件描述类:public class Fil

2016-03-21 10:55:07 1815

原创 “==”与equals方法区别的深入分析

在正式开始之前,先来看一个有趣的程序吧:int a = 100, b = 100;System.out.println(a == b);//(1) trueint c = 1000, d = 1000;System.out.println(c == d);//(2) trueInteger e = 100, f = 100;System.out.println(e == f); //

2016-03-18 11:46:05 465

原创 Java中Vector、ArrayList、LinkedList的区别

List能够用于存放多个元素,维护元素的次序,并且允许元素重复(这一点区别于Set)。在Java中List接口有三个实现类,分别是ArrayList、Vector和LinkedList。3个具体实现类的区别如下:ArrayList:最常用的List实现类,内部是通过数组形式实现的。具有数组形式存储的优缺点:可以对元素进行快速的随机访问,但如果当前存储空间不满足时就要申请新的存储空间并进行复制、

2016-03-16 15:35:54 685

原创 Java中Map接口HashMap与HashTable的区别及HashMap深入理解

HashMap和HashTable都完成了Map接口,实际上HashMap是HashTable轻量级实现(非线程安全的实现),对比于ArrayList和Vector的区别:HashMap和ArrayList都是线程不同步的,即多线程不安全的,但只有一个线程访问时效率相比于另一个要高;HashTable和Vector都是线程同步的,即多线程安全,但相比于上面两个访问效率较低。Ha

2016-03-16 15:29:22 15469 2

原创 Java中synchronized与java.util.concurrent.locks.Lock区别

相同点:Lock能完成synchronized所实现的所有功能区别:Lock比synchronized更精确的线程语义和性能;chronized会自动释放锁,而Lock需要程序员手动释放,而且必须在finally从句中释放。Lock更强大的功能,如tryLock方法可以非阻塞方式去拿锁:import java.util.concurrent.locks.Lock;import java.

2016-03-16 11:54:05 1863

原创 Java中sleep()与wait()区别

学习时正好碰到这两个方法,就查阅相关资料,并通过程序实现,进行区别一下:sleep():正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行。注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!wait():则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了noti

2016-03-16 11:15:13 67063 13

原创 Java中的异常及其处理机制

异常:指Java程序运行时所发生的非正常情况或错误。我们都知道Java是一种OOP程序设计语言,程序中把现实抽象成一个个的对象来处理,而同理对于异常,所有异常的根类为Java.lang.Throwable。Java对异常也进行了分类,Throwable下面派生了两个子类:Error和Exception:Error表示应用程序本身无法克服或者恢复的严重问题、程序自己不能处理,如内存溢出、线程

2016-03-16 09:15:48 490

原创 try...catch...finally块嵌入return

不论C++还是Java中,try...catch...finally语句块都是用来控制程序异常的处理,而finally块是最后一定执行的,那么现在在try...catch...块中加入了return语句,finally仍会执行吗?public class Try_Return_Final { int test(){ int x = 1; try{ return x; }f

2016-03-15 10:36:27 427

原创 super.getClass()方法调用

用Java写程序时,有时我们想得到当前类的名称,而有时候我们又想得到当前类的父类的名称。我们知道得到当前类的名称可以直接调用getClass().gtName()即可,但思考如下程序:import java.util.Date;public class Super_getClass extends Date{ public void test(){ System.out.print

2016-03-15 08:59:47 2669

原创 Java中的continue、break和return

一、continue结束本次循环,进入下次循环for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ if(j == 3) continue; System.out.print("(" + i + "," + j +")"); } System.out.println();}二、break1、break终止本次循环

2016-03-13 14:10:49 473

原创 Java中的&与&&运算符

首先我们都知道,C/C++中“&”有两个作用,一个是取地址,另一个是位操作中的与运算符,当然C++中还有引用的意思;而“&&”是与运算的意思。同理在Java中,“&”和“&&”都可以用作逻辑与的运算符,表示逻辑与(and) ,当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。“&&”还具有短路的功能,即如果第一个

2016-03-13 13:08:12 16697

原创 LeetCode --- Valid Anagram解题分析

题目描述:给定两个字符串,判断是否是字谜游戏。比如: s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false. 解题思路一:只要字符串中所有字母出现次数相同即可判定是字谜游戏,所以统计两字符串各字符出现的次数,如果都相同则返回true,否则返回false:bool isAna...

2016-03-09 20:41:40 862

原创 Python安装第三方库PIL时失败的解决办法

Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库。一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一

2016-03-08 17:26:05 11212 1

转载 传统数据库的运行过程

以查询为例解析传统数据库的运行原理(参考文献):SELECT a1,a2,a3 FROM tableA Where condition 可以看得出来,该语句是由Projection(a1,a2,a3)、Data Source(tableA)、Filter(condition)组成,分别对应sql查询过程中的Result、Data Source、Operation,也就是说SQL语

2016-03-08 10:47:07 1493

原创 LeetCode --- RomanToInteger、IntegerToRoman解题分析

题目描述:罗马数字转阿拉伯数字,阿拉伯数字转罗马数字,数字的范围是1~3999。拿到这个题目,首先得明白罗马数字的书写形式及与数字的照关系,如下图所示:所以,对于罗马数字转阿拉伯数字,可以借用map表中的对的格式进行处理public class Solution { public int romanToInt(String s) { char[] sym

2016-03-07 14:42:38 515

原创 内部排序算法总结

/*** 对排序算法的整理* 1、插入排序:* (1)直接插入排序* (2)折半插入排序* (3)希尔排序* 2、交换排序:* (1)冒泡排序* (2)快速排序* 3、选择排序:* (1)简单选择排序* (2)堆排序* 4、归并排序和基数排序*/本文中的算法实现都对以下序列排序:int[] a = {3,1,5,7,...

2016-03-03 22:19:36 1050

原创 Java虚拟机的内存区域

最近复习Java知识,记录一下程序运行时Java程序中存储数据的5地方,通过对对象的放置、内存的分配进一步理解程序的运行:1)寄存器:最快的存储区,位置处理器内部,但其数量极其有限,所以寄存器应该根据需要进行分配。不能直接控制,也不会在程序中感觉到寄存器的存在,(C和C++中允许程序员向编译器建议寄存器的分配方式);2)堆栈:位于通用RAM(随机访问存储器)中,对象引用存储于堆栈中。通过堆

2016-03-03 10:13:07 475

原创 哈希表的问题总结

一、哈希表哈希表,也称散列表,英文名称Hash Table。是根据关键码值(Key value)而直接进行访问的数据结构,也就是说通过把关键码值映射到表中一个位置来访问记录以便加快查找的速度。这个映射的函数叫做散列函数,存放记录的数组叫做散列表。可以定义为:给定表Table,存在函数F(key),对任意给定的关键字key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表Table为

2016-03-02 22:05:27 2756

原创 计算机系统中的编码问题

一、目前常用的编码因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。由于计算机是

2016-03-01 17:21:46 2451 1

计算机网络第五版

计算机网络第五版

2016-08-20

Redis设计与实现

Redis设计与实现

2016-08-20

Java_TCPIP_Socket编程

Java_TCPIP_Socket编程

2016-07-06

中国计算机学会推荐国际刊物会议列表(数据库数据挖掘与内容检索)

2016-06-20

GroupLens_MovieLens数据集

数据集简介如下:(上传空间有限,这里我只传了一个最新的2016/1的数据集,如果有需要的话到官网下载吧http://grouplens.org/datasets/movielens/) MovieLens 100K Dataset Stable benchmark dataset. 100,000 ratings from 1000 users on 1700 movies. Released 4/1998. MovieLens 1M Dataset Stable benchmark dataset. 1 million ratings from 6000 users on 4000 movies. Released 2/2003. MovieLens 10M Dataset Stable benchmark dataset. 10 million ratings and 100,000 tag applications applied to 10,000 movies by 72,000 users. Released 1/2009. MovieLens 20M Dataset Stable benchmark dataset. 20 million ratings and 465,000 tag applications applied to 27,000 movies by 138,000 users. Released 4/2015. MovieLens Latest Datasets Small: 100,000 ratings and 6,100 tag applications applied to 10,000 movies by 700 users. Last updated 1/2016. Full: 22,000,000 ratings and 580,000 tag applications applied to 33,000 movies by 240,000 users. Last updated 1/2016. MovieLens Tag Genome Dataset 11 million computed tag-movie relevance scores from a pool of 1,100 tags applied to 10,000 movies.

2016-01-14

Spark学习资料

EECS-2014-12,Spark作者的论文

2015-08-14

Hadoop平台搭建步骤

Hadoop平台搭建步骤,这份文档里面详细的讲述了平台的搭建步骤

2014-03-29

spring in action 中文版 后五章

spring in action 中文版 后五章,里面详细描述了spring,提供编程者查阅API

2014-03-29

Visual C++

Visual C++ 面向对象编程教程王育坚

2013-11-06

空空如也

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

TA关注的人

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