自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大鱼

O ever youthful, O ever weeping.

  • 博客(211)
  • 资源 (110)
  • 收藏
  • 关注

原创 密码学:RSA加密算法详解

RSA算法一直是最广为使用的"非对称加密算法"。本文旨在说明RSA加密算法的原理及实现,而其相关的数学部分的证明则不是本文内容。

2016-02-29 18:03:37 56300 3

原创 Python代码优化及技巧笔记(一)

前言这里是记录一些本人在开发过程中遇到的一些细节问题,与君共勉。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Q-WHai链接:https://qwhai.blog.csdn.net/article/details/50736887来源:CSDN1.Python实现全排列方案一:a = [1...

2016-02-25 17:21:03 4780 1

原创 JSunpack-n模拟WireShark拦截文件传输

在前面的实验里我们进行了JSunpack-n的安装及其简单使用。JSunpack-n还有另外一些功能需要进行测试试验,因为本人也是刚接触这些东西。本文就其中一个“功能点”进行实验。

2016-02-24 00:47:13 2520 1

原创 JSunpack-n的安装与简单使用

从JSunpack-n的名称上我们就可以顾名思义,这是一个与JS相关的工具框架。JSunpack-n是用于解析JS脚本。

2016-02-16 15:54:15 3099

原创 排序算法系列:奇偶排序算法

在上一篇中我们说到了**冒泡排序**的原理及实现详解。冒泡排序是一种交换排序,本文还是接着上一讲,说说另一种交换排序算法——奇偶排序。

2016-02-01 13:24:53 25817 4

原创 排序算法系列:冒泡排序与双向冒泡排序

**排序算法**应该算是一个比较热门的话题,在各个技术博客平台上也都有一些博文进行了一定程度的讲解。但还是希望能从自我完善的角度出发,可以更详细、全面、形象地表达这些算法的精髓。本文就先从最简单的冒泡排序开始说起,别说你已经彻底了解了冒泡排序算法(虽然一开始我也是这样以为的)。

2016-01-29 15:25:32 36403 16

原创 Java:如何正确地使用异常详解

Java中的异常机制是一个好东西。不过好东西也要正确地使用才行,不然就会让我们错误地认识它。在错误地认识状况下,就会错误地使用。这样就成了一个恶性地循环了。这不是我们愿意看到的。不要以为我们已经可以很好地使用异常了,下面就针对部分问题作一个讲解。这部分的问题中,有一些是来自《Effective Java》这本书中,有一部分是来自本人平时开发过程中遇到的。

2016-01-19 13:44:03 5988

原创 操作系统:基于页面置换算法的缓存原理详解(下)

作为一个学计算机的一定听过缓存(注意这里是缓存,不是缓冲)。比如我们在登录网页时,网页就可以缓存一些用户信息;比如我们在写界面代码的时候,可能就会遇到界面的绘制是基于一些缓存算法的。所以,了解一下缓存算法的原理还是有必要的。

2016-01-13 13:40:06 3627

原创 操作系统:基于页面置换算法的缓存原理详解(上)

作为一个学计算机的一定听过缓存(注意这里是缓存,不是缓冲)。比如我们在登录网页时,网页就可以缓存一些用户信息;比如我们在写界面代码的时候,可能就会遇到界面的绘制是基于一些缓存算法的。所以,了解一下缓存算法的原理还是有必要的。

2016-01-07 13:05:57 6544 1

原创 Java设计模式——适配器模式

我们总是在一件事情上有一些为难。一个比较经典的案例就是,比如我有一个双孔插座,但是我的电脑是三脚的插头,我怎么把这个三脚插头插进这个双孔插座里面去?

2016-01-05 19:31:18 2540 1

原创 基于正态分布的图片高斯模糊算法

高斯模糊也叫做高斯平滑,是一种图像平滑处理的技术。高斯模糊算法的原理是选取一个中心点,以及一个半径周围的所有点,再计算这些像素点的平均值,这个值就是目前这个中心点的值了。这样实现的效果是可以降低图像中的噪音干扰,以达到忽略图像中的细节的目的。

2015-12-31 13:21:33 3987

原创 数据结构:关于AVL树的平衡旋转详解

前言 本文是基于你已经有一定的二叉排序树知识。如果你还是小白,可以参考我之前的博客:《数据结构:二叉搜索树(BST)的基本操作》。所以,在本文中不会再出现关于BST树的基本知识。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Q-WHai发表日期: 2015年12月28日链接:https://qwhai.blog.csdn.net/ar...

