java
文章平均质量分 65
阿童木-atom
行到水穷处,坐看云起时!
鄙人学富五车、才高八斗。技术能力称雄天下,敢领风骚数五百年。java、scala、python、C/C++、php登峰造极,精通Spring、mybatis、hibernate、struts2各种框架及具备各种大型系统架构能力,深耕搜索、推荐、数据挖掘、机器学习、深度学习、人工智能等领域,通读lucene、solr、elaticsearch、sphinx、mahout、tensorfolw等开源项目源码,精通hadoop、hbase、hive、spark、kafka、rabbit、activeMQ等大数据处理工具的应用。
展开
-
插入排序算法
插入排序算法通过比较和插入来实现排序,具体如下:1)假设第0个元素是排序好的,第1个元素与之经较,如果小于第0个,最把第0个元素后移一个,把第1个元素插入到第0个位置2)接着,第2个元素,与前两个元素比较,把第3个插入到合适的位置3)重复上述过程,直接最后一个元素插入到合适的位置,结束!为了更好的理解下面通过一个实际例子来一步步的执行排序算法举例说明:要原创 2017-09-29 13:09:33 · 257 阅读 · 0 评论 -
java并发编程之CyclicBarrier原理分析与实例
CyclicBarrier是栅栏的意思,线程要越过这个栅栏才能继续执行,但是必须是所有的线程到齐后才能一起越过这个栅栏。主要适用了两个或多个线程的线程组在预定的执行点进行等待,直达线程组中所有的线程都到达执行点再继续执行。 例如一个团队游戏,总共10人参加,其中有一个项目是跨越高墙,跨越高墙高墙后的项目是必须10个人一起参加,缺一不可。那么先跨过高墙的人必须等待。这10个人就相当于10个...原创 2018-05-22 13:22:06 · 15762 阅读 · 0 评论 -
java并发编程之CountDownLatch原理分析与实例
CountDownLatch的原理与Semaphore是类似的,其内部是用一个计数器控制线程间的同步,也是通过一个AbstractQueuedSynchronizer中state来实现的,state是一个private volatile long类型的对象。CountDownLatch使用state来计数,CountDownLatch的getCount最终调用的是AbstractQueuedS...原创 2018-05-22 12:47:59 · 15755 阅读 · 0 评论 -
java并发编程之Semaphore原理分析与实例
Semaphore、CountDownLatch、CyclicBarrier、Exchanger、Phaser均是concurrent包提供的用于多线程同步的对像,使用它们可以相对方便的处理复杂的同步场景。Semaphore 实现了经典的信号量机制。信号量其实是一个非负整数表示可用共享资源的数目,主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制。其内...原创 2018-05-22 11:23:18 · 16021 阅读 · 0 评论 -
java8新特性lambda表达式
lambda表达式是java8新增的一个语法元素,也是java8最重要新特性,增加lambda新特性是java语言持续保持活力和创新性的必然要求,因为lambda表达式是近几年计算机语言设计的重点关注领域,包括随spark而火起来的scala语言,也就是以对lambda表达式支持而备受欢迎。可以说lambda表达式是继java5提供泛型编程后,又一次重塑和飞跃。java实现的lambda表达式...原创 2018-05-18 15:11:20 · 15684 阅读 · 0 评论 -
java7或java8新特性
1、jdk7,数值类型字面值可以用‘多个‘—’分隔增加可读性 int a = 123_456; double b = 123_456e3;2、jdk7,可以使用字符串控制switch语句 String str = "abc"; switch (str){ case "abc":原创 2018-05-17 08:47:56 · 19382 阅读 · 1 评论 -
JVM性能调优之jstack分析线程状态
本文转载自 http://www.jianshu.com/users/90ab66c248e6/latest_articles背景记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程?转载 2018-02-24 13:53:42 · 15615 阅读 · 0 评论 -
hbase实战之常用操作工具类
最近版本的hbase中,已经用Table类取代了原来的HTableInterface的,获取接连的方式也变为Connection类来获取.import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;impor原创 2017-10-13 11:35:42 · 18169 阅读 · 0 评论 -
hadoop实战之hdfs常用操作工具类
本文是hdfs常用的操作工具类,可直接复用!import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.原创 2017-10-13 11:25:21 · 16427 阅读 · 0 评论 -
频繁项集实际应用之分类到分类的交叉推荐
欢迎关注鄙人公众号,技术干货随时看!首先介绍下频繁项集的相关知识!其实频繁项集是针对购物车提出来的,也就是在购物车中频繁出现的物品的集合。2.相关概念:关联规则的支持度:Support(A,B)=包含A和B的事务数/事务总数关联规则的置信度:Confidence(A,B)= 包含A和B的事务数/包含A事务数频繁项集:项集的频率大于等于最小支持度。强相关规则:同时满足...原创 2017-10-12 16:49:47 · 16036 阅读 · 0 评论 -
红黑树java原理及实现源码
红黑树的介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性:转载 2017-10-12 14:52:17 · 16285 阅读 · 0 评论 -
hanlp源码解读之字符正规化CharTable
概述:字符正规化是指在分词之前把繁体转成简体、大写转成小写等,在自然语言处理中这是必不可以的一个步骤!在hanlp中的实现方法是基于词典的,也就是正规则字符对照表。就是“data/dictionary/other/CharTable.txt” 这个词典,打开后是下面这个样子的!«=《 「=“」=”『=‘』=’【=《〗="〝="〞="と=之ふ=子ル=儿ㄖ=日丟=丢原创 2017-10-12 09:28:23 · 16226 阅读 · 0 评论 -
k-means聚类算法hadoop实现源码
本篇文章只讲可用的hadoop实现算法的源码,可直接拷贝用于工程中!/** * 质点特征模型,可根据自己的业务需求进行修改 * * @author jianting.zhao */public class ParticleModel { //特征x public double x; //特征y public double y; public原创 2017-10-11 09:35:46 · 16981 阅读 · 1 评论 -
elasticsearch常用操作URL与java实例代码
一、概念1、集群和节点节点(node)是你运行的Elasticsearch实例。一个集群(cluster)是一组具有相同cluster.name的节点集合,他们协同工作,共享数据并提供故障转移和扩展功能,当有新的节点加入或者删除节点,集群就会感知到并平衡数据。集群中一个节点会被选举为主节点(master),它用来管理集群中的一些变更,例如新建或删除索引、增加或移除节点等;当原创 2017-10-10 16:17:38 · 1991 阅读 · 0 评论 -
堆排序算法java实现
概述堆本质是完全二叉树的,只是在对二完全二叉树做了以下几个方面的限定:1、大根堆:根结点大于等于其子结点的数据,左右子树大小没有限定,这样以来最大数据就是root结点2、小根堆:根结点小于等于其子结点的数据,左右子树大小没有限定,这样以来最小的结点是root结点3、堆排序的过程就是,取出根结点,重新构造堆(因为堆结构已破坏),取出根结点。。。。4、对于任结点i 其中i[0,n-原创 2017-10-10 15:51:10 · 371 阅读 · 0 评论 -
彻底理解Runnable和Thread的区别
在实际工作中,我们很可能习惯性地选择Runnable或Thread之一直接使用,根本没在意二者的区别,但在面试中很多自以为是的菜货面试官会经常而且非常严肃的问出:请你解释下Runnable或Thread的区别?尤其是新手就容易上当,不知如何回答,就胡乱编一通。鄙人今天告诉你们这二者本身就没有本质区别,就是接口和类的区别。问出这个问题的面试官本身就是个二流子!如果非要说区别,请看如下:Run...原创 2019-07-30 09:45:42 · 128165 阅读 · 53 评论