自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

转载 使用Java语言开发机器学习框架和参数服务器

https://github.com/wudikua/ps本项目是我自己动手实现的机器学习训练框架,代码简单,有很多不完善,但是也保留了最小可用功能通过自己编写这个项目,可以帮助自己入门机器学习准备1. 学习梯度下降法训练LR模型原理,了解机器学习一般的套路2. 学习神经网络的模型结构,正向传导和反向传导3. 学习一些python写的神经网络,训练代码4. 参...

2018-06-26 16:58:00 375

转载 storm实践

一 环境与部署1. 环境变量  由于是分布式环境,对于java单机的 -Djvm参数不适用,在storm中处理环境变量是通过org.apache.storm.Config,在提交任务创建Topology时设置Config,在Spout和Bolt中通过open方法中的config参数读取2. 部署  storm集群重启时会有短暂时间的不可用,解决这种方式可以通过部署两...

2018-01-26 19:14:00 254

转载 JVM线程状态,park, wait, sleep, interrupt, yeild 对比

---恢复内容开始---JVM线程状态NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATEDBLOCKED是等待获得对象锁WAITING是调用了wait, sleep, park操作系统线程状态sleep, 进入TIMED_WAITING状态,不出让锁wait,进入TIMED_WA...

2016-12-23 12:18:00 371

转载 PHP版本解密openrtb中的价格

Decrypt Price Confirmations原文地址https://developers.google.com/ad-exchange/rtb/response-guide/decrypt-price?hl=zh-cn%23decryption_scheme<?phpfunction urlsafe_b64decode($string) ...

2016-12-12 16:01:00 285

转载 Minimum Path Sum

一个矩阵,从左下角开始走,走到右上角经过节点和最小的路径例如:1, 2, 3, 11, 2, 1, 41, 1, 1, 41, 2, 3, 4结果是9,up -> right -> right -> up -> right递归法int grid[4][4]这样的二维数组代表每个节点的值,从grid[0][0]走到grid[3]...

2016-07-27 15:07:00 95

转载 广告引擎解析

广告引擎总体设计检索服务广告检索流程广告定向定向维度下的选项很少,可以枚举,这类定向包括,性别,年龄段,网络,系统。我们的系统现在是如何处理这类定向的定向维度有级联关系,省,市,区定向维度是按照某个坐标附近N公里定向检索服务是数据库的副本CTR计算计算二价ADX广告曝光服务计...

2016-07-13 18:38:00 626

转载 程序员必须知道的延迟时间

L1缓存 0.5ns转移、分支预测 5nsL2缓存 7ns 14倍L1缓存加锁\解锁 ...

2016-06-30 18:01:00 262

转载 JVM垃圾收集算法的选择

1. 介绍JVM提供了多种垃圾收集器,应该根据应用选择一种合适的垃圾收集器。垃圾回收管理内存通过如下操作:  在年轻代分配对象,把年龄大的对象晋升到老年代。  当年老代超过阈值的时候,并发标记收集。  通过合并内存,拷贝内存的方式对内存进行整理,回收可以内存。垃圾回收什么时候会产生问题?对于有些应用,垃圾回收永远都不会成为问题,有些应用在垃圾回收期间短暂的暂停...

2016-06-27 16:27:00 105

转载 N个苹果分给M个人,有多少种分法

