自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 spark中的ALS

前言spark平台推出至今已经地带到2.1的版本了,很多地方都有了重要的更新,加入了很多新的东西。但是在协同过滤这一块却一直以来都只有ALS一种算法。同样是大规模计算平台,Hadoop中的机器学习算法库Mahout就集成了多种推荐算法,不但有user-cf和item-cf这种经典算法,还有KNN、SVD,Slope one这些,可谓随意挑选,简繁由君。我们知道得是,推荐系统这个应用本身并没有过时,...

2018-04-30 20:06:16 1859

转载 javaweb学习总结(十四):JSP原理

一、什么是JSP?  JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。  JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。二、JSP原理2.1、Web服务器是如何调用并执行一个jsp页面的?  ...

2018-04-30 17:30:44 115

转载 JavaWeb学习总结(十三):使用Session防止表单重复提交

在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。一、表单重复提交的常见应用场景有如下的form.jsp页面 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> ...

2018-04-30 17:30:36 93

转载 JavaWeb学习总结(十二):Session

一、Session简单介绍  在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。二、Session和Cookie的主要区别...

2018-04-30 17:30:26 116

转载 javaweb学习总结(十一):使用Cookie进行会话管理

一、会话的概念  会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。  有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。二、会话过程中要解决的一些问题?  每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。三、保存会话数据的两种...

2018-04-30 17:30:16 84

转载 javaweb学习总结(十):HttpServletRequest对象(一)

一、HttpServletRequest介绍  HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二、Request常用方法2.1、获得客户机信息  getRequestURL方法返回客户端发出请求时的完整URL。  getRequestURI方法返回请...

2018-04-30 17:30:07 110

转载 javaweb学习总结(九):通过Servlet生成验证码图片

一、BufferedImage类介绍生成验证码图片主要用到了一个BufferedImage类,如下:创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5...

2018-04-30 17:29:50 180

转载 javaweb学习总结(八):HttpServletResponse对象(二)

一、HttpServletResponse常见应用——生成验证码1.1、生成随机图片用作验证码  生成图片主要用到了一个BufferedImage类,  生成随机图片范例: 1 package gacl.response.study; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics...

2018-04-29 19:24:33 86

转载 javaweb学习总结(七):HttpServletResponse对象(一)

Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。一、HttpServletResponse对象介绍    HttpServletRe...

2018-04-29 19:20:27 84

转载 javaweb学习总结(六):Servlet开发(二)

一、ServletConfig讲解1.1、配置Servlet初始化参数  在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。例如: 1 <servlet> 2 <servlet-name>ServletConfigDemo1</servlet-name> 3 ...

2018-04-29 19:15:19 85

转载 javaweb学习总结(五):Servlet开发(一)

一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯,通常我们也把实现了se...

2018-04-29 19:06:22 152

翻译 G1垃圾收集器入门

说明concurrent: 并发, 多个线程协同做同一件事情(有状态)parallel: 并行, 多个线程各做各的事情(互相间无共享状态)参考: What’s the difference between concurrency and parallelism概述目的本文介绍如何使用G1,及在 Hotspot JVM 中怎么使用G1垃圾收集器。 您将了解 G1 收集器的内部原理, 切换为 G1 收...

2018-04-29 17:57:56 2303

转载 JVM 参数使用总结

1. 参数分类1.标准参数 功能和输出的参数都是很稳定的 在未来的JVM版本中不会改变 可以使用java -help检索出所有的标准参数2.X参数 非标准化参数 在未来的版本可能会改变 所有的参数都用-X开始 可以使用java -X检索 但是注意没有-Xcomp3.XX参数 非标准 很长一段时间不会列出来 用于JVM开发的debug和调优说明XX参数的语法:所有的XX参数都以”-XX:”开始,但是...

2018-04-29 17:11:31 209

转载 Learning to rank的讲解,单文档方法(Pointwise),文档对方法(Pairwise),文档列表方法(Listwise)

