自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 浅谈Spring5 响应式编程

目录为什么是响应式编程 用于响应式编程实现的理想案例响应流 (Reactive Streams) Spring 5 提供的响应式编程 Spring Web Reactive vs. Spring Web MVC响应式编程的基本结构Reactive Web ClientSpring 5 的局限近年来,响应式编程在开发者社区和客户中很受欢迎,由于其以声明的方式构建应用程序的能力,而不是强制,形成更加敏...

2018-06-29 17:18:24 3525

转载 Java的HTTP服务端响应式编程

传统的Servlet模型走到了尽头传统的Java服务器编程遵循的是J2EE的Servlet规范,是一种基于线程的模型:每一次http请求都由一个线程来处理。线程模型的缺陷在于,每一条线程都要自行处理套接字的读写操作。对于大部分请求来讲,本地处理请求的速度很快,请求的读取和返回是最耗时间的。也就是说大量的线程浪费在了远程连接上,而没有发挥出计算能力。但是需要注意一点,线程的创建是有开销的,每一条线程...

2018-06-29 16:52:11 3336

转载 MySQL查询语句中的IN 和Exists 对比分析

背景介绍最近在写SQL语句时,对选择IN 还是Exists 犹豫不决,于是把两种方法的SQL都写出来对比一下执行效率,发现IN的查询效率比Exists高了很多,于是想当然的认为IN的效率比Exists好,但本着寻根究底的原则,我想知道这个结论是否适用所有场景,以及为什么会出现这个结果。网上查了一下相关资料,大体可以归纳为:外部表小,内部表大时,适用Exists;外部表大,内部表小时,适用IN。那我...

2018-06-29 10:37:01 118

转载 elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解

1.如何实现mysql与elasticsearch的数据同步?逐条转换为json显然不合适,需要借助第三方工具或者自己实现。核心功能点:同步增、删、改、查同步。2、mysql与elasticsearch同步的方法有哪些?优缺点对比?目前该领域比较牛的插件有:1)、elasticsearch-jdbc,严格意义上它已经不是第三方插件。已经成为独立的第三方工具。https://github.com/j...

2018-06-28 15:08:29 9137 1

转载 ES-Hadoop学习之ES和HDFS数据交换

ES作为强大的搜索引擎,HDFS是分布式文件系统。ES可以将自身的Document导入到HDFS中用作备份,ES也可以将存储在HDFS上的结构化文件导入为ES的中的Document。而ES-Hadoop正是这两者之间的一个connector1,将数据从ES导出到HDFS1.1,数据准备,在ES中创建Index和Type,并创建document。在我的例子中,Index是mydata,type是pe...

2018-06-28 15:08:22 16368 4

转载 高性能线程间队列 DISRUPTOR 简介

原文出处: foreverdisruptor简介背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。与Kafka(Apache Kafka)、RabbitMQ(RabbitMQ)用于服务间的消息队列不同,disruptor一般用于线程间消息的传递。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业...

2018-06-28 15:08:09 232

转载 分布式锁的三种实现的对比

锁是开发过程中十分常见的工具,在处理高并发请求的时候和订单数据的时候往往需要锁来帮助我们保证数据的安全。场景1.前端点击太快,导致后端重复调用接口。两次调用一个接口,这样就会产生同一个请求执行了两次,而从用户的角度出发,他是因为太卡而点了两次,他的目标是执行一次请求。场景2.对于高并发场景,我们往往需要引入分布式缓存,来加快整个系统的响应速度。但是缓存是有失效机制的,如果某一时刻缓存失效,而此时有...

2018-06-28 15:07:52 989

转载 分布式锁

对应给定的keys到他们相应的values上。只要有一个key已经存在,MSETNX一个操作都不会执行。由于这种特性,MSETNX可以实现要么所有的操作都成功,要么一个都不执行,这样可以用来设置不同的key,来表示一个唯一的对象的不同字段。在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识...

2018-06-28 15:04:31 133

转载 使用spring boot +WebSocket实现(后台主动)消息推送

前言:使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!主要是tomcat的兼容与支持。有个需求:APP用户产生某个操作,需要让后台管理系统部分人员感知(表现为一个页面消息)。最早版本是后台管理系统轮训,每隔一段时间轮训一次,由于消息重要,每隔几秒就查一次。这样做明显很不雅!会消耗大量资...

2018-06-27 17:31:22 407

转载 当我们在谈论HTTP缓存时我们在谈论什么

前言在浏览器众多缓存中的HTTP缓存可能很多人对这个的概念并没有很清晰,每个人都知道进入一次网页之后再刷新一次页面,加载速度会比首次加载快非常多,每个人都知道这是浏览器缓存的magic,但是对此背后的原因可能不甚了解...当我们在谈论HTTP缓存时我们在谈论什么:我们实际上是在谈论下面这两种情况:如上图,浏览器对静态资源的HTTP缓存有两种情况,一种是强缓存(本地缓存),另一种是弱缓存(协商缓存)...

