自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (3)
  • 收藏
  • 关注

原创 akka基础

[TOC] ps:本文主要参考《akka入门与实践》 学习akka之前最好先了解一下reactive架构,actor模型和erlang语言的设计思想 《大数据时代的软件架构范式:Reactive架构及Akka实践》 《面向软件错误构建可靠的分布式系统》基本概念akka:基于actor并发模型的分布式工具集,用于协调远程计算资源来进行一些工作。actor:类似于进程或者线程的...

2018-08-22 20:32:53 3823

原创 Spring注解

注解介绍注解有两个作用:标注和注入标注:类路径下自动扫描,减少在xml中配置bean,例如@Component,@Service注入:自动装配,需要类的地方直接加注解就可以引入该类;例如:@Autowired在spring中开启注解:<context:compnnent-scan base-package="...">指定扫描路径spring生成的注解有默认名字,为类名的首字母小写形式,如果

2017-08-11 17:04:08 697

原创 幂等

apache camel IdempotentApache camel基于规则路由和处理的引擎,提供企业集成的java对象的实现,通过应用程序接口或DSL(domain-specific languages)来配置路由和处理规则,从一个from源头得到数据,通过process处理,再发到一个to目的地;CamelContextRouteBuilderconfigure(){from().pro

2017-07-24 16:23:38 636

原创 cache-redis

缓存设计缓存设计考虑点:存储的数据结构缓存容量大小缓存有效期容量不够时的清理策略缓存设计相关指标(命中率、命中次数、miss率等)缓存设计过程:全局的hash表,Key-Value键值对提供get/put等方法来操作缓存规定最大容量记录缓存访问时间,决定缓存是否失效容量不够时LRU/FIFO/LFU来做清理每次get方法做结果统计guava cache类似于Concurre

2017-07-24 12:04:09 722

转载 Kafka

Kafka是一种分布式的,基于发布/订阅的消息系统。名词解释Broker Kafka集群包含一个或多个服务器,这种服务器被称为brokerTopic 每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)P

2017-07-17 16:26:00 441

原创 javaweb从入门到不放弃

知识点:git: 常用命令 冲突解决 版本回退 java&guava: 常见容器 java8流 maven: - 父子pom - profile - scope - 生命周期 - 依赖冲突 - 插件 - 占位符;linux: 常见命令(文件grep,wc,查找,权限、压缩、scp) crontab 进程 awk

2017-07-15 23:01:16 457

翻译 java多线程2

1.中断线程void interrupt()向线程发送中断请求,线程的中断状态将被置为true,如果目前线程被一个sleep调用阻塞,那么,InterruptedException异常被抛出。 static boolean interrupted()测试当前线程是否被中断,静态方法,该方法调用会将当前线程的中断状态置为false boolean inIterrupted()测试线程是否被终止,不

2017-04-30 19:34:06 462 1

原创 git入门

基本流程git 权限:有问题找:cmrexian git常用命令和流程: 拉代码:git clone 地址 查状态:git status 看分支:git branch 创建分支:git checkout –b 分支号 (pmo号_日期_huazhu_promotion) 看分支:git branch具体流程查看当前修改状态:git status 暂存修改代码:git stash 拉远

2017-04-17 13:12:51 566

原创 http协议

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式。HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。 特点1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:H

2017-04-17 12:46:14 473

原创 java多线程

基本定义进程:每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销,每个进程含有1-n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器。 五个阶段:创建、就绪、运行、阻塞、终止 实现多线程的方法有两种: 1. 继承Thread类 extends Thread run(){} Thread.start() 2. 实现Runnable接口 imp

2017-04-17 11:33:17 354

原创 java对象和类

1.类之间的关系:uses-a依赖,has-a聚合,is-a继承。uses-a:依赖,一个类的方法操纵另外一个类的对象,尽可能减少,耦合。has-a: 聚合,类A的对象包含类B的对象。Is-a: 特殊与一般的关系。2.初始化:程序开始时,main方法进栈,在堆内存中分配空间创建的成员变量,局部变量保存在栈中,注:创建数组则是在堆中,分配空间后默认初始化值。 成员变量会初始化,byte,sh

2017-04-16 13:22:34 394

原创 java文件读写

