暂无个人介绍
按顺序一步一步解决依赖并安装。1.python 笔者使用的版本为2.7.5。2.python-pip pip,Python Index Package。类似linux下的yum,安装并管理python软件包。 pip安装命令:yum install python-pip python-devel 备注:不安装python-devel的话,pynum安装就会报错。这是一个py下的数
1.安装 在eclipse的market中搜索PyDev即可。 2.新建项目 图2-1 新建python项目 图2-2 指定python的解释器
1.简述 2. RNN rnn,Recurrent Neural Network,循环神经网络。在rnn中,神经元的输出可以在下一个时间戳直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出。 适用场景:自然语言处理、语音识别、手写体识别等。因为样本出现的时间顺序对于这三种应用非常重要。 3.LTSM LST
1.背景 一些关键应用不能轻易停止服务,可以尝试在线升级,即在不停止正在运行的系统的情况下进行类(对象)的升级替换。 Java 的 ClassLoader 正是实现这项技术的基础。 2.思想 3.相关类 4.示例
封装了常用的字符串操作。 1.依赖 </dependency> <span style="white-space:pre"> </span><dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artif
1.synchronized 参见:http://blog.csdn.net/chuchus/article/details/41980571 2.semaphore 参见:http://blog.csdn.net/chuchus/article/details/43671157 3.ReentrantReadWriteLock 参见:http://blog.csdn.net/c
1.简述 从名字可以看出,CountDownLatch是一个倒数计数的锁, 当倒数到0时触发事件,也就是开锁,其他人就可以进入了。 2.相关类 java.util.concurrent.CountDownLatch 类。 java.util.concurrent.CountDownLatch.CountDownLatch(int count) 构造函数,设置计数器的初始值。
1.Sort org.apache.lucene.search.Sort 封装排序标准的类。 SortField[] org.apache.lucene.search.Sort.fields 字段。 org.apache.lucene.search.Sort.Sort(SortField field) 构造函数。按照指定的SortField进行排序。 org.apache.l
1.简介 分值计算方式为查询语句query中每个项term与文档doc的评分之和。公式表示见1-1。 score(query,doc)=∑term∈queryscore(term,doc)(1-1) score(query,doc)=\sum _{term \in query} score(term,doc) \tag {1-1}2.term与doc的评分 2.1
1.评分 评分公式可见《lucence 文档评分公式》 2.解释 org.apache.lucene.search.Explanation 类,用于解释评分细节。 String org.apache.lucene.search.Explanation.toString() 文本格式输出。 String org.apache.lucene.search.Explanation.
编写自定义的Colletor,可以对搜索返回的文档实现更精确的控制。 1.接口 1.1 Collector org.apache.lucene.search.Collector 接口。用于聚合原始的搜索结果,实现排序及定制化的过滤。 LeafCollector org.apache.lucene.search.Collector.getLeafCollector(LeafRead
apache的IO框架,是常用IO操作的封装。 1.依赖 compile group: 'commons-io', name: 'commons-io', version: '2.5' 2.文件IO 2.1 读 List<String> org.apache.commons.io.IOUtils.readLines(InputStream input, Char
lucene能够很好地支持多线程/进程 访问。 1.并发读 一个索引可以被多个进程的IndexReader打开。一个进程中,推荐IndexReader被单例多线程使用。 IndexReader类不仅是线程安全的,还是线程友好的,即友好地支持并发访问,代码中同步代码(synchronized)块并不多。 2.单独写 对于一个索引来说,一次只能打开一个IndexWriter。 2
1.复合文件索引 该模式是默认的。 1.1 目录结构 图 1-1 复合文件索引 1.2 _x.cfe 1.3 _x.cfs 1.4 _x.si 2.多文件索引 IndexWriterConfig org.apache.lucene.index.IndexWriterConfig.setUseCompoundFile(boolean useCompoundFile
二分查找的速度已经很快了,在此基础上的跳跃链表是一种以空间换时间的思想。 1.跳跃链表的思想 1.元素有序。2.有多层,层数越高,元素之间的间隔interval越大。 3.每个元素有一个指向下层该元素的指针,downPointer。 2.查找过程 1.从顶层开始,二分查找待查元素。定位到插入位置而找不到元素,则往下一层从待插入位置开始新的二分查找。2.不断重复上述过程,直至找到元
转自:http://blog.csdn.net/niushuai666/article/details/6677982 滚动数组的作用在于优化空间,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。 一个
1.简介 lucene支持多种查询。 2.BooleanQuery 2.1 BooleanQuery org.apache.lucene.search.BooleanQuery 布尔查询。 org.apache.lucene.search.BooleanQuery.Builder BooleanQuery的静态内部类,用于构建布尔查询。 org.apache.lucene.
java.lang.ThreadLocal<T> 类,对它的调用在不同线程中有不同的结果。 1.使用场景 有些类不是线程安全的,若想在多线程下使用,我们可以为每个线程绑定一个此类的对象。 2.常用方法 T java.lang.ThreadLocal.get() 返回当前线程所持有的对象。 void java.lang.ThreadLocal.set(T value
1.线程安全 多线程多次执行同样的代码,总能获得确定的结果,即不存在不确定的竞争,那么就称这段代码为Thread-safe. 2.如何线程安全地使用非安全对象 有些类是别人写的,自己不能再修改源码,那么如何做到安全地并发使用呢? 2.1 局部变量 2.2 加锁 2.3 为每个线程维护一个对象 2.4 例子 假设SimpleDateFormat是不安全的,为了安全地使用,对应
1.web server 接收与响应Http请求。 如Apache Server、Nginx。 2.web 容器 相比简单的Web Server,体量要重一点。因为它支持Listener、Filter等配置,开发效率高。 如Tomcat,IIS。 2.1 tomcat,jetty,netty对比 tomcat:是web容器,是一个程序。 jetty:比tomcat轻量级的w
0.产生日志 0.1 IDE 运行下面代码会得到gc日志。 0.2 server -Xloggc:../gclogdir/logc.txt 指定gc日志的打印位置,注意必须指定到文件,不能为目录。 当应用重启时,会产生新的gc.log,旧的gc.log自动被重命名为形如 "gc.log.20161103103532"这样的格式。 1.Parallel Scave
通常GET请求,浏览器会缓存。 1.浏览器禁用缓存 可以在chrome中按F12打开“开发人员面板”,勾选“disable cache”,见图1-1. 图1-1 勾选 Disable Cache 这只是一次性的,隐藏面板后好像还会用缓存。 2.开发技巧 安全起见,用户在登录的时候需要输验证码。 一个获取验证码图片的URL是固定的,如何避免浏览器缓存呢? 答:在URL
标准的加解密算法消耗较多的计算资源,于是自己写了个简单的。适用于加密场景不严格的情况下。 思想:字符串->byte[]->对每个byte按位亦或。 代码示例:
0.参数默认值 java -XX:+PrintFlagsFinal 可以使用 此命令查看参数默认值。示例图见图0-1. 图0-1 看到NewRatio默认值为2 1.内存相关 -Xmx //Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms //Java Heap初始值,Server端JVM最好将
项目地址,before 4.0 :http://www.getopt.org/luke/或https://code.google.com/archive/p/luke/ 项目地址,newer: https://github.com/tarzanek/luke 。没有二进制发行版,需要自己用ant编译。 1.简介 Luke is a handy development an
kibana,elasticsearch项目的产品之一。项目地址:https://www.elastic.co/products/kibana 。 它是数据可视化工具,提供网页与人交互,将查询语句交给ES处理并将结果可视化。官方标语为:Explore & Visualize Your Data,探索与可视化你的数据。 1.视图 图1-1 kibana的视图示例 2.向e
一般来讲,mysql中一个表的总记录超过1000W,就会出现性能的大幅度下降。可以通过分表与分区实现优化。1. 分表 一张表分成很多表后,每一个小表都是完整的一张表,都对应三个文件,一个.MYD数据文件,.MYI索引文件,.frm表结构文件。#alluser为虚拟的总表,user1与user2为实际的分表 [root@BlackGhost test]# ls |grep user all
1.主从设计 主从设计可以做到读写分离,通过集群的方式提高查询性能。 集群中其中一台为master,其余为slave。 写操作:客户端->master->所有的 slave。 读操作:客户端->负载均衡到某台slave。 2. 配置细节 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 2.1、主从服务器分别作以下操作:
HashSet是基于HashMap来实现的,操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性。 1. 类的定义 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.
1. 名词解释 DoS,Denail of Service,拒绝服务攻击。黑客发起大量网络请求来消耗指定服务器的带宽与资源,导致不能响应正常用户。 如果有多个计算机来发起恶意请求,就称为DDoS,Distributed Denial of Service,分布式拒绝服务攻击。 2.具体形式 DoS可以分为多种,常见的是SYN Flood,[flʌd]。2.1 syn flood
ES是一个服务,通过webservice即可完成集群管理与搜素引擎使用。 1.集群管理 ip:port :默认端口号是9200。es服务正常的话就会见到图1-1. 图1-1 ip:port/_cluster/health :集群的健康状况。 ip:port/_cluster/nodes/_shutdown : 关掉整个集群。 ip:port/_cluster/node
es是一个基于lucene的全文搜索引擎。它是一个可以处理数以亿计的文档和每秒数以百计的搜索请求的分布式解决方案。 1.节点和集群 为了实现容错与高可用性,es可以运行在集群(cluster)中,每一台集群中的机器称为节点(node)。 2.分片 每个分片都是一个独立的lucene索引,不同的分片运行在不同的机器中。当用户查询的索引分布在多个分片上时,es会把查询分发给每个相关的分
1.简介 redis是一个非关系型(non-relational database)内存数据库,存储的是key-value映射。key是字符串,value为不同的数据结构。 支持的value有:STRING,LIST,SET,HASH,ZSET(有序集合)。这些数据结构内的基本元素也为字符串。 使用场景? 答:有些网站有文章投票功能,得票高的文章排在前面。使用redis的优势:
1.概述 指定控件间的相对布局。 2.标签 layout_alignParentBottom:父容器的右边。layout_alignParentEnd:父容器的下边。layout_above:在别人的上边layout_alignLeft:与别人左对齐layout_toLeftOf:在别人的左边layout_alignTop:与别人上对齐注意:可以连用,如layout_above与la
本文主要内容转自百度百科。 CDN,Content Delivery Network,是一种组合技术,其中包括源站、缓存服务器、智能DNS、客户端等几个重要部分。 1.源站 源站指发布内容的原始站点。添加、删除和更改网站的文件,都是在源站上进行的;另外缓存服务器所抓取的对象也全部来自于源站。2.缓存服务器 缓存服务器是直接提供给用户访问的站点资源,有一台或数台服务器组成;当用户发起
1.线程安全 多线程的程序,执行充分多次,若每次的结果都相同,则认为是线程安全的。 2.非线程安全类的并发使用 2.1 临时new对象 2.2 加锁 2.3 将对象同线程绑定
1.类与方法 dji.sdk.Camera.DJICamera 类。代表相机。 dji.sdk.Camera.DJICamera#setDJICameraReceivedVideoDataCallback(dji.sdk.Camera.DJICamera.CameraReceivedVideoDataCallback var1) 设置收到实时图像数据的回调函数。 dji.sdk.
1.下载 百度搜索,百度会直接给出下载链接。 2.配套工具 androidSDK。是一个压缩包,解压后得到目录xxx。在studio中设置sdk目录=此目录xxx即可。注意绝对路径中不能含有空格。 3.avd调试 avd,android virtual device,安卓虚拟设备。 3.1常见错误 avd启动时有时会报错,硬件加速器不能用等。 答:需要下载一个驱动程序,名字
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。 1.local storage 靠js完成。
例子见下:
1.简介 mock,[mɒk],adj. 虚拟的,模拟的。 如果你的代码对另一个类或者接口有依赖,mock测试能够帮你模拟这些依赖,从而完成测试。 使用场景: 类A有一个方法fun(B b),它依赖于B类的一个对象。所以要测试这个方法必须要有b对象。如果自己构造B对象,并做一些操作来适应测试,会显得麻烦。那么就可以用mock测试。 2.获得 mock测试是一种思想,mockit
1.题目 #1186 : Coordinates 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Give you two integers P and Q. Let all divisors of P be X-coordinates. Let all divisors of Q be Y-coord
1.简介 赋值操作不是线程安全的。若想不用锁来实现,可以用AtomicReference<V>这个类,实现对象引用的原子更新。 使用场景:一个线程使用student对象,另一个线程负责定时读表,更新这个对象。那么就可以用AtomicReference这个类。 java.util.concurrent.atomic.AtomicReference<V> 类的名
java.lang.ref.WeakReference<T> 这是一个泛型类。 类似Student student=new Student();这样的,都是强引用。 1.简介 一个对象只要有StrongReference引用它,那么这个对象就不会被GC。 若一个对象只有WeakReference引用它,那么这个对象就可能被GC。2.使用场景 用容器(如Map)缓存一
一个项目构建工具,可以替代maven。 1.下载 去官网http://gradle.org 下载即可。 然后解压,在windows下,设置系统变量Path,追加gradle的bin目录即可,一个例子:D:\Users\yc_du.CN1\Downloads\gradle-2.10-bin\gradle-2.10\bin。 重新打开cmd,运行 gradle -v,即可验证。
1.程序入口 可以直接写语句。 也可以给当前groovy源文件的第一个类中添加main方法。见下: class Student{ static void main(args){ print "hi" } } 2.示例代码 3.动态闭包 //为已有的类添加方法 String.metaClass.nihao={ -> print ('nihao
1.软件 下面两款都是免费软件。 1.1 fiddler 界面见图1-1. 图1-1 fiddler界面 1.2 wireshark 界面见图1-2. 图1-2 wireshark 界面 2. 电脑抓包 http包可以在fiddler里面看。 http及tcp、udp包可以在wireshark中看。 3.手机抓包 首先设置fiddler。见图3-1。设置代理
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 1.json格式的规范 JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象) 所以 {"
URL组成: protocol://host:port/path?query 从URL中拿到host: public static String getHostFromURL(String url){ if(url==null) return null; //remove 'http(s)://' int index=url.indexOf("//");
该接口的定义为: public interface Serializable { }//大括号内为空。这是一种特殊的接口。 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成byte流,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了。1.特点 1:当一个对象被序列化时,只保存对象的非静态成员变量(包括声明为pri