文章列表 - 高飞网
文章列表

图片识别——感知哈希算法 2017-01-17 20:24:31

所谓感知哈希算法(Perceptual hash algorithm,PHA),它是用于对多种格式的数据生成一个指纹的算法。当然本文只讨论图片格式。感知哈希不同于密码哈希(如md5云云),它对于相似特征的输入,会有相似的输出;而密码哈希,依赖于雪崩效应,对于非常微小的输入,都会...

图片识别——均值哈希算法 2017-01-17 17:13:25

均值哈希算法(Average hash algorithm,AHA)第一次是从著名的阮一峰阮老师的博文《相似图片搜索的原理》看到的。而此篇文章与阮老师也很类似Looks Like It - The Hacker Factor Blog。这里不对原谅做摘抄,有兴趣的自己看一下,在此对学习过程中的心得和遇到过的问...

图片识别——需求篇 2017-01-17 16:23:23

最近由于工作的关系,学习一些关于图片识别的知识,并将之成功用于解决实际问题当中,在此一一记录下来,以备后用,同时希望对大家有用。场景 企业端用户在注册时,会上传一下公司的Logo。上传的步骤是:选择本地Logo图片,点上传,图片被上传至公司图片服务器(此...

各种数据库随机读取n条数的方法 2016-12-23 13:15:57

数据库sqlMySqlselect * from tablename order by rand() limit 10SQLServerselect top 10 * from tablename order by NEWID()accessSELECT top 10 * FROM tablename ORDER BY Rnd(FId) Oracleselect * from (select * from tb_phone_no order by sys_guid()) where ...

用逆波兰表达式解决四则运算 2016-12-22 11:10:34

逆波兰表达式,是利用数据结构“栈”,巧妙的解决复杂的四则运算问题的。本文用java来实现加减乘除运算,关于逆波兰表达式的原理说明,请参考:四则运算表达式求值运算符的判断逻辑/** * 运算的元素,包括操作符、括号、运行数 * * @data Dec 22, 2016 10:55:33 ...

单链表相关问题 2016-12-16 22:37:41

删除给定结点,要求O(1)时间复杂度思路 正常情况下,如果我们想删除某个节点,由于结点是单向的,因此首先要查找到该结点在链表中的位置,如下图所示,如果想删除结点q,那么我们先要找到它的前继结点p,通过将前继结点p的指向域指向q-next,来把q结点删除。因为这...

如何判断两个链表是否相交 2016-12-16 17:13:45

有两个单身链表,假设他们没有环,如何判断两个链表是否相交?如何判断两个链表是否相交思路 根据单链表的定义,每个结点最多只有一个后继结点,可能没有后继结点(如尾结点)。因此,如果两个单链表相交,那么只有可能是下面的第三个情况: 即,如果两个链表相交...

如何判断单链表有环 2016-12-16 07:58:26

假定有一个单向链表,如何判断它是否有环?如果有环,如何确定环的连接点在哪?如何算出环的长度?如何算出带环链表的长度?如何判断单向链表是否存在环? 对于一般的单链表(无环的)来说,头指针指向头结点,其他结点除了保存数据项外,有一个指针指向下一个结点...

Java利用正则提取一行中多个目标 2016-12-09 18:09:25

现在有如下的字符串:lt;abc@163.com23gt;lt;abc.all@163.comgt;lt;abc_des@163.comgt;lt;abc123@163.com我们想提取其中的邮箱。使用正则:;([a-z0-9_\\.]+@163.com)正则的含义为:以;开始,以@163.com结束,邮箱名规则为a-z的字母、0-9数字、下划线或.。由于.在正则...

JavaMail实战——内容解析,如何去除历... 2016-11-29 15:09:07

这个问题不太好描述,因此还原一下场景: 看下面的邮件,这封邮件是对之前一封邮件的回复,因此在内容上就把之前邮件的内容也附加上了,那如果想只取本次邮件内容,该怎么做呢? 笔者在JavaMail API和邮件协议上都没有找到好的解决办法,有对邮件协议深刻了解的同...

JavaMail实战——内容解析(包含文本、... 2016-11-29 15:06:05

邮件内容的解析,包括:发件人收件人:收件人、抄送人、秘密抄送人主题发送时间接收时间消息id消息所在文件夹消息内容:文本内容和图片,暂时不包含附件 import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io....

MIME类型完整列表 2016-11-27 09:44:37

后缀媒体类型和子类型.3dmx-world/x-3dmf.3dmfx-world/x-3dmf.aapplication/octet-stream.aabapplication/x-authorware-bin.aamapplication/x-authorware-map.aasapplication/x-authorware-seg.abctext/vnd.abc.acgitext/html.aflvideo/animaflex.aiapplication/post...

JavaMail详解(十)——应用实战,邮件监听 2016-11-24 16:00:30

通过前面的介绍,大家已经对用JavaMail来开发简单的收发邮件应用没有问题了,下面从实际情况出发,看一下笔者经历过的一个邮件项目。背景 现在公司的销售在工作中遇到问题时(可能是技术方面,也可能是产品问题),就会发邮件到公司的支持团队的邮箱中,支持团队在...

JavaMail详解(九)——文件夹管理 2016-11-24 14:53:50

到现在为止,前面我们接触的都是INBOX这个文件夹。这是大多数邮件的存在的默认目录。有些系统可能称之为INBOX,而有些可能有其他的名字。但是,通过JavaMail API,你总是可以用INBOX来访问收件箱。 JavaMail API代表文件夹的类是抽象类Folder:public abstract clas...

JavaMail详解(八)——邮件删除 2016-11-24 11:04:38

本节我们看看如何用JavaMail API消息邮件。删除邮件实际上是通过设置邮件的相关标识完成的。不同的消息状态有不同的标识,有些是系统定义的,有些是用户自定义的。预定义的消息标识在类Flags.Flag中,如下:Flags.Flag.ANSWEREDFlags.Flag.DELETEDFlags.Flag.DRAFTFl...

JavaMail详解(七)——邮件转发 2016-11-24 10:44:09

本节我们看看如何用JavaMail API转发一个邮件。基本的步骤如下:获取持有POP和SMTP详情属性的Session对象。我们将使用POP详情查询消息,使用SMPT详情发送消息创建POP3的Store对象并连接到Store创建Folder对象并打开邮件中的相应文件夹查询消息遍历消息,键入Y或y就转...

JavaMail详解(六)——邮件回复 2016-11-22 18:27:37

本节将学习如何使用JavaMail API回复邮件。基本的步骤包括:获取带有POP和SMTP服务细节属性的会话Session对象。我们将用到POP服务查询邮件,并使用SMTP服务发送邮件。创建POP3 Store对象并连接。创建Folder对象并打开邮箱中相应的文件夹查询消息遍历消息并将想要回复...

JavaMail详解(五)——身份验证 2016-11-22 16:11:16

前面介绍了邮件的验证和读取,在连接邮件的Store时,我们传递了身份验证证书(用户名和密码)连同host。接下来我配置Properties,通过自定义身份验证实例来调用Session。一下示例通过对CheckingMail修改,使用自定义Authentication类,如下: import java.util.Prope...

JavaMail详解(四)——邮件验证和读取 2016-11-22 15:00:56

在学习本节之前,要先了解两个概念:验证(Check)和读取(Fetch)。 在JavaMail中验证邮件,是在打开邮件各个文件夹并获取各个消息的一个过程。这时我们仅仅验证每个邮件消息的头部,如From、To、Subject。而内容不会读取。 在JavaMail中读取邮件,是在打开各个文...

JavaMail详解(三)——发送邮件 2016-11-07 18:25:33

现在我们已经对JavaMail API和核心类都有了初步的了解,现在来写一个简单的程序发送简单的邮件、带附件的邮件、HTML内容的邮件和内嵌图片的邮件。 上面所有场景都有下面的相同的基本步骤:获得Session对象组装消息发送消息发送简单邮件 SendEmail.javaimport java....