java文件读写涉及到很多IO操作,读写方法较多,下面从字节流 、字符流、节点流、处理流等方面进行介绍。 1.基本概念输出流:程序->文件 输入流:文件->程序 字节流:一次读入或者读出是8位二进制字符流:一次读入或者读出是16位二进制流节点流:直接与数据源相连。处理流:在节点流上再套接一层,对一个已知流的连接和封装,构造方法带一个其他流对象作参数,通过所封装的流的功能调用实现数据读

2017-04-13 14:46:07 522

原创 java设计模式-行为型模式

行为型模式用于控制对象的行为。状态模式:将对象的状态抽象为一个类,是对if switch等状态判断的代替,Context类、State接口及其具体类。备忘录模式:获取对象状态没在对象之外保存状态,状态恢复,白箱和黑箱,宽、窄接口,私有内部类。策略模式:把算法的实现单独抽出一个类,对if switch等分支语句的替换,封装算法,并且使他们可以相互特换。调停者模式模板方法模式解释器模式1

2017-04-07 18:46:23 520

原创 java设计模式-行为型模式

行为型模式用于控制对象的行为。命令模式:请求封装成对象,对请求进行排队、记录,Command接口和具体命令,Invoker、Receiver接收者。可以定义撤销、重做等操作,以及与组合模式结合,实现批处理命令的效果(Add remove)。观察者模式责任链模式迭代器模式访问者模式状态模式备忘录模式策略模式调停者模式模板方法模式解释器模式命令模式将一个请求封装成一个对象,可以用

2017-04-06 11:44:05 486

原创 java设计模式-结构型模式

结构型模式包括:适配器模式,桥接模式,代理模式,外观模式,装饰模式,组合模式,享元模式。用于构建类间的关系,设计对象的结构、继承和依赖关系。 1.适配器模式Adapter:将一个类的接口转换成客户希望的另外一个接口。目标(Target):需要转换成的接口源(Adaptee):需要转换的接口适配器(Adapter),用来转换的接口类适配器:使用继承的方式使用源,新建一个类Adapter,继承

2017-04-05 16:36:54 610

原创 java设计模式-创建型模式

创建型模式:用户创建对象。工厂方法模式:Factory Method,定义一个用于创建对象的接口,让子类决定将哪一个类实例化。使一个类的实例化延迟到其子类。抽象工厂模式:Abstract Factory,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。建造者模式:Builder Factory,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。分步骤

2017-04-04 13:26:42 581

原创 Java程序员面试宝典3

1. 字符串“==”判断符号左右两个变量是否指向同一内存地址,equals判断两个object是否一样,(所有成员的值相同)对于String a =”abc”; String b = “abc”; abc放在常量池中,a,b在内存中只有一份副本,所有a==b; 若是 String c = new (“abc”); String d = new (“abc”); 那么 c==b为false,因为创

2017-03-31 15:32:56 422

原创 java程序员面试宝典2

1.面向对象过程式编程:以过程为中心,以算法为驱动,程序=算法+数据 面向对象:以对象为中心,以消息为驱动,程序=对象+消息 内部类:内部类在类的层级上没有限制,可以多层嵌套,内部类可以是私有类,创建一个static内部类的对象,不需要一个外部类对象,不能从一个static内部类的对象访问一个外部类对象。 2.容器类Collection:List: ArrayList擅长随机访问元素和Li

2017-03-30 17:20:19 823

原创 Java程序员面试宝典

1.JVM ClassLoader在JVM运行时加载java核心的API,以满足java程序最基本的需求 包括:ExtClassLoader,用来java的扩展API,即/lib/ext中的类AppClassLoader,用户机器上CLASSPATH设置目录中的类一些重要的方法:loadClass: 是 ClassLoader的入口点,接受两个参数,String name

2017-03-29 19:35:07 1138

转载 sql例子

