- 博客(12)
- 资源 (11)
- 收藏
- 关注
原创 CPU load飙高排查---线程级别
进程级别的逗号处理,直接top就可以了.但是线程级别的CPU load飙升处理起来相对而已比较麻烦. 好, 直接上脚本:#!/bin/kshtypeset top=${1:-10}typeset pid=${2:-$(pgrep -u $USER java)}typeset tmp_file=/tmp/java_${pid}_$$.trace$JAVA_HOME/bin/jstack $pi
2016-04-26 20:28:59 3628
原创 对象copy和序列化
浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建新的实例,并且初始化为形式参数实例值。这个方式称为深拷贝JAVA Object自带的clone函数其实出现问题的关键就在于 clone() 方法上,我们知道该 clone() 方法是使用 Object 类的 clone() 方
2016-04-26 11:52:08 399
原创 Synchronized详解
Java 同步关键字(synchronized)Java 中的同步块用 synchronized 标记。同步块在 Java 中是同步在某个对象上。所有同步在一个对象上的同步块在同时只能被一个线程进入并执行操作。所有其他等待进入该同步块的线程将被阻塞,直到执行该同步块中的线程退出。有四种不同的同步块: 实例方法 静态方法 实例方法中的同步块 静态方法中的同步块 上述同步块都同步在不同对象上。
2016-04-25 20:40:43 925
原创 Volatile详解
VolatiteJava 语言提供了一种稍弱的同步机制,即 volatile 变量.用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新. 当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的.为了解决缓存不一致性问题,通常来说有以下2种解决方法: 1.通过在总线加LOCK#锁的方式 2.通过缓存一致性协议缓存一致性协议核
2016-04-25 20:23:44 693
原创 JAVA内存模型
JVM物理结构 1、Heap(堆):一个Java虚拟实例中只存在一个堆空间 2、MethodArea(方法区域):被装载的class的信息存储在Methodarea的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件内容并把它传输到虚拟机中。 3、JavaStack(java的栈):虚拟机只会直接对Javastack执行两种操作:以帧为单位的压栈
2016-04-25 19:45:40 6831
原创 lucene系列-近实时搜索
Index索引刷新过程:只有Index Writer上的commit操作才会导致ram directory上的数据完全同步到文件。 Index Writer提供了实时获得reader的API,这个调用将导致flush操作,生成新的segment,但不会commit(fsync),从而减少 了IO。新的segment被加入到新生成的reader里。从返回的reader里,可以看到更新。所以,只要每次
2016-04-25 14:08:34 3014
原创 SVD建模
以MovieLens电影推荐为例,SVD(Singular Value Decomposition)的想法是根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来根据分析结果。使用SVD对问题进行建模SVD的想法抽象点来看就是将一个N行M列的评分矩阵R(R[u][i]代表第u个用户对第i个物品的评分),分解成一个N行F列的用户因子矩阵P(P[u][k]表示用户u
2016-04-25 11:46:25 5484
原创 特征值分解和SVD
特征值分解如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式: 这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是
2016-04-25 10:16:55 9690
原创 协同过滤-音乐推荐
一.协同过滤算法基于用户的协同过滤算法:这种算法最大的问题如何判断并量化两人的相似性,思路是这样 例子: 有3首歌放在那里,《最炫民族风》,《晴天》,《Hero》。 A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过; B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了 C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了。 我们都看出来了,A
2016-04-23 15:32:55 8601 1
原创 协同过滤--基于物品的推荐案例
数据集字段: 1.User_id: 用户ID 2.Item_id: 物品ID 3.preference:用户对该物品的评分 算法的思想: 1. 建立物品的同现矩阵A,即统计两两物品同时出现的次数. 数据格式:Item_id1:Item_id2 次数 2. 建立用户对物品的评分矩阵B,即每一个用户对某一物品的评分. 数据格式:Item_id user_i
2016-04-22 17:52:27 2406
原创 协同过滤理论
基于用户的 CF(User CF)基于用户的 CF 的基本思想相当简单,基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。计算上,就是将一个用户对所有物品的偏好作为一个向量 来计算用户之间的相似度,找到 K 邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。图 2 给出了一个例子,对于用户 A,根据用户的历
2016-04-22 17:36:23 623
原创 Java原生线程池原理
Executor框架主要由三个部分组成:任务,任务的执行,异步计算的结果。 主要的类和接口简介如下: 1. Executor是一个接口,它将任务的提交和任务的执行分离。 2. ThreadPoolExecutor是线程池的核心,用来执行被提交的类。 3. Future接口和实现Future接口的FutureTask类,代表异步计算的结果。 4. Runnable接口和Callable接口的
2016-04-22 14:46:19 1730
痛点:挖掘小数据满足用户需求
2020-09-28
Attention+is+All+You+Need.pdf
2019-09-16
google microsoft 算法面试神器 crack code interview.pdf
2013-08-13
新浪微博数据挖掘方案
2013-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人