2015-12-28 12:49:20 28283 1

原创 算法:关于生成抽样随机数的这些算法

这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的。本文主要是针对抽样这一行为进行的,而抽样本身有一个隐含的规则就是不要有重复数据。好了,有了这些说明。你可以先尝试着用一些自己的想法来实现不重复地生成随机数。

2015-12-22 13:28:51 9020 5

原创 数据结构:二叉搜索树(BST)的基本操作

概述 学习过数据结构的童鞋都应该知道,对树的操作是一些最基本的技能(本文是对后面要写B树、B-树、B+树的一个前导,已经熟悉的朋友可以跳过了)。而在树结构中,二叉树又是最基础的。虽然这些知识是比较基础的,不过对于BST的操作中,删除是一个相对比较麻烦的。这对于新手来说可能不太好理解,下面就以BST中节点的删除为主,其他操作为辅的策略来编写本篇文章。希望对你能有所帮助。版权说明著...

2015-12-21 16:36:56 4091

原创 Java设计模式——代理模式

前言 上一篇说到了策略模式。单类图上来说,它和本篇要说的代理模式还真是有些像似。都需要一个公共的接口,还有一些实现类。代理类(包装类)封装了一个接口对象,提供客户端调用。这些都很类似。不过,有一个细节需要我们注意一下,那就是这里的代理类也需要去继承这里的公共接口。而在策略模式中,包装类则不需要这么做。概述 代理模式就是定义一个原对象的代理对象,来帮助原对象和系统之外的业务作沟通。也...

2015-12-19 22:49:12 2774 1

原创 Java设计模式——策略模式

策略模式其实是为了解决,针对同一个问题有多个不能的解决方式,也就是说提供了多种不同的解决策略。比如,我们对一个数组进行排序。那么这里就有冒泡排序、快速排序、归并排序等等不同的算法,这里我们就可以说这些是不同的策略。可以把这些不同的排序算法设计成策略模式。

2015-12-16 13:37:15 2881 1

原创 Java设计模式——Builder模式

builder模式的使用目的是为了将构建复杂对象的过程和它的部件解耦。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2015-12-11 13:47:23 5237 2

原创 Java设计模式——工厂模式

前言 工厂模式是一种比较常见的创建模式。有时,可能你使用了工厂模式而你却还不知道你已经使用了它。至少我感觉下面说的第一种简单工厂模式,你是已经很熟悉了。并且是经常使用的。不信,就继续向下看。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。本文作者:Q-WHai发表日期: 2016年4月14日本文链接:https://qwhai.blog.cs...

2015-12-10 09:37:55 50261 8

原创 网络爬虫:基于对象持久化实现爬虫现场快速还原

在上篇中,我们说到可以使用布隆过滤器可以很好地实现URL的去重操作。可是,如果在某一个时刻我们不小心中止了爬虫的继续运行。这个时候要怎么办呢?

2015-11-27 15:53:02 2086

原创 Java设计模式——观察者模式

本文通过两个实例(分别是“气象观测站”和“计时器应用”),对Java设计模式中的观察者模式做一个详细的说明。

2015-11-25 00:35:51 19578 6

原创 数据结构:关于重建二叉树的三种思路

前言: 前几天在温习《编程之美》这本书的时候,看到了二叉树的重建。正好,也想复习一下数据结构的知识,就来写了一个小Demo。居然有新发现(本文中的第三种方式)。 我们在学习数据结构的时候,肯定可以很轻松地编写对二叉树的三种遍历过程。分别是前序、中序和后序遍历。 这里要说的不是对二叉树遍历,而是要通过一些遍历过程来重建一棵二叉树。比例,告诉你有一棵二叉树前序遍历的结果为:ABC;中...

2015-11-24 00:27:46 16148

原创 操作系统:进程调度算法详解之FCFS和SPF篇

我们在编码开发的时候,就是在跟进程打交道。不过,可能由于一些高级语言的封装,我们在开发的过程可能感觉不到我们的代码对进程的创建或调用过程。当然,这也不是本文的重点。但是,操作系统却不能不理会进程。下面我就使用Java开发语言来模拟一下进程在操作系统中的调度过程。

2015-11-20 08:55:56 43291 2

原创 Java反射机制浅析

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2015-11-17 22:03:58 997