2018-06-27 16:38:29 117

转载 Java高并发之锁优化

本文主要讲并行优化的几种方式, 其结构如下:锁优化减少锁的持有时间例如避免给整个方法加锁1 public synchronized void syncMethod(){ 2 othercode1(); 3 mutextMethod(); 4 othercode2(); 5 }改进后1 public void syncMethod2(){ 2 othercode1(); 3 synchronized...

2018-06-27 14:50:27 179

转载 利用Python进行数据分析·第2版

前文传送门:【翻译】《利用Python进行数据分析·第2版》第1章 准备工作【翻译】《利用Python进行数据分析·第2版》第2章(上)Python语法基础,IPython和Jupyter【翻译】《利用Python进行数据分析·第2版》第2章(中)Python语法基础,IPython和Jupyter【翻译】《利用Python进行数据分析·第2版》第2章(下)Python语法基础,IPython和J...

2018-06-27 14:48:19 16109

原创 ElasticSearch学习资料

Elasticsearch 5.4 中文文档http://cwiki.apachecn.org/pages/viewpage.action?pageId=4260364Elasticsearch: 权威指南https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

2018-06-27 13:20:38 293

转载 JAVA并发编程: CAS和AQS

说起JAVA并发编程,就不得不聊聊CAS(Compare And Swap)和AQS了(AbstractQueuedSynchronizer)。CAS(Compare And Swap)什么是CASCAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预...

2018-06-27 11:24:47 129

转载 Java并发编程笔记之LinkedBlockingQueue源码探究

LinkedBlockingQueue的实现是使用独占锁实现的阻塞队列。首先看一下LinkedBlockingQueue 的类图结构,如下图所示:如类图所示:LinkedBlockingQueue是使用单向链表实现,有两个Node分别来存放首尾节点,并且里面有个初始值为0 的原子变量count,它用来记录队列元素个数。另外里面有两个ReentrantLock的实例,分别用来控制元素入队和出队的原子...

2018-06-27 11:19:16 81

转载 无锁数据结构三:无锁数据结构的两大问题

实现无锁数据结构最困难的两个问题是ABA问题和内存回收问题。它们之间存在着一定的关联:一般内存回收问题的解决方案,可以作为解决ABA问题的一种只需很少开销或者根本不需额外开销的方法,但也存在一些情况并不可行,如两个链表实现的栈,不断在两个栈间交换节点。下面对两个问题的主流解决方法进行介绍。标签指针(Tagged pointers)标签指针作为一种规范由IBM引入,旨在解决ABA问题。从某一方面来看...

2018-06-27 10:48:36 720

原创 selenium操作chrome时的一些配置

收集的一些selenium chrome配置信息:  一些Chrome的地址栏命令(这些命令会不停的变动,所有不一定都是好用的)  在Chrome的浏览器地址栏中输入以下命令,就会返回相应的结果。这些命令包括查看内存状态,浏览器状态,网络状态,DNS服务器状态,插件缓存等等。  about:version - 显示当前版本  about:memory - 显示本机浏览器内存使用状况  about:...

2018-06-27 10:33:06 7710

转载 无锁数据结构二-乱序控制(栅栏)

内存栅栏由于优化会导致对代码的乱序执行,在并发执行时可能带来问题。因此为了并行代码的正确执行,我们需提示处理器对代码优化做一些限制。而这些提示就是内存栅栏(memory barriers),用来对内存访问进行管理。要详细了解内存栅栏原理及产生原因,可参考无锁数据结构(基础篇):内存栅障。每种处理器架构都能提供一组完整的内存栅栏供开发使用,使用这些,我们能建立不同的内存模型。通过内存模型,我们能控制...

2018-06-27 10:30:38 270

转载 无锁队列的实现

关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。关于CAS等原子操作在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CM...

2018-06-26 20:20:21 111

转载 无锁数据结构一

lock-free本文对lock-free进行介绍,主要介绍原子性操作,下一篇介绍内存访问控制什么是lock-free无锁数据结构无锁数据结构的实现主要基于两个方面:原子性操作和内存访问控制方法。下面先记录原子性操作相关知识。原子性操作原子性操作可以简单地分为读写(read and write)、原子性交换操作(read-modify-write,RMW)两部分。原子操作可认为是一个不可分的操作;...

2018-06-26 20:07:29 6164 1

转载 分布式一致性

一、写在前面现今互联网界,分布式系统和微服务架构盛行。一个简单操作,在服务端非常可能是由多个服务和数据库实例协同完成的。在互联网金融等一致性要求较高的场景下,多个独立操作之间的一致性问题显得格外棘手。基于水平扩容能力和成本考虑,传统的强一致的解决方案(e.g.单机事务)纷纷被抛弃。其理论依据就是响当当的CAP原理。我们往往为了可用性和分区容错性,忍痛放弃强一致支持,转而追求最终一致性。大部分业务场...

2018-06-26 11:02:42 197

转载 互联网广告系统综述四定向

所谓定向,就是广告算法工程师提供给广告主一些用户属性与条件,供广告主用来找到自己的目标人群的。定向是很重要的,在古代,一个买大饼的武大郎,想必不会把大饼担挑到几十公里见不到人的戈壁滩去吆喝。一个卖草帽的老板,也不会跑到青楼一条街去吆喝。定向就是广告主选择自己的目标人群,避免造成“你喊啊,你喊破喉咙也没人理你”的尴尬场面。这个功能可大可小,随便做做点简单的也许,好好做得很细也行,对小公司来说,投入产...

2018-06-26 10:46:25 614

转载 互联网广告综述之点击率特征工程

一.互联网广告特征工程博文《互联网广告综述之点击率系统》论述了互联网广告的点击率系统,可以看到,其中的logistic regression模型是比较简单而且实用的,其训练方法虽然有多种,但目标是一致的,训练结果对效果的影响是比较大,但是训练方法本身,对效果的影响却不是决定性的,因为训练的是每个特征的权重,权重细微的差别不会引起ctr的巨大变化。在训练方法确定后,对ctr预估起到决定性作用的是选用...

2018-06-26 10:46:18 126

转载 深度学习word2vec笔记之应用篇

一.对广告主的辅助1.1基本概念互联网广告的广告主其实往往有他们的困惑,他们不知道自己的目标人群在哪里。所谓目标人群,就是广告主想向他们投广告的那帮人。就像互联网广告的一个大牛的一句名言——我知道互联网广告有一半是浪费的,问题是我不知道是哪一半。这个困惑就给媒体带来一个义务——要帮助广告主定向他们的目标人群。对于普通的广告主来说,比如说一个化妆品广告的广告主,它的目标人群很明显就是年轻的女性。注意...

2018-06-26 10:46:08 384

转载 集合同步

词汇解析词汇解析如何以线程安全的方式使用Java List?A. 经典做法在迭代开始之前,使用synchronized手动同步所有针对List的修改操作(增加、删除),保证迭代期间没有线程修改List。此方法需要明确各个方法的同步,考虑的因素很多,不建议使用。B. Synchronized Wrappers(包装器)使用java.util.Collections的工厂方法Collections.s...

2018-06-26 10:45:44 688

转载 从最大似然到EM算法浅解

转自:http://blog.csdn.net/zouxy09/article/details/8537620        机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题。神为什么是神,因为神能做很多人做不了的事。那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那...

2018-06-25 13:56:34 83

转载 互联网广告系统综述一生态圈

目录一.互联网广告行业生态    1.1互联网广告生态圈发展过程          1.1.1 基本情况          1.1.2 产业情况          1.1.3 工业情况    1.2互联网广告生态圈的一些解读    1.3 大数据下的互联网广告新发展一.互联网广告行业生态互联网广告是互联网行业最主要的赢利模式,流量变现成为互联网商业产品非常重要的评价标准。随着互联网的发展,互联网的...

2018-06-25 13:12:43 2471

转载 LDA入门级学习笔记

一.问题描述传说搜狗公司请了个大牛,把这方面搞得风生水起。最近组内的LDA用得风风火火的,组内同事也是言必称LDA。不花点时间看看,都快跟人说不上话了。当然,学习东西慢就只好从简单的开始了,所以把简单的基础的东西在这里讲讲,希望能把基本问题讲清楚,高深的推导就跳过了。1.1文本建模相关统计文本建模的目的其实很简单:就是估算一组参数,这组参数使得整个语料库出现的概率最大。这是很简单的极大似然的思想了...

2018-06-25 11:24:45 330

转载 elasticsearch 的滚动(scroll)

Scrollsearch 请求返回一个单一的结果“页”,而 scroll API 可以被用来检索大量的结果(甚至所有的结果),就像在传统数据库中使用的游标 cursor。滚动并不是为了实时的用户响应,而是为了处理大量的数据,例如,为了使用不同的配置来重新索引一个 index 到另一个 index 中去。client 支持:Perl 和 Python注意:从 scroll 请求返回的结果反映了 se...

2018-06-22 17:07:57 1665

转载 spring几种获取 HttpServletRequest 对象的方式

以下的 request 实例都编号了,一共 4 种 方式1.@Autowired 方式2.public void Test(HttpServletRequest request1, HttpServletResponse resp,HttpSession session1) 方式3.((ServletRequestAttributes)RequestContextHolder.getRequest...

2018-06-22 16:45:32 23471

转载 Feature Tools:可自动构造机器学习特征的Python库

选自Towards data science,作者:William Koehrsen,机器之心编译。目前,很多机器学习项目的模型选择开始转向自动化,而特征工程仍然主要以人工为主。这个过程的重要性可能比模型选择更重要,人工得到的特征总带有一定的局限性。在本文中作者将为我们介绍如何使用 Feature Tools Python 库实现特征工程自动化,项目已开源。项目地址:https://docs.fe...

2018-06-22 14:02:22 16212 1

转载 Elasticsearch的Scroll操作

ScrollVersion:6.1英文原文地址:Scroll当一个搜索请求返回单页结果时,可以使用 scroll API 检索体积大量(甚至全部)结果,这和在传统数据库中使用游标的方式非常相似。不要把 scroll 用于实时请求,它主要用于大数据量的场景。例如:将一个索引的内容索引到另一个不同配置的新索引中。Client support for scrolling and reindexing一些...

2018-06-22 13:55:43 6213

转载 Attention的梳理、随想与尝试

转自:https://zhuanlan.zhihu.com/p/38281113(一)深度学习中的直觉3 X 1 and 1 X 3 代替 3 X 3LSTM中的门设计Attention机制的本质来自于人类视觉注意力机制。人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分。而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习...

2018-06-21 10:39:02 2826

转载 99%的人都理解错了HTTP中GET与POST的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET...

2018-06-21 10:28:57 276

转载 sklearn API 文档

所有函数和类的确切API,由docstrings给出。API会为所有功能提供预期类型和允许的功能,以及可用于算法的所有参数。原文链接 : http://scikit-learn.org/stable/modules/classes.html译文链接 : http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030193贡献者 : 片刻 A...

2018-06-19 21:01:57 3979

转载 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(九)

上几节介绍了多种模型(线性模型、支持向量机、集成学习),这一节介绍一类新的预处理方法。 九、降维(Dimensionality Reduction)  在现实生活中很多机器学习问题有上千维,甚至上万维特征,这不仅影响了训练速度,通常还很难找到比较好的解。这样的问题成为维数灾难(curse of dimensionality)  幸运的是,理论上降低维度是可行的。比如MNIST数据集大部分的像素总是...

2018-06-19 20:26:53 307

转载 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(八)

上一节讲了决策树算法,虽然存在一些局限性,但是正是这种局限性造就了集成学习中的随机森林算法。 八、集成学习与随机森林  假设要解决一个复杂的问题,让众多学生去回答,然后汇总他们的答案。在许多情况下,会发现这个汇总的答案比一个老师的答案要好。同样,如果汇总了一组预测变量(例如分类器或回归因子)的预测结果,则通常会得到比最佳个体预测变量得到更好的预测结果。这种技术被称为集成学习(Ensemble Le...

2018-06-19 20:25:25 3137

转载 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(七)

上一节讲了SVM,这一节将另外一个强大的算法:决策树,它能够处理回归和分类问题,甚至是多输出问题,能够拟合复杂的数据(容易过拟合),而且它是集成算法:随机森林(Random forest)的基础,下面开始介绍决策树Scikit-learn的用法,以及参数的选择及算法的局限性。 七、决策树(Decision Trees) 1、训练决策树并其可视化  下面是决策树分类(DecisionTreeClas...

2018-06-19 20:21:48 932

转载 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(六)

上一节讲述了线性模型,Logistic回归模型,Softmax模型,他们这种通过定义损失函数,然后计算损失函数的梯度,并求平均值来更新参数。下面介绍一种新的模型。六、支持向量机(Support Vector Machines)  支持向量机(SVM)是一种非常强大的机器学习模型,能够进行线性、非线性分类、回归问题,还能检测异常值。SVM特别适用于复杂但小型或中型的数据集的分类。 1、线性SVM分类...

2018-06-19 20:18:59 314

转载 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(五)

上几节讲述了真实数据集在回归问题以及分类问题上的总流程,但是对于模型的选择及参数的选择仍然一知半解,因此本节开始讲述关于模型的一些知识,本节会略过一些比较基础的知识,将一些较为深入的知识。如果在哪个方面没有看懂,可以在网上查询,网上基础资料也比较多,也可以在下方评论。五、训练模型1、线性模型线性模型形如:y=θ0+θ1x1+θ2x2+⋯θnxny=θ0+θ1x1+θ2x2+⋯θnxn为了得到使均方...

2018-06-19 20:08:32 618

hadoop-windows

Hadoop 2.7. 6在Windows7下单机部署时的补丁文件包,解决Hadoop在Windows下的安装问题

2018-08-14

Z-Stack API

ZStack 2006版本Api,中文版,

2011-03-30

《Z-Stack API 接口》中文版

ZigBee协议栈编程接口(API),中文版。

2010-04-04

空空如也

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

TA关注的人

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