学习排序(Learning to Rank)LTR(Learning torank)学习排序是一种监督学习(SupervisedLearning)的排序方法。LTR已经被广泛应用到文本挖掘的很多领域,比如IR中排序返回的文档,推荐系统中的候选产品、用户排序,机器翻译中排序候选翻译结果等等。IR领域传统的排序方法一般通过构造相关度函数,然后按照相关度进行排序。影响相关度的因素很多,比如上面提到的tf...

2018-04-29 16:53:04 736

转载 JVM 参数详解

原文链接:http://286.iteye.com/blog/1924947-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。        可以说“不稳定参数”是一柄双刃剑,用的好攻无不克,用的差讲带来麻烦。如何合理利用不稳定参数一直是一个...

2018-04-29 16:33:46 524 1

转载 推荐系统之隐语义模型(LFM)

一 基本概念LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型。那这种模型跟ItemCF或UserCF有什么不同呢?这里可以做一个对比:对于UserCF,我们可以先计算和目标用户兴趣相似的用户,之后再根据计算出来的用户喜欢的物品给目标用户推荐物品。而ItemCF,我们可以根据目标用户喜欢的物品,寻找和这些物品相似的物品,再推荐给用户。我们还有一种方...

2018-04-29 16:26:33 413

转载 使用LFM(Latent factor model)隐语义模型进行Top-N推荐

隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应用效果。比如,在推荐系统中它能够基于用户的行为对item进行自动聚类,也就是把item划分到不同类别/主题,这些主题/类别可以理解为用户的兴趣。对于一个用户来说...

2018-04-29 15:03:23 241

转载 Tomcat源代码阅读系列之八:Tomcat 设计模式总结

本篇我们将来分析一下Tomcat中所涉及到设计模式,本文我们将主要来分析外观模式,观察者模式,责任链模式,模板方法模式,命令模式。 在开始本文之前,笔者先说明一下对于设计模式的一点看法。笔者曾经经常看到网上有人讨论设计模式,也偶尔会遇到有人非要严格按照GOF设计模式的类图以及其中的角色去套用别人的设计,只要类图不一样,或者角色多了或者少了就会觉得怎么和官方定义的模式不一样,其实这都是对设计模式的误...

2018-04-28 19:31:57 123

转载 Tomcat源码解析七:Tomcat Session管理机制

前面几篇我们分析了Tomcat的启动,关闭,请求处理的流程,tomcat的classloader机制,本篇将接着分析Tomcat的session管理方面的内容。在开始之前,我们先来看一下总体上的结构,熟悉了总体结构以后,我们在一步步的去分析源代码。Tomcat session相光的类图如下:通过上图,我们可以看出每一个StandardContext会关联一个Manager,默认情况下Manager...

2018-04-28 19:31:05 245

转载 Tomcat源码解析六:Tomcat类加载器机制

要说Tomcat的Classloader机制,我们还得从Bootstrap开始。在BootStrap初始化的时候,调用了org.apache.catalina.startup.Bootstrap#initClassLoaders方法,这个方法里面创建了3个ClassLoader,它们分别是commonLoader,catalinaLoader,sharedLoader,其中catalinaLoad...

2018-04-28 19:30:08 170

转载 Tomcat源码解析五:Tomcat请求处理过程

前面已经分析完了Tomcat的启动和关闭过程,本篇就来接着分析一下Tomcat中请求的处理过程。在开始本文之前,咋们首先来看看一个Http请求处理的过程,一般情况下是浏览器发送http请求->建立Socket连接->通过Socket读取数据->根据http协议解析数据->调用后台服务完成响应,详细的流程图如上图所示,等读者读完本篇,应该就清楚了上图所表达的意思。Tomcat...

2018-04-28 19:29:09 301

转载 Tomcat源码解析四:Tomcat关闭过程

我们在Tomcat启动过程(Tomcat源代码阅读系列之三)一文中已经知道Tomcat启动以后,会启动6条线程,他们分别如下:[java] view plain copy"ajp-bio-8009-AsyncTimeout" daemon prio=5 tid=7f8738afe000 nid=0x115ad6000 waiting on condition [115ad5000]    "ajp...

2018-04-28 19:27:52 644

转载 Tomcat源码解析三:tomcat的启动过程