筛选每门课都大于80的学生:select name from student group by name having min(fenshu)>80删除id编号不同之外,其他信息冗余数据。delete from student where id not in(select mid from (select min(id) midfrom student group by name,kemu,fen

2016-10-19 17:56:02 805

原创

图的表示邻接表:为每个节点建立一个链表或者数组存放与之连接的节点 邻接矩阵:n*n的矩阵,有边是1,没有边是0图的搜索BFS 层次搜索 无回溯 队列 节点判重(记录节点是第几次被访问到的) 路径记录(pre[i]=j,第i个节点的前驱是j,存索引,不存数据本身) DFS 不断深入 走到头回溯,一般所谓暴力枚举搜索都是DFS,使用栈或者递归,全排列问题,数独问题,八皇后问题…图的划分无向图:行政

2016-10-16 23:45:27 902

原创

树和二叉树任意一颗(或者多棵)树转换成二叉树,右孩子为空得数目为原树非叶结点+1例题:现有一个包含m个节点的三叉树,即每个节点都有三个指向孩子节点的指针,请问:在这3m个指针中有多少个空指针? m个节点有3m个指针,m个节点的树有m-1个边,即有m-1个指针是指向节点的,剩下的就是空指针,3m-(m-1)=2m+1 二叉树遍历:前序遍历第一个数一定是根,中序遍历为

2016-10-16 22:16:12 1720

转载 LDA

(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似的。 举个例子,有两个句子分别如下: “乔布斯离我们而去了。” “苹果价格会不会降?” 可以看到上面这两个句子没有共同出现的单词,但这两个句

2016-10-12 21:13:52 930

转载 算法一些例子

求字典序在s1和s2之间的,长度在len1到len2的字符串的个数,结果mod 1000007#include<iostream>#include<string>#include<vector>#include<math.h>using namespace std;int main(){ string s1,s2; int len1,len2; while(cin>>

2016-09-09 15:44:26 1170

原创 python表达式

列表表达式 在需要改变列表而不是需要新建某列表时,可以使用列表解析。列表解析表达式为: [expr for iter_var in iterable] 首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。 含有if的表达式: [expr for iter_var in

2016-09-09 13:34:10 658

原创 doc2vec计算文档相似度

doc2vec是基于word2vec的,word2vec对于计算两个词语的相似度效率比较好,修改了word2vec中的cbow和skip-gram模型,paragraph vector直接得到doc向量。 使用过程 1.读取文件,os.walk()遍历文件夹 2.构建语料库,分词,过滤停用词。用gensim.models.doc2vec.TaggedDocument() 为文档打tag 3.

2016-09-07 16:47:14 16234 3

原创 gensim similarity计算文档相似度

向量空间模型计算文档集合相似性。 将原始输入的词转换为ID,词的id表示法简单易用,但是无法预测未登记词,难以挖掘词关系;词汇鸿沟[1]:任意两个词之间是独立的,无法通过词的ID来判断词语之间的关系,无法通过词的id判断词语之间的关系[2]使用gensim包的models,corpora,similarities,对文档进行相似度计算,结果比较其他lda、doc2vec方法稳定。 主要步骤:1

2016-09-07 15:15:36 14607

原创 LSHForest进行文本相似性计算

LSH Forest: Locality Sensitive Hashing forest,局部敏感哈希森林, 是最近邻搜索方法的代替,排序实现二进制搜索和32位定长数组和散列,使用hash家族的随机投影方法近似余弦距离。 随机投影树,对所有的数据进行划分,将每次搜索与计算的点的数目减小到一个可接受的范围,然后建立多个随机投影树构成随机投影森林,将森林的综合结果作为最终的结果。 随机投影树的构建

2016-09-07 13:41:57 4418 2

转载 如何计算文档相似性

最近课题需要,整理一下文档相似性的一些研究,主要是参考知乎上面的回答和52nlp的相关文章。以备后期综述使用。具体还需要好好细读链接。主要思路01/one hot representation,BOW+tf-idf+LSI/LDA体系.docsim方法:gensim包,使用corpora.Dictionary(text),把所有单词取一个set(),并对set中每一个单词分配一个id号的map,

2016-08-30 19:39:22 5113

原创 笔试知识点记录

内联函数定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用.优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小, 但内联一个相当大的

2016-08-27 15:17:38 759

原创 字符串相关

1.查找第一个匹配子串的位置#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>using namespace std;int findsub(const char *s1,const char *s2){ int i; int len1=(int)strlen(s1),len2=(

2016-08-22 17:30:38 427

原创 排序算法实现

1.排序比较稳定的排序: 冒泡排序、鸡尾酒排序(双向的冒泡)、插入排序、归并排序、桶排序、基数排序、二叉树排序、图书馆排序 不稳定: 选择排序、希尔排序、堆排序、快速排序 复杂度nlogn:归并、二叉树、图书馆、希尔、快排最好情况 复杂度n2: 冒泡,鸡尾酒,插入,选择,快排最坏情况 复杂度n:桶排序、基数排序2.插入排序将一个记录插入到已经排好序的有序表中,设立哨兵作为临时

2016-08-22 11:39:49 740 1

原创 编程-数据结构篇

1. 字符串移位问题,判断S是否能被L移位得到解: S可以由L移位得到,那么S一定在LL上,调用strstr函数即可,或者python中的in判断、find操作。2. 电话号码对应单词解:构建号码对应字母的排列树,定义二维数组a[10][10]={””,””,”ABC”,”DEF”…”WXYZ”},for循环,遍历3. 计算字符串相似度递归 三种情况4. 从无头链表中删除节点A->B

2016-08-19 16:45:13 716

转载 算法策略总结

转载自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741482.html 策略是面向问题的,算法是面向实现的。不同算法策略特点小结贪心策略贪心策略一方面是求解过程比较简单的算法,另一方面它又是对能适用问题的条件要求最严格(即适用范围很小)的算法。贪心策略解决问题是按一定顺序,在只考虑当前局部信息的情况下,就做出一定的决策,最终得出

2016-08-19 10:27:43 625

转载 五大常用算法

常用算法笔记,转载自http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741378.html 五大算法系列分治算法把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并. 递归 数学归纳法 步骤: 1.分解:将原问题分解为若干规模较小,相互独立,

2016-08-19 10:23:11 327

转载 自然语言处理

语料库WordNet可能是最著名的象征意义的语料库,由普林斯顿大学研发。它将意思相近的单词归为一组,并且表示组与组之间的层次联系。举个例子,它认为“轿车”和“汽车”指的是同一个物体,都是属于一类交通工具。 ConceptNet是来自麻省理工学院的语义网络。它表示的关系比WordNet更广。例如,ConceptNet认为“面包”一词往往出现在“烤面包机”附近。 FrameNet是伯克利大学的一个项目,

2016-08-17 12:22:27 2387 1

转载 前馈 反馈神经网络

前馈型神经网络取连续或离散变量,一般不考虑输出与输入在时间上的滞后效应,只表达输出与输入的映射关系; 反馈型神经网络可以用离散变量也可以用连续取值,考虑输出与输入之间在时间上的延迟,需要用动态方程来描述系统的模型。 前馈型神经网络的学习主要采用误差修正法(如BP算法),计算过程一般比较慢,收敛速度也比较慢; 而反馈型神经网络主要采用Hebb学习规则,一般情况下计算的收敛速度很快。 反馈网络也

2016-08-17 11:32:20 4206

原创 计算机网络

应用层 提供应用程序接口 SMTP,FTP,HTTP,NFS,telnet, dns,X.500 表示层 处理数据格式、数据加密等特定的功能 会话层 简历、维护和管理会话 传输层 建立主机端到端的可靠链接 TCP UDP 网络层 寻址和路由选择 IP X.25 Ethernet 数据链路层 提供介质访问、链路管理等 SDLC HDLC PPP STP 帧中继 物理层

2016-08-10 18:30:48 642

原创 数据库相关

范式范式是为了降低数据库的冗余度的。 1NF:属性值不能再分,即属性项不能是属性组合:比如集合,数组,记录等非原子数据项。 2NF:是INF,关系模式R中每一个非主属性完全函数依赖于R的主键。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。 3NF:是2NF,关系模式R中的每个非主属性

2016-08-10 13:04:44 427

原创 操作系统相关

名词解释作业:用户在一次事务处理过程中要求计算机系统所做的工作集合,包括用户程序,所需要的数据及控制命令等,作业是由一系列有序的步骤组成的。 进程:一个程序在一个数据集合上的一次运行过程,是资源分配的最小单位。 线程:线程是进程的一个实体,是被系统独立调度和执行的基本单位。 管程:定义了一个数据结构和在这个数据结构上的能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。进程通信

2016-08-09 18:15:06 441

A Byte of Python3(中文版).pdf带源代码

A Byte of Python3(中文版).pdf带源代码

2015-12-19

word2vec源代码

word2vec google源代码 c语言版

2015-12-19

编译原理DFA源代码

c语言编写的DFA代码,小型编译器的前奏,栈等结构的操作,内有注释

2013-10-22

空空如也

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

TA关注的人

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