每次分配一个苹果出去,然后再分配N-1个苹果。这里有个注意的地方就是,分那1个苹果的时候,假设还有N个苹果,不是从第一个人开始分,而是从N+1个苹果分配的位置开始,不然的话会产生重复的解。所以i=p不是i=0。List<Integer> result = Lists.newArrayList(0, 0, 0);@Test/** * N个苹果...

2016-06-23 10:36:00 5589

转载 tcp总结

一. 协议TCP协议头部20个字节,注意TCP协议没有源地址和目的地址,那两部分信息在IP数据报中1. 前4字节,源端口,目的端口,所以TCP可用的端口号范围是0-2^16-1(65535)2. 4个字节序号,4个字节确认号。数据发送和接收的时候使用。  序号和确认号在发送方的作用。  序号的意义,首先序号标示了唯一的包,类似于一个ID,其次序号标示了发发送的顺...

2016-06-21 22:33:00 99

转载 mysql事务隔离级别

MYSQL的锁1. 共享锁,也就是读锁,可以通过select ... lock in share mode强制加锁,默认select语句是不加锁的2. 排他锁,也就是写锁,可以通过select ... for update强制加写锁,默认情况下insert, update, delete语句加写锁MYSQL锁的粒度1. 行锁,锁一行,并发高(因为冲突少),开销小,会...

2016-06-15 14:54:00 60

转载 java异常体系

1. Throwable  所有java的异常都是Throwable的子类,其中包括两种子类,分别是Error和Exception。throwable中主要的组成,一个是errorMessage,还有一个是出错是当前thread的调用栈信息,还有就是一个throwable可能是由于其他异常引起的,所以还包括caused2. Error  Error是不需要被try catch...

2016-06-14 13:07:00 91

转载 java 动态代理总结

动态代理,一般都是通过生成字节码来完成,只是生成的时机不同,而字节码的动态生成技术,不只是应用于动态代理,比如jar包,热替换等技术都是动态字节码的应用。生成字节码的库比如ASM,这个库基本就是按照字节码规范定义的格式来操作,比较底层,像cglib这种工具是基于asm开发的。再往上的一些工具比如Javassist已经抽象到和直接编写java文件没太大区别了。1. 运行时...

2016-06-01 17:47:00 100

转载 HashMap 和 ConcurrentHashMap,Java1.8版本

1. HashMapEntry,一对kv就是一个Entry,还包括一些next指针,用来解决散列冲突。table,内部用来存储Entry的数组,resize时候table会成倍扩容。容量,table数组的长度。装填因子,当key的数量大于table.length*装填因子就要进行扩容,默认75%。resize操作,同步的重新计算一遍hash值对应的新的slot...

2016-02-26 18:38:00 122

转载 CopyOnWriteArrayList对比ArrayList

ArrayList非线程安全,CopyOnWriteArrayList线程安全ArrayList添加元素的时候内部会预先分配存储空间,CopyOnWriteArrayList每次添加元素都会重新copy一次内部存储的数组ArrayList迭代的时候如果有修改会抛出异常,CopyOnWriteArrayList而不会CopyOnWriteArrayList写操作是加锁的,读操作...

2016-02-26 12:41:00 186

转载 线程池几种配置参数的理解

创建ThreadPoolExecutor可以通过构造方法和Executors的静态方法。构造方法:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliv...

2016-02-25 19:22:00 320

转载 ArrayBlockingQueue和LinkedBlockingQueue

1. ArrayBlockingQueue 数组存储,固定大小的队列。一个items数组,一个putIndex指针,从0到len代表已经入队了多少个元素。一个takeIndex指针,从0到len代表出队的元素位置。一个count,记录当前队列里有多少元素。putIndex指针入队的时候不断++,takeIndex出队的时候不断++。这个队列不是一个循环队列,判断队列空和满用cou...

2016-02-24 17:50:00 58

转载 两个集合求对称差集

对称差集,两个集合的并集,减去交集。比如,集合1,2,3和集合3,3,4,5的对称差是集合1,2,4,5。想到的解法,将两个排序,两个集合分别用两个工作指针i,j。比较两个指针指向的元素,相同就都后移,不相同,更小的指针后移。以下代码,给出了求对称差集数量的代码。public static int distinctElementCount(int arr1[],...

2016-02-23 11:09:00 2309

转载 Odd Even Linked List

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it...

2016-01-18 16:26:00 56

转载 任意多个有序结合求交集

朴素的想法是两两求交集,然后得到结果,又因为是有序的,两个有序结合求交集的方法,之前想的是遍历其中小的集合,在另一个集合里做二分查找,这样时间复杂度是O(m*lgn),m是小的集合的大小,n是大的集合的大小。这样做只利用到了n集合是有序,但是没有利用到m集合的有序特性,假如是两个无序集合,对大的排序,小的在里面做二分是可用的。下面我们说一种充分利用两个都有序的方法。假设 ...

2015-10-26 11:16:00 561

转载 类似于大数相加的一个题

Given an integer array of variable length like so [9, 8, 8, 3] where each item in array could be 0 to 9, write a function that would take would interpret the array [9, 8, 8, 3] as a number 9883 a...

2015-09-02 16:23:00 109

转载 数字的最大组合

重新排列数字中的每位,得到最大的数字例如:1234 -》 43211230 -》 32101122 -》 2211想法就是对每位重新排序,从大到小输出,因为每位的可能性只有从0-9,10种可能,所以可以使用桶排序public static int reRange(int num) { int ret = 0; // 每一位数字 ...

2015-09-02 14:45:00 199

转载 计算二叉树每层的和

BST is given. Calculate and return array with a sum of every level.For example, 1 2 3 4 5 1 2Output should be [1, 5, 12].遍历的时候记录节点在哪一层就行了,可以深度优先,不一定非得层序遍...

2015-09-01 11:07:00 928

转载 flume-ng 自定义sink消费flume source

如何从一个已经存在的Flume source消费数据1.下载flumewget http://www.apache.org/dist/flume/stable/apache-flume-1.5.2-bin.tar.gz2.创建一个自己的ConsoleSink.javaimport org.apache.flume.*;import org.apach...

2015-02-27 17:05:00 111

转载 select poll epoll相关知识速记

缘起面试的时候经常被问的一个很蛋疼的问题,经常被问,但是知识很零散,难记忆,看完就忘select作用可以监视文件描述符是否可以读写,要求监视的文件描述符是非阻塞的诞生背景产生与上个世纪80年代的UNIX系统,到1993年写入POSIX1.b规范(一个操作系统的编程接口的规范,你要是写个操作系统想被兼容得遵守这个规范)。由于那个年代还没有多线程(2年后线程相关...

2015-02-12 18:08:00 141

转载 给定经纬度定位某个城市

方案1通过GEO HASH,抓取每个格子里的点的地址信息,然后把这个地址信息作为GEO中点坐标的一个信息,当查询给定经纬度是在哪个城市的时候,查询过程是查询距离这个经纬度最近的带有地址的点,认为给定经纬度和最近的这个点是同一个地址下的。通过不断完善GEO中的每个坐标下的地址信息,可以提高整个系统的精度。这种方法相当于一种间接获取的方法的。方案2我们知道每个地区是有一定区...

2015-01-12 13:02:00 2123

转载 codis学习

一.codis-proxy 结构1.Topology2.Slots3.ServerGroup4.Server二.codis-proxy 启动过程1.初始化ProxyInfoIdAddrproductName2.Proxy 把自己标记成offline状态,将自己注册到zk上ProxyS...

2015-01-12 12:21:00 100

转载 两性文章判断

<?phpfunction scws($text){ $cws = scws_new(); $cws->set_charset('utf8'); $cws->set_duality(true); $cws->set_ignore(true); $cws->set_multi(false); ...

2015-01-08 10:52:00 922

转载 日期的压缩存储daybits

问题:存储一个日期的序列,例如保存用户一年的登录时间序列,20140201,20130102这样两个日期,如果用INT那么需要八个字节,用STRING就更多了。解决:通过bit来存储一天,具体的组织形式是这样的struct daybits { Year[] before_years; Year[] after_years;}struct ...

2015-01-04 14:52:00 312

转载 kahadb设计

Kahadb设计思想简介hakadb是activemq的持久化数据库,作为消息队列的存储,每个消息有一个消息ID,提供了对消息的快速的查找,更新,以及消息的事物支持,以及意外磬机之后的恢复。丰富的功能决定了他在存储结构上与redis中简单的双端队列不同。kahadb三大部分主要由索引(B-Tree Index),数据(PageFile),日志(Jo...

2014-12-02 15:39:00 297

转载 搭建packagist私服和composer

1.下载源码https://github.com/composer/packagist2.修改配置文件cpapp/config/parameters.yml.distapp/config/parameters.yml数据库的信息填写以下,github的key填写一下(我是随意写的)3.安装composercurl -sS https://getc...

2014-10-09 11:21:00 488

转载 php多进程写入文件

测试一$begin = time();for ($i=0; $i<10000; $i++) { $fp = fopen("tmp", 'r+'); fseek($fp, 0, SEEK_END); fwrite($fp, str_repeat($argv[1],1024*32).PHP_EOL); ...

2014-09-14 14:01:00 152

转载 PHP使用memcache长连接作为RPC客户端需要注意的地方

memcache扩展版本 3.0.8一. retry_interval$retry_interval 某个rpc服务器端失败后故障转移的时间,retry_interval的时间内,该节点会被一直标记为不可用,隔离掉,为小于0的数一直隔离。int mmc_server_valid(mmc_t *mmc TSRMLS_DC) /* checks if a serve...

2014-07-31 17:17:00 132

转载 读REDIS数据结构

一.DICT主要有两个问题:1.散列冲突,解决办法是拉链法typedef struct dictEntry { void *key; union { void *val; uint64_t u64; int64_t s64; } v; struct dictEntry *next...

2014-07-05 14:54:00 75

转载 一致性哈希虚节点解决雪崩问题

一致性哈希的基本原理大家都知道,就是找一个最近的节点或者顺时针,逆时针找一个节点,而不是通过模一个N去找节点,这样做的好处就是当其中一台磬机的时候,一致性哈希还可以继续工作,而模N的方法,所有定位在磬机节点上都会失败。如下代码是一个简单的一致性哈希:<?phpclass Redis { //redis实例的id public $id;...

2014-03-08 20:41:00 185

转载 TCP的建立和关闭

一.TCP头信息简单的至少应该知道,源端口,目的端口,序号,确认号,标志位,校验和二.TCP的建立1.客户端将SYN标志位置1,同时生成随机的序号,确认号是0。2.服务器接收到SYN,知道有人想和他建立连接,做出回应,将SYN和ACK标志位置1,确认号为刚刚接受客户端的序号加1,代表已经收到客户端的建立连接请求。然后自己再随即生成一个序号,用来确认从服务器到客户端的链路正...

2014-03-04 14:48:00 74

转载 nginx和apache的比较

1.nginx的IO是非阻塞的,apache的IO是阻塞的。nginx accept一个连接以后会把它放到EPOLL的消息循环中,APACHE需要启动一个线程,当系统线程达到瓶颈以后,会阻塞网络IO。2.nginx的并发比apache要高很多因为apache一个连接需要一个线程,而NGINX是先把socket句柄放到EPOLL中,然后循环的让处理线程处理,也可以理解为一个处理...

2014-03-03 18:00:00 72

转载 进程和线程的区别

此问题也是面试中的一大俗题,可以发散引申出很多。下面记录几点关键点。1.进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位(后半句是因为多线程的OS中,进程不是一个可执行的实体)。2.线程是依附于进程,比进程的创建销毁切换都更省资源,所以多线程的程序有更好的并发。这里有可能被追着问到线程和进程都包括哪些信息2.1 进程的PCB(进程控制块)包括进程ID...

2014-03-02 14:17:00 66

转载 从并发和索引说说innodb和myisam的区别

一.引言这个问题看似是个很俗气的问题,但是在面试中也是个经常被问到的问题。我想很多人都能说出几条,比如事物,外键,等等。但是我想这样想起一点说一句这么回答的话,知识其实都是分散的,这样就显得不是很高大上。我认为回答这个问题,可以从两个方面来阐述,一个是并发控制方面,还有一个就是索引实现方面。二.并发控制1.myisam是表级锁表锁的意思就是,对整张表加锁,当用户进行写...

2014-03-01 14:03:00 104

转载 thrift基本概念和实例

一.thrift可以做什么thrift是一个跨语言通信的工具,支持的语言多,而且还提供服务器端的众多网络模型,使服务端的开发可以只专于服务本身的逻辑。二.thrift重要概念1.processor实际服务器端业务逻辑处理的实现类。2.transportTTransport主要处理服务器端和客户端的网络读写。主要的接口opencloseread...

2014-02-08 18:10:00 153

空空如也

空空如也

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

TA关注的人

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