- 博客(88)
- 资源 (9)
- 收藏
- 关注
原创 IO多路复用的select, poll, epoll之间的区别和联系总结
IO多路复用select, poll和epoll都是IO多路复用的模型,所以在深入了解这三个系统调用之前,需要先简单介绍一下IO多路复用。IO多路复用是一种复用技术,复用(multiplexing)技术很普遍,例如通信中有多路时分复用(OFDM)、频分复用、码分复用。再例如我们一个办公室的人可以共用办公室的一台打印机,大家在不同的时段使用即可实现复用,这就是时分复用。“IO多路复用”是指复用了同一个处理线程(在Java中被抽象为选择器selector),由操作系统进行托管,当与选择器绑定的socket
2020-05-20 23:11:46
6066
原创 大规模数据处理系统的最新技术与应用
当我们看到这个标题后,不知道大家会先想到什么。我们可能识别到的几个关键字是:架构、大规模、数据处理、最新。那么,实际上我们在这里希望探讨的话题就是最新的数据处理技术,以及这些最新的数据处理技术给实际生产带来的基于与挑战。从数据处理说起我首先提出一个命题——“IT 系统最核心的内容便是数据处理”,互联网尤甚。熟悉 Web 架构的读者可以知道,当前互联网架构大致可以拆分为三层:Web 前端与...
2019-07-26 21:43:46
1566
原创 中小型企业基于大数据技术的项目实践
前言ps. 此片博客来源于很久以前的一次gitchat分享,现在搬运到blog中,由于时间久远,里面已经有一些思想和技术已经现在不主流了,供大家参考借鉴。我们这次 Chat 主要交流的主题是:中小型企业基于大数据技术的项目实践,笔者将就大数据技术栈开始说起,同时,在后面的内容中,将涉及笔者在工程实践中的一些具体经验。下面,我们将从大数据技术的干货介绍开始,这部分内容对于有基础的童鞋来说,可以...
2019-06-04 22:59:18
1173
原创 数据库并发业务中的乐观锁与悲观锁详解
数据库与并发业务并发业务是一种非常常见且重要的业务场景。比较典型的业务场景是电商业务,尤其是秒杀场景,这里面会涉及到非常多的并发事务,像金融业务等等交易相关的业务也都是如此。这在数据库的应用中称之为TP场景的业务,与AP业务相对应。当前主流的互联网业务架构大致可以分为三层,第一层是前端层,主要与用户产生交互式关系;第二层可以认为是业务层,所有的业务处理逻辑,诸多if-else判断逻辑等都可以抽...
2019-05-03 00:42:25
988
原创 Linux与Windows在物理机上双系统有关grub引导的若干问题
背景作为一名专业的计算机科学从业者,Linux的重要性自然是不言而喻。由于对文档处理和一些娱乐工作的需要,Windows操作系统又不可抛弃,安装双系统便是每一个Geek的首选。双系统对于虚拟机的优点不言而喻,而对于专业从业者来说,缺点又足可以规避,因此我们推荐使用双系统而不是虚拟机。安装双系统首先需要考虑的就是引导问题,Linux采用的是Grub引导工具,而Windows默认采用的是按照磁盘的...
2019-03-02 22:58:30
1005
原创 How Linux Works: Linux内核概述
Linux内核概述Linux内核大家或许都不陌生,这是Linux操作系统中最核心和关键的部分,也是最为复杂的部分。Linux操作系统具有稳定/高系能/容易维护等优点,这与Linux优秀的内核实现是分不开的,我们在这里以How Linux Works这本书中的主要内容为依据,对Linux内核做一个整体的阐述。Linux 的抽象层次Linux把系统层和用户层分开,硬件系统之上便是内核,直接负责与...
2019-02-02 00:06:46
1424
原创 工程上的图像检索技术概述
从图像特征说起以人脸识别场景为例,我们通过机器学习算法可以对人脸图片实现降维,即某张图片的尺寸是6464的RGB图像,那么这个图像的维度就是6464*3 = 12288维。直接将这个维度用于图像识别显然是不合适的,这是图像的原始维度,不是图像的特征。提取图像特征的过程是一个降维过程,常用的维度通常是512维,1024维等,也就是将一个图片进行特征提取。提取到的特征向量的维度,说白了就是这个向量...
2018-12-06 23:05:02
690
原创 Python操作Mongodb的用法,并将其简单封装起来
Pymongopip install pymongopymongo是python的mongodb client,这里将其使用方法封装成class,并提供单元测试用以展示其基本用法。直接看代码。Code list# mongodb databasefrom pymongo import MongoClientclass Database(object): def __in...
2018-10-20 14:53:04
5686
原创 SimilarVocabulary--动手实现一个基于NLP的相近单词检索器
介绍SimilarVocabulary是我在github上的一个开源项目,项目本身并不复杂,使用了NLP中的词向量来检索到关联程度较大的单词,项目套用了NLP中一个开源的库spacy.该库自带了一个训练好的模型,可以进行英文文本的预测。项目地址:https://github.com/wotchin/SimilarVocabulary代码细节下面,我们以这个简单的demo演示一下spa...
2018-09-26 21:31:46
1276
原创 erlang开源web框架mochiweb资料帖分享
前言: erlang虽然就有良好的并发编程模型,能够应对编程中的副作用,充分利用CPU各个核心,但是毕竟是小众语言,编程入门门槛又比较高,因此一直难以壮大。作为其用途最广的web框架——mochiweb,资料实在是少得可怜。这里整理出一部分可用的资料。应用篇: https://www.ibm.com/developerworks/cn/opensource/os-erlang2/ htt...
2018-08-12 17:34:10
963
原创 谈谈大数据时代下的数据仓库
大数据背景众所周知,当前是一个数据爆炸的时代,大数据背景下的数据治理是每一个企业应该重点考虑的问题。例如金融机构、电信运营商这种“传统”行业每日需要处理的数据量都已经十分巨大了,更不必说掌握着上千万日活的互联网公司。传统行业的数据治理以电信运营商为例,一个省级的电信运营商在好多年前一年积累的信息量就已经达到数个PB了,在数据爆炸的时代,我们通过移动互联网随时随地就可以surfing...
2018-08-12 17:14:11
5833
原创 使用Python的scikit-learn库实现回归预测,实战对房价的评估预测
前言自己动手,爬取58同城上的租房网站信息,然后用该数据预测未知的房源价格。爬虫部分不是我写的,我只是完成了其中的一部分预测功能。 预测主要是使用回归预测,预测结果比较简陋,但是也可以通过这个小项目,来简单地学习一下基于Python的回归预测。 在本文中,我实现了三种回归预测算法: 1. 支持向量回归(SVR) 2. logistic回归 3. 以及使用核技巧的岭回归(L2回归)...
2018-05-21 14:39:15
9208
原创 机器学习与人脸识别领域的一些代表性论文清单及简介
[1] Tolba A S, El-Baz A H, El-Harby A A A. Face Recognition: A Literature Review[J]. International Journal of Signal Processing, 2006, 2(1):88-103. 综述[2]Hinton, G.E., Osindero, S. and Teh, Y. (2006...
2018-05-13 17:34:43
2366
1
原创 机器学习中多分类模型的评估方法之--kappa系数
引言分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。 对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介绍一下在多分类中衡量模型评估准确度的一种方法–kappa系数评估方法。Kappa系数首先,我们介绍一下kappa系数: kappa系数是用在统计学中评估一致性的一种方法,我们...
2018-05-09 13:58:34
31288
3
原创 白话大数据--Hash分片
引言大数据系统其中一个典型的特点就是集群化,方便节点横向扩展,也就是所说的弹性扩容。之所以进行横向扩展,是因为纵向扩展难以处理庞大的数据量。将大数据进行切分,是实现数据集群化存储和计算的一种常用手段。 这个过程的学名叫做数据分片,将一个整体的数据划分到不同的节点去存储,然后通过路由来寻找到指定的节点,进行数据的读写操作。常用的数据分片方法有Hash分片和范围分片。而Hash分片包含所说的哈希...
2018-05-07 22:18:40
4553
原创 Java高级技术第五章——高并发之线程池
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195线程池线程的开启和回收是要消耗系统性能的,对于大量使用线程的场景,使用线程池来进行管理,实现单个线程的复用,提高并发效率。Callable对Runnable进行了扩展,相对于Runnable接口,Callable的调用是可以有返回值的。...
2018-04-23 11:59:34
5481
原创 Java高级技术第五章——高并发之并发容器详解
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195并发容器ConcurrentHashMap:在上面已经提到过ConcurrentHashMap,ConcurrentHashMap相比Hashtable能够进一步提高并发性,其原理图如下: HashMap,Hashtable与Conc...
2018-04-23 11:54:46
3006
原创 Java高级技术第五章——高并发之同步容器
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195同步容器问题引出: 有N张火车票,每张票都有一个编号,同时有10个窗口对外售票,写一个模拟程序。public class TicketSeller { static List<String> tick...
2018-04-23 11:52:29
419
原创 Java高级技术第五章——高并发之常用的线程安全的单例模式
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195线程安全的单例模式单例模式就是说系统中对于某个类只能有一个实例,多线程下面单例模式的线程安全问题是一个典型应用场景。一般常用单例模式做资源控制与调配,例如使用单例模式做一个线程池,数据库链接池等等。饿汉模式饿汉模式是在该类被加载的时候,就已...
2018-04-23 11:50:35
434
原创 Java高级技术第五章——高并发之ThreadLocal线程局部变量
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195ThreadLocal线程局部变量ThreadLocal是线程局部变量,使用空间换时间,而synchronized是使用时间换空间。比如在hibernate中session就存在于ThreadLocal中,避免了synchronized的使用。 ...
2018-04-23 11:47:34
432
原创 Java高级技术第五章——高并发之读写锁(ReadWriteLock)
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195ReadWriteLockReadWriteLock也是一个接口,在它里面只定义了两个方法:public interface ReadWriteLock { /** * Returns the lock used fo...
2018-04-23 11:40:00
858
原创 Java高级技术第五章——高并发之Lock及Condition
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195ReentrantLock使用ReentrantLock可以完成synchronized同步的功能,需要注意的是,必须要手动释放锁! 这个类封装在java.util.concurrent.locks中,是lock接口的唯一实现。 lock和...
2018-04-23 11:37:57
1011
原创 Java高级技术第五章——高并发之CountDownLatch等同步器
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195Wait&Notify引出一个问题: 实现一个容器,提供两个方法,add,size. 写两个线程,线程A添加10个元素到容器中,线程B实现监控元素的个数,当容器元素个数到5个时,线程B给出提示并结束。这实际上是让我们手...
2018-04-23 11:35:17
496
原创 Java高级技术第五章——高并发之AtomXXX系列
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195AtomXXX类该类封装在java.util.concurrent.atomic包中,包中包括了AtomicInteger,Atomicboolean,AtomicIntegerArray等等类型。 这为我们提供了解决同样的加锁的问题的更高效的...
2018-04-19 18:08:31
1752
原创 Java高级技术第五章——聊聊volatile关键字
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195Volatile关键字volatile 关键字,使一个变量在多个线程间可见,即保证了线程间的可见性。这与C/C++中的同名关键字存在区别,在面试的时候,不要弄混了。 A、B线程都用到一个变量,JAVA默认是A线程中保留一份copy作为缓冲,这样...
2018-04-19 17:47:45
312
原创 Java高级技术第五章——高并发编程之从synchronized关键字到事务并发的若干问题
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195synchronized关键字通过该关键字的使用,保证可见性和原子性。 synchronized锁定的是一个对象而不是一个变量,由于保证每个经过synchronized修饰后的代码区域只能由一个线程来占有,这种锁也成为互斥锁。这个具体锁定的对象...
2018-04-19 17:41:30
1338
原创 Java高级技术第四章——Java容器类Map之快速的HashMap
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195HashMapJava的HashMap实现的数据结构是一个哈希表,其解决哈希冲突的方法是拉链法,使用的哈希函数是取模法。与常规的直接取模法不同,HashMap是通过位运算来实现取模的。这部分思想与ArrayDeque的实现原理是类似的。 Has...
2018-03-21 10:53:16
980
原创 Java高级技术第四章节——容器类Map之来自红黑树的TreeMap
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195MapMap接口有几个实现的类,常用的是HashMap和TreeMap,这两个都不是线程安全的。Hashtable也是实现了Map接口的一个类,是线程安全的。 Map接口定义了一个名为Entry的内部接口,该接口封装了对一个K-V对的操作,一般...
2018-03-21 10:51:26
815
原创 Java高级技术第四章——Java容器类Queue之体验双端队列ArrayQueue设计之妙
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195ArrayDequeArrayDeque的数据结构要比PriorityQueue要简单得多,是通过数组来实现的。但是,ArrayDeque的特点是一个双端队列,既可以实现FIFO的Queue,也可以实现LIFO的Stack. ArrayDequ...
2018-03-21 10:48:23
1614
原创 Java高级技术第四章——Java容器类Queue之从小顶堆到优先队列PriorityQueue
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195PriorityQueuePriorityQueue是基于堆数据结构的一个无界队列,这个优先队列中的元素可以默认自然排序或者通过提供的Comparator(比较器)在队列实例化的时排序。优先队列不允许加入空值(null),或者其他不可比较的对象,...
2018-03-21 10:44:55
1663
原创 Java高级技术第四章——容器类之Queue概述
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195QueueQueue是一个接口,这个接口继承自Collection接口,同时还有四个接口直接继承自该接口,分别是: BlockingDeque BlockingQueue Deque TransferQueue其中...
2018-03-21 10:41:12
823
原创 Java高级技术第四章——Java容器类之Set从源码开始详解
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195SetSet的特点就是每个元素都是唯一的,Set集合内两两元素之间进行equals()对比,结果都为false.Set集合也可以包含null元素。HashSetHashSet是常用的一种实现了Set接口的类,其底层实现原理是基于哈希表的,...
2018-03-21 10:38:40
760
原创 Java高级技术第四章——Java容器Collection之List详解
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195CollectionListList是一种有序的Collection,使用此接口能够精确地控制每个元素插入的位置。用户能够使用索引来访问List中的元素,每个元素的索引是固定的,我们可以认为List是一种动态的数组。 实现List接...
2018-03-21 10:34:07
797
原创 Java高级技术第四章——Java的容器类概述
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195Java的容器类Java的集合类主要包括两部分,实现了Collection接口和实现了Map接口的实现类。 Collection接口的继承树类图如下所示: 可以看到,Collection接口可以分为三类:List,Set和Queue. ...
2018-03-21 10:30:37
749
原创 Java高级技术第三章——java.net包中的TCP/UDP/HTTP及其代理的实现
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195java.net定义了很多Java网络功能相关的功能,如socket、URI与URL相关、cookies等。TCP通信一个普通的socket通信写法很简单,如下: public static void main(Stri...
2018-02-12 10:43:01
1174
原创 Java高级技术第三章——Java处理时间的方法,详解Date,DateFormat,Calendar类
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195Java处理时间Java为我们提供了用于处理时间的类,通过这些类能够方便地进行时间方面的计算,包括获取某个时间的时间戳,根据时区对时间的转换等等。 这些类中往往都重写了compareTo()方法,能够通过该方法来对时间之间的先后顺序进行比较,非常...
2018-02-12 10:40:07
805
原创 Java高级技术第三章——Java的Runtime类详解
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195Runtime类Java的Runtime类可以用来获取当前Java进程的运行时信息,诸如内存使用情况,加载动态库,获取CPU核心数,以及一些虚拟机相关的功能。运行shell利用Runtime类可以实现很多功能,例如执行shell,获取C...
2018-02-12 10:38:34
890
原创 Java高级技术第三章——Java的System类详解
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195System类概述System类是Java.lang包定义的一个静态的类,内部的方法都是静态的,且构造器是被private关键字修饰的,不可以被实例化。其内部定义了三个静态的属性,分别是:public final static In...
2018-02-12 10:35:15
972
原创 Java高级技术第三章——Java的String字符串类实现原理
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195字符串类String类型在Java中是不可变的类型,因为其在底层实现的是一个char类型的数组,利用该数组来存储String对象中数组的值,而数组是不可变的。 String类在JDK代码的实现中,引入了正则表达式来完成replace,split等...
2018-02-12 10:34:07
981
原创 Java高级技术第三章——Java的基本类型的包装类
前言前言点击此处查看: http://blog.youkuaiyun.com/wang7807564/article/details/79113195基本类型的包装类基本类型的包装类也叫类型包容器,也叫打包类型(Wrapper Types),其包括10种,分别为: Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigIntege...
2018-02-12 10:32:38
717
google 20k英文词库大全,适合NLP使用
2018-03-08
txt格式英文单词词库大全,内含470k以上的单词
2018-03-08
AD8232心脏速率监视器资料
2018-01-04
Outlook 6 绿色免安装版,可以直接打开eml文件
2018-01-04
kernel32.dll|advapi32.dll|gdi32.dll|user32.dll|explorer.exe下载,WIN 7 64位/32位 最新提取
2016-11-19
易语言windows核心编程第二版 pdf电子书格式[new!]
2010-02-26
kernel32.dll|advapi32.dll|gdi32.dll|user32.dll下载,WIN XP SP3最新提取
2010-02-24
易语言核心编程 v1.0 .chm
2009-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人