原创 数据挖掘:基于TF-IDF算法的数据集选取优化

前言: 此前在做一个关于文本分类的小调研。本人使用的是基于朴素贝叶斯的文本分类算法,关于朴素贝叶斯的文本分类更多的内容,请参见《数据挖掘:基于朴素贝叶斯分类算法的文本分类实践》. 不过在做朴素贝叶斯的时候,我遇到一个问题。因为贝叶斯的算法有一个阶段是关于数据训练的,这个用于训练的数据集是一个比较头疼的问题。要怎么选择这些数据集呢?人工手打上去吗?是不是有一点不太实际。下面,我就基于这一...

2015-11-17 13:51:46 7966 1

原创 Java连接FTP服务器并且实现对其文件的上传和下载

概述  FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。FTP作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。本文就主要针对这两个操作来进行说明(当然,也包括FTP服务器的连接...

2015-11-12 17:46:26 53481 6

原创 开源项目托管GitHub的使用详述

关于Git的使用,网上确实有一些教程跟说明,不过在我使用这些教程的过程中,也是遇到了一些问题。可能是版本问题,可能表述有Bug,总之,网上提供的方法,我没有运行成功。所以这里还是另外记录一篇笔记,希望对你也能有所帮助。

2015-11-10 12:07:41 1126

原创 VHD(Virtual Hard Disk)的解析(上篇)——PyVinil的使用

VHD 是Microsoft Virtual Hard Disk format(微软虚拟磁盘文件)的简称。可以由Microsoft Virtual PC2007,Windows Vista,Windows 7/8,Hyper-V,Windows Server 2008R2/2012,Microsoft Virtual Server 2005等创建,Virtual Box,VMWare等可以挂载使用。VHD文件格式可以被压缩成单个文件存放在宿主机器的文件系统上,主要包括虚拟机启动所需系统文件。

2015-11-09 09:42:36 6353 1

原创 Trie树进阶:Double-Array Trie原理及状态转移过程详解

Trie树本身就是一个很迷人的数据结构,何况是其改进的方案。在本博客中我会从DAT(Double-Array Tire)的原理开始,并结合其源代码对DAT的状态转移过程进行解析。如果因此你能从我的博客中有所收获或启发,It's my pleasure.

2015-10-22 15:54:53 23492 7

原创 大数据算法:对5亿数据进行排序

0.前言:在大数据研究的路上,我们总要对一些很大的数据进行各种各样的操作。比如说对数据排序,比如说对数据统计,比如说对数据计算。而在大量的数据面前,我们总是束手无策,因为我们无法在限定时间的情况下,在效率上做到让人满意,也无法在限定空间的情况下,能够快速解决问题。可能我们在一些日常的开发过程中,没有遇到过这些问题。不过,现在是时候来考虑一下这样的问题了。因为,现在正值大数据的时代。在本文中...

2015-10-19 23:32:03 44584 8

原创 数据结构:字典树的基本使用

概述: 说来也奇怪,最近碰到的很多问题都需要用字典树来解决,索性就来研究一番。在这篇博客中,我会通过一些实例来讲解一下字典树的一些基本使用。例如:创建、添加、查找、按字典序排序、按数值大小进行排序(对于一些数值序列的排序)等等。关于字典的实际应用实例,请参见本人的另一篇博客:《算法:两种对拼音进行智能切分的方法》本文链接:http://blog.csdn.net/lemo...

2015-10-19 00:20:54 15618

原创 算法:两种对拼音进行智能切分的方法

前言:  最近在做一个调研的工作。研究的对象是搜索引擎中关键词的纠错功能。就像百度中搜索某一个关键词“ABC”,它会在搜索的结果中对此关键词进行纠正,然后会显示:你要找的是不是“ABD”。这种之类的。这个是背景,不过本文中还没不是介绍这一功能,这一功能的说明会在我的调研结束之后写在我的博客中。  本文要介绍的是,对拼音的拼写进行智能切分。比如:qinshimingyuezhijunlint...

2015-10-13 08:48:34 10051 3

原创 算法:程序设计之并查集

之前一直都是听说并查集,感觉是一个神乎其技,狂拽酷炫。却没有想过在自己学习并查集之前,自已在解决问题的时候也能够想到一个和并查集异曲同工的方法。这个还是很愉快的。

2015-09-27 23:58:38 1691

原创 数据挖掘:基于朴素贝叶斯分类算法的文本分类实践

如果你想对一个陌生的文本进行分类处理,例如新闻、游戏或是编程相关。那么贝叶斯分类算法应该正是你所要找的了。贝叶斯分类算法是统计学中的一种分类方法,它利用概率论中的贝叶斯公式进行扩展。下面我们就针对朴素贝叶斯分类算法,进行原理浅析和文本分类实践。

2015-09-17 22:59:12 6149

原创 算法:模式匹配之KMP算法

昨天看到《算法导论》里的第32章:字符串匹配,说到一个关于字符串匹配的很好的一个算法KMP。关于什么是KMP以及KMP的来源,不是本文的范畴,请读者自行查阅相关资料。本文主要是来说明KMP算法的思路和过程,以及它相比朴素的字符串模式匹配有什么优势。

2015-09-16 13:47:48 4541

原创 网站分类前导:获取网站标题和描述及对相关信息进行分词处理

之前,笔者做过一些关于网络爬虫的东西。而且爬取的效果还可以。不过还有一些爬虫的博客没有完成,在后期会将其更新完成。而之前的爬虫只是对网页中的URL进行提取,我想做的效果是能对这些网页进行分类。而分类的前提是我们能够依据一些可信文本,对这些文本进行分词,再通过这些分出来的词再进行分类(如:贝叶斯分类器)。而本文就是对网页分类的前导学习——中文分词学习。

2015-09-15 10:20:36 3317

原创 网络爬虫:URL去重策略之布隆过滤器(BloomFilter)的使用

最近被网络爬虫中的去重策略所困扰。使用一些其他的“理想”的去重策略,不过在运行过程中总是会不太听话。不过当我发现了BloomFilter这个东西的时候,的确,这里是我目前找到的最靠谱的一种方法。

2015-08-25 22:45:19 26413 9

原创 网络爬虫:采用“负载均衡”策略来优化网络爬虫

这里说的负载均衡并非大家熟悉的网络中的负载均衡。只是这里我使用了和负载均衡同样的一种思维来优化程序罢了,其实就是压力分摊。

2015-08-24 18:44:04 2953

原创 网络爬虫:分离生产者和消费者来优化爬虫程序

基于前面的一些工作(可参见笔者前面的相关博客),我们取得了一些成果。不过存在的问题又总是会让人坐立不安。本文通过分离生产者、消费者以及引入连接池技术来优化爬虫程序。解决前面说到的数据库连接数过大、程序长时间运行OOM的情况。

2015-08-21 16:52:34 4743

原创 MySQL存储结构的使用

今天公司老大让我做一个MySQL的调研工作,是关于MySQL的存储结构的使用。这里我会通过3个例子来介绍一下MySQL中存储结构的使用过程,以及一些需要注意的点。

2015-08-20 13:23:08 4476

原创 网络爬虫:使用多线程爬取网页链接

经过前面两篇文章,你想大家应该已经知道网络爬虫是怎么一回事了。这篇文章会在之前做过的事情上做一些改进,以及说明之前的做法的不足之处。

2015-08-17 18:59:47 12119

Android EasyTouch

Android EasyTouch 快捷

2015-07-13

Demo-NetCommunication

这里是对之前的Python访问Mysql数据库代码的一个优化程序。

2015-07-07

Android二维码扫描原版和修正版本

Android二维码扫描原版和修正版本:包含Google原版代码和修改后的版本。

2015-06-30

Android程序监听自身被卸载

Android程序监听自身被卸载后打开浏览器

2015-06-30

Android监听自己的程序被卸载

Android通过调用C来监听自己的程序被卸载。

2015-06-26

Android 图灵机器人

图灵机器人 智能 聊天 识别 Java Android

2015-05-27

Android涂鸦及刮刮乐示例

Android涂鸦及刮刮乐示例

2015-05-25

Android控件ActionBar浅析及适配2.x的方法介绍

Android控件ActionBar浅析及适配2.x的方法介绍

2015-05-25

DemoFingerErase

Demo Finger Erase 涂鸦

2015-05-22

Java设计模式-装饰者模式

本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。——《Head First 设计模式》

2015-05-20

QQ数字提示的粘连效果

高仿QQ数字提示的粘连效果 内含两个相关demo示例

2015-05-20

自定义广告控件

Android 自定义实现广告控件 欢迎下载

2015-05-20

Android手势识别-多点触控

Android手势识别-多点触控。 包含在画布中的多点触控和利用多点触控实现图片的放大和缩小

2015-05-20

DemoSwipeLayout

Demo SwipeLayout QQ 滑动删除

2015-05-19

AndroidRecyclerViewSample

实现RecyclerView的上拉和下拉刷新

2015-05-18

AndroidDemoRecyclerView

RecyclerView 是 android-support-v7-21 版本中新增的一个 Widgets, 官方介绍 RecyclerView 是 ListView 的升级版本,更加先进和灵活。

2015-05-18

Java各种排序算法Demo

这里包含了使用Java编写的各种排序算法

2015-05-14

Java设计模式——观察者模式

Java设计模式——观察者模式的两种情况。

2015-05-04

DemoAndroidEventBus

Demo Android EventBus 事件总线 退出程序

2015-04-23

Python访问MySQL并实现增删改查

使用Python访问MySQL并实现增删改查

2015-04-21

MapReduce多路径输入输出

这是 MapReduce 的多路径输入输出示例代码。有关大数据的相关文章可以阅读我的专栏:《大数据之Hadoop》 http://blog.csdn.net/column/details/bumblebee-hadoop.html

2016-06-18

RSA加密算法源码

RSA加密算法源码 详情参见:http://blog.csdn.net/lemon_tree12138/article/details/50696926

2016-02-23

RSA算法源码

使用Java实现RSA加密及解密算法。详情参见: http://blog.csdn.net/lemon_tree12138/article/details/50696926

2016-02-19

Java实现与FTP服务器的数据传输2

Java实现与FTP服务器的数据传输。 其中包含了两种实现方法。详情请参见本人博客: http://blog.csdn.net/lemon_tree12138/article/details/49777467

2015-11-12

Java实现与FTP服务器的数据传输

Java实现与FTP服务器的数据传输 详情参见:http://blog.csdn.net/lemon_tree12138/article/details/49777467

2015-11-11

Aho-Corasick自动机实现

更多关于AC算法和AC自动机的说明,请参见 http://blog.csdn.net/lemon_tree12138/article/details/49335051

2015-10-23

DoubleArrayTrie(双数组Trie树)

关于本源码更详细的解释说明,请参见:http://blog.csdn.net/lemon_tree12138/article/details/49281865

2015-10-22

字典树(Trie)的基本使用

包含了对字典树的多种操作。详情请见本人博客:http://blog.csdn.net/lemon_tree12138/article/details/49177509

2015-10-16

算法:Java对拼音进行智能切分

关于代码的详细说明博客地址:http://blog.csdn.net/lemon_tree12138/article/details/49074809

2015-10-13

数据挖掘:基于朴素贝叶斯定理的文本分类实践(Java)

数据挖掘:基于朴素贝叶斯定理的文本分类实践(Java)

2015-09-17

模式匹配之KMP算法(Java版)

本文档为使用Java代码实现了: 1.朴素的字符串匹配算法; 2.KMP字符串模式匹配算法 详细说明请参见博客: http://blog.csdn.net/lemon_tree12138/article/details/48488813

2015-09-16

获取网站标题和描述及对相关信息进行分词处理

这里包含两个项目工程一个是获得网站中的标题和描述,另一个是对一个文本进行分词操作。具体博文详情可以在本人博客中参考:http://blog.csdn.net/lemon_tree12138

2015-09-15

apache-nutch-1.4-bin.tar.gz

Nutch 是一个开源Java 实现的搜索引擎。这里是它的安装包。

2015-08-17

图的深度和广度遍历(Java实现)

使用Java实现图的深度优先和广度优先遍历算法

2015-08-06

RecyclerView中嵌套CardView

在RecyclerView中嵌套CardView

2015-08-04

Android利用贝塞尔曲线实现点赞效果

Android利用贝塞尔曲线实现点赞效果

2015-08-04

算法之动态规划初步(Java版)

算法之动态规划初步(Java版) http://blog.csdn.net/lemon_tree12138

2015-08-04

Python的pycrypto模块安装包

里面包含了paramiko-1.7.7.1.tar和pycrypto-2.4.1.tar

2015-07-29

Android轻量级的提示控件:Snackbar

Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。

2015-07-16

Android滑动返回

SwipeBackLayout 滑动返回 Android

2015-07-15

空空如也

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

TA关注的人

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