Tomcat组件生命周期管理在Tomcat总体结构 (Tomcat源代码解析之二)中,我们列出了Tomcat中Server,Service,Connector,Engine,Host,Context的继承关系图,你会发现它们都实现了org.apache.catalina.Lifecycle接口,而org.apache.catalina.util.LifecycleBase采用了模板方法模式来对所有...

2018-04-28 19:26:14 210

转载 Tomcat源码解析系列二:Tomcat总体架构

Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载servlet的,但,当使用一些MVC框架时,如spring MVC、strusts2,可能就找不出servlet在哪里?其实spring MVC框架就是一整个servlet,在web.xml中配置如下:[h...

2018-04-28 11:31:44 213

转载 Tomcat源码解析一:下载源码与导入eclipse

自从写web程序以来,web程序是如何在Tomcat中运行的一直困惑着我,不知道底层的运行机制是无法真正理解web的,所以就开始研究Tomcat源码,Tomcat是一个轻量级的java服务器,再结合《How Tomcat works》和网上大牛博客之后,也算知道了内部的运行架构。    首先去官网下载Tomcat源码,我下载的是apache-tomcat-7.0.63-src(在这里下载),因为源...

2018-04-27 20:03:35 682

转载 如何直观理解AUC评价指标?

导语最近一直在思考如何直观理解AUC,查了维基百科的以及网上的讲解描述,感觉仍然很难把这个概念表述得通俗易懂,直到昨天周会后拿笔在纸上画了画,感觉似乎找到了一种比较有意思的理解方法,下面就请各位看官容我慢慢道来。首先简单介绍一下什么是AUC。根据维基百科的描述,AUC(Area under the Curve of ROC)是ROC曲线下方的面积,是判断二分类预测模型优劣的标准。ROC(recei...

2018-04-27 19:24:06 717

转载 ExecutorService-10个要诀和技巧

原文链接 作者:Tomasz Nurkiewicz    译者:simonwangExecutorService抽象概念自Java5就已经提出来了,现在是2014年。顺便提醒一下:Java5和Java6都已不被支持,Java7在半年内也将会这样。我提出这个的原因是许多Java程序员仍然不能完全明白ExecutorService到底是怎样工作的。还有很多地方要去学习,今天我会分享一些很少人知道的特性...

2018-04-27 01:21:02 371

转载 ThreadLocal 内存泄露的实例分析

前言之前写了一篇深入分析 ThreadLocal 内存泄漏问题是从理论上分析ThreadLocal的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。案例与分析问题背景在 Tomcat 中,下面的代码都在 webapp 内,会导致WebappClassLoader泄漏,无法被回收。public class MyCount...

2018-04-26 20:47:11 1118

转载 深入分析 ThreadLocal 内存泄漏问题

原文出处: 肖汉松前言ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕三个方面来分析ThreadLocal 内存泄漏的问题ThreadLocal 实现原理ThreadLocal为什么会内存泄漏ThreadLocal 最佳实...

2018-04-26 20:44:49 63

转载 CTR点击率预估干货分享

1.指标广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标: 1.排序指标。排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找出来去呈现给最合适的用户。这个是变现的基础,从技术上,我们用AUC来度量。2.数值指标。数值指标是进一步的指标,是竞价环节进一步优化的基础,一般DSP比较看中这个指标。如果我们对CTR普遍低估,我们出价会相对保守,从而使得预算花不...

2018-04-25 22:46:12 773

转载 XGBoost原理

①、XGBoost vs GBDT说到XGBoost,不得不说GBDT,两者都是boosting方法。GBDT可以看成是Adaboost的前向逐步递增推导形式(——因为直接找到最优的模型ff是有难度的,所以采取每次递增的方式。)GBDT对分类问题基学习器是二叉分类树,对回归问题基学习器是二叉决策树。N为样本个数。下面为训练第m个基学习器的过程。 - 损失函数:L(f(x),y)L(f(x),y) ...

2018-04-25 22:31:50 493

转载 XGBoost-Python完全调参指南-参数解释篇

本文转自XGBoost-Python完全调参指南-参数解释篇。对XGBoost有需要小伙伴可以参看。并在此基础上,添加了一些内容。在analytics vidhya上看到一篇《Complete Guide to Parameter Tuning in XGBoost in Python》,写的很好。因此打算翻译一下这篇文章,也让自己有更深的印象。具体内容主要翻译文章的关键意思。这篇文章按照原文的分...

2018-04-25 22:29:07 201

转载 理解 LSTM 网络

Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网络...

2018-04-25 21:07:56 262

转载 受限玻尔兹曼机(Restricted Boltzmann Machine)分析

1、什么是BM?BM是由Hinton和Sejnowski提出的一种随机递归神经网络,可以看做是一种随机生成的Hopfield网络,是能够通过学习数据的固有内在表示解决困难学习问题的最早的人工神经网络之一,因样本分布遵循玻尔兹曼分布而命名为BM。BM由二值神经元构成,每个神经元只取1或0这两种状态,状态1代表该神经元处于接通状态,状态0代表该神经元处于断开状态。在下面的讨论中单元和节点的意思相同,均...

2018-04-25 16:53:48 1412

转载 redis之 zadd、zremrangebyscore、zremrangebyrank、zscore、zcard、zcount、zrangebyscore、zinczrevrankzrevrange

1.zadd向名称为 key 的 zset 中添加元素 member, score 用于排序。如果该元素已经存在,则根据score 更新该元素的顺序redis 127.0.0.1:6379> zadd myzset 1 "one"(integer) 1redis 127.0.0.1:6379> zadd myzset 2 "two"(integer) 1redis 127.0.0.1:...

2018-04-25 13:01:14 2761

转载 机器学习基础——支持向量机

前言   最开始接触SVM是在吴恩达的课程上,展示了一个例子:用SVM将人声从环境声中单独剥离出来。后来,在吴教授的Coursera机器学习课程中监督学习部分的末尾,讲述了SVM。但是他所讲述的SVM是基于逻辑回归修改而得来的。这个东西确实不太好明白,目前我也只是将自己的理解结合July的资料整理描述出来,在未来会继续的修正与更新这块内容,下面就开始我的粗浅的认识。一、什么是SVM?  SVM(S...

2018-04-25 09:34:30 493

转载 机器学习基础——RandomForest

随机森林(Random Forest):    随机森林是一个最近比较火的算法,它有很多的优点:    在数据集上表现良好    在当前的很多数据集上,相对其他算法有着很大的优势    它能够处理很高维度(feature很多)的数据,并且不用做特征选择    在训练完后,它能够给出哪些feature比较重要    在创建随机森林的时候,对generlization error使用的是无偏估计   ...

2018-04-25 09:34:20 161

转载 机器学习基础——实现基本的决策树

一、决策树基本流程 决策树是常见的机器学习方法。我在学习周志华的机器学习的时候,用python实现了最基础的ID3算法,其基本思想是:基于信息论中的信息增益理论,首先找出判断样本的最高的信息增益的属性(或者说特征),然后依次对按该属性划分成的子集进行同样的选择信息增益最大的属性并进行划分的过程。这是一个典型的(divide-conquer)的过程。二、最基本的决策树实现下面,通过周志华《机器学习》...

2018-04-24 15:26:22 155

转载 DFS——深度优先算法(Depth First Search)

1、前言这几天刷leetcode经常碰到DFS BFS的问题,之前一直也是模棱两可,凭着感觉做,是需要总结一下了。深度优先搜索(缩写DFS)是一种在开发爬虫早期使用较多的方法。属于图算法的一种,也是对一个连通图进行遍历的算法。其思想是:从一个顶点vv开始,沿着一条路线一直走到底,如果发现不能到达目标,那就返回到走不通节点的上一个节点,然后尝试从另一条路开始走到底,每个节点只可以访问一次。这种尽量往...

2018-04-24 15:17:57 392

转载 BFS——广度优先算法(Breadth First Search)

1、前言这几天刷leetcode经常碰到DFS BFS的问题,之前一直也是模棱两可,凭着感觉做,是需要总结一下了。广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0V0开始,辐射状地优先遍历其周围较广的区域,因此得名。一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于...

2018-04-24 15:16:14 985

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关注的人

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