自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闵浮龙的博客

一只忧郁的程序猿

  • 博客(10)
  • 资源 (70)
  • 收藏
  • 关注

转载 java实现分治算法

一、分治算法介绍分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或 相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单的直接求解,原问题的解即子问题 的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变 换)…分治算法可以求解的一些经典问题 二分搜索 大整数乘法 棋盘覆盖...

2019-09-26 11:12:02 1230

转载 java实现图

一、图基本介绍1、为什么要有图前面我们学了线性表和树线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时,这里我们就用到了图。2、图的举例说明图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。如图:3、图的常用概念顶点(vertex)边(edge)路径无向图(下...

2019-09-24 16:12:00 1287

转载 多路查找树

一、二叉树与B树1、二叉树的问题分析二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿),就 存在如下问题:问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时, 速度有影响问题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.2...

2019-09-22 23:12:24 165

转载 java实现平衡二叉树(AVL 树)

一、案例(说明二叉排序树可能的问题)给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在.左边 BST 存在的问题分析:左子树全部为空,从形式上看,更像一个单链表.插入速度没有影响查询速度明显降低(因为需要依次比较),不能发挥BST的优势,因为每次还需要比较左子树,其查询速度比单链表还慢解决方案-平衡二叉树(AVL)二、基本介绍平衡二叉树...

2019-09-22 18:41:23 417 1

转载 java实现二叉排序树

一、需求给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加二、解决方案分析使用数组数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢.数组排序,优点:可以使用二分查找,查找速度快。缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。使用链式存储-链表不管链表是否有序,查找速度都慢,添加数据...

2019-09-21 22:28:10 517

转载 java实现赫夫曼编码

一、基本介绍赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,称之为最佳编码二、原理剖析通信领域中信息的处理方式 1-...

2019-09-21 16:08:21 761

转载 java实现赫夫曼树

一、基本介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为 最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近二、赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的...

2019-09-16 19:24:39 253

转载 java实现堆排序

一、堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复 杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有 要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆大顶堆举例说明小顶堆举...

2019-09-16 14:37:04 500

转载 线索化二叉树

一、问题将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树. n+1=7问题分析:当我们对上面的二叉树进行中序遍历时,数列为{8,3,10,1,6,14}但是6,8,10,14这几个节点的左右指针,并没有完全的利用上.如果我们希望充分的利用各个节点的左右指针,让各个节点可以指向自己的前后节点,怎么办? 4) 解决方案-线索二叉树二、线索二叉树基本介绍n 个结...

2019-09-12 14:00:12 129

转载 顺序存储二叉树

一、顺序存储二叉树的概念基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看下面的示意图。二、顺序存储二叉树的特点:顺序二叉树通常只考虑完全二叉树第n个元素的左子节点为 2 * n + 1第n个元素的右子节点为 2 * n + 2第 n 个元素的父节点为 (n-1) / 2n : 表示二叉树中的第几个元素(按 0 开始编号...

2019-09-11 16:19:09 302

keepalived高可用

keepalived高可用linux安装包

2017-04-24

SwitchHosts免安装包

SwitchHosts用于快速修改window的hosts文件

2017-04-24

linux Redis安装步骤及安装包

linux Redis安装步骤及安装包

2017-04-18

Json字符串格式化工具

Json字符串格式化工具

2017-04-12

restclient-ui-3.5开发包

restclient-ui-3.5,可以测试包括服务层中各种post,get之类的请求

2017-04-12

Linux命令大全

Linux命令大全

2017-04-12

FileZilla_3.25.0_XiaZaiBa+vsftpd安装手册

FileZilla_3.25.0_XiaZaiBa+vsftpd安装手册

2017-04-08

Foxmail_7.1.3安装文件

Foxmail_7.1.3安装文件

2017-04-07

360截图安装文件

360截图

2017-04-07

SQLyogEnt安装文件

SQLyogEnt

2017-04-07

nginx压缩包和安装手册

nginx压缩包和安装手册

2017-04-07

Java高并发程序设计模式资料

Java高并发程序设计模式

2017-03-29

notepad++安装文件

notepad++安装文件

2017-03-29

Java编程思想第四版完整中文高清版(免费)

Java编程思想第四版完整中文高清版(免费)

2017-03-25

apache-tomcat-9.0.0.M18免安装包

apache-tomcat-9.0免安装包

2017-03-25

单点登录文档

单点登录

2017-03-24

软件项目管理资料

软件项目管理资料

2017-03-24

WebService笔记

WebService笔记

2017-03-24

myeclipse svn插件

svn插件

2017-03-24

maven课程文件

maven课程

2017-03-24

各大知名企业面试题

ACM程序设计导引及在线实践 程序员代码面试指南 剑指offer 软件技术基础:离散数学、数据结构、C.编程实训 .来可伟.文字版 2016奇虎360C++研发工程师内推笔试题 2016奇虎360JAVA研发工程师内推笔试题 阿里巴巴2015校招研发 阿里巴巴2016前端开发工程师笔试二 阿里巴巴2016前端开发工程师笔试一 阿里巴巴2016数据挖掘工程师笔试 阿里巴巴2016研发工程师笔试选择题二 阿里巴巴2016研发工程师笔试选择题三 阿里巴巴2016研发工程师笔试选择题四 阿里巴巴2016研发工程师笔试选择题一 百度2015安全研发笔试卷 百度2015大数据云计算研发笔试卷 百度2015前端研发笔试卷 百度研发工程师2015深圳笔试卷 美团2016研发工程师模拟笔试题 人人网2015研发笔试卷A 人人网2015研发笔试卷E 搜狗2015JAVA工程师笔试题 腾讯2016研发工程师笔试真题二 腾讯2016研发工程师笔试真题三 腾讯2016研发工程师笔试真题一

2018-04-24

基于storm实时热点统计的分布式并行缓存预热

一、基于nginx+lua完成商品详情页访问流量实时上报kafka的开发 ==================================== 在nginx这一层,接收到访问请求的时候,就把请求的流量上报发送给kafka 这样的话,storm才能去消费kafka中的实时的访问日志,然后去进行缓存热数据的统计 用得技术方案非常简单,从lua脚本直接创建一个kafka producer,发送数据到kafka ``` wget https://github.com/doujiang24/lua-resty-kafka/archive/master.zip yum install -y unzip unzip lua-resty-kafka-master.zip cp -rf /usr/local/lua-resty-kafka-master/lib/resty /usr/hello/lualib nginx -s reload local cjson = require("cjson") local producer = require("resty.kafka.producer") local broker_list = { { host = "192.168.31.187", port = 9092 }, { host = "192.168.31.19", port = 9092 }, { host = "192.168.31.227", port = 9092 } } local log_json = {} log_json["headers"] = ngx.req.get_headers() log_json["uri_args"] = ngx.req.get_uri_args() log_json["body"] = ngx.req.read_body() log_json["http_version"] = ngx.req.http_version() log_json["method"] =ngx.req.get_method() log_json["raw_reader"] = ngx.req.raw_header() log_json["body_data"] = ngx.req.get_body_data() local message = cjson.encode(log_json); local productId = ngx.req.get_uri_args()["productId"] local async_producer = producer:new(broker_list, { producer_type = "async" }) local ok, err = async_producer:send("access-log", productId, message) if not ok then ngx.log(ngx.ERR, "kafka send err:", err) return end ``` 两台机器上都这样做,才能统一上报流量到kafka ``` bin/kafka-topics.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic access-log --replication-factor 1 --partitions 1 --create bin/kafka-console-consumer.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic access-log --from-beginning ``` (1)kafka在187上的节点死掉了,可能是虚拟机的问题,杀掉进程,重新启动一下 nohup bin/kafka-server-start.sh config/server.properties & (2)需要在nginx.conf中,http部分,加入resolver 8.8.8.8; (3)需要在kafka中加入advertised.host.name = 192.168.31.187,重启三个kafka进程 (4)需要启动eshop-cache缓存服务,因为nginx中的本地缓存可能不在了 二、基于storm+kafka完成商品访问次数实时统计拓扑的开发 ==============

2018-03-19

SecureCRT免安装破解文件

SecureCRT免安装破解文件 SecureCRT免安装破解文件 SecureCRT免安装破解文件

2017-10-31

redisclient免安装破解文件

redisclient免安装破解文件 redisclient免安装破解文件

2017-10-31

Linux jdk1.7 64位

jdk1.7.0(linux_x64_1.7.0_80).tar.gz jdk1.7.0(linux_x64_1.7.0_80).tar.gz jdk1.7.0(linux_x64_1.7.0_80).tar.gz jdk1.7.0(linux_x64_1.7.0_80).tar.gz

2017-10-31

Linux jdk1.8 32位

Java Development Kit 8 for liunx简称jdk 1.8 linux版,是一款可以在linux系统上安装使用的java程序,本站提供了jdk-8u131-linux-x64.tar.gz下载地址,有需要的朋友们欢迎前来下载使用.

2017-10-31

linux jdk1.8 64位

Java Development Kit 8 for liunx简称jdk 1.8 linux版,是一款可以在linux系统上安装使用的java程序,本站提供了jdk-8u131-linux-x64.tar.gz下载地址,有需要的朋友们欢迎前来下载使用.

2017-10-31

实现mysql读写分离+使用视频

实现mysql读写分离+使用视频

2017-07-12

RabbitMQ-3.4.1安装文件+Spring-rabbit+RabbitMQ-3.4.1安装手册

RabbitMQ-3.4.1安装文件+Spring-rabbit+RabbitMQ-3.4.1安装手册

2017-07-12

权限管理视频

权限管理视频

2017-06-23

SolrCloud集群搭建和使用步骤

SolrCloud集群搭建和使用步骤

2017-05-13

Solr集群环境

Solr集群安装环境

2017-05-12

solr的安装使用步骤

solr的安装使用步骤

2017-05-12

IK分词器+tomcat-7.0.47+jdk+sol+zookeepe

IK分词器+apache-tomcat-7.0.47.tar.gz+jdk-7u55-linux-i586.tar.gz+solr-4.10.3.tgz.tgz+zookeeper-3.4.6.tar.gz

2017-05-12

solr-4.10.3

solr-4.10.3安装包

2017-05-12

面试题总汇

JAVA面试题总汇

2017-05-11

Java程序员面试宝典

《Java程序员面试宝典》主要内容简介:目前许多开发者对Java语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往使出浑身解数,采用各种形式的面试考察求职者,这让面试难度大大增加。求职者要想成功应聘,不仅需要扎实的基本功,还需要经受情商和智商方面的考查。《Java程序员面试宝典》通过200个面试题,对企业招聘Java程序员需要掌握的知识进行了系统、全面的总结,以帮助读者进行充分的面试准备,在激烈的竞争中拔得头筹。《Java程序员面试宝典》列举了各大IT公司的面试真题,详细分析了应聘Java程序员职位的常见考点,主要内容包括面试流程及求职准备、Java语言基础、数据类型、集合框架、图形用户界面、输入与输出、多线程、反射机制、网络编程、JDBC、Web开发基础、SSH框架(Struts、Spring和Hibernate)、EJB、JPA、算法、设计模式及情商和智商类面试题。《Java程序员面试宝典》附带1张DVD光盘,内容为《Java程序员面试宝典》所有面试题的多媒体教学视频(共14.5小时)及免费赠送的55小时Java教学视频和5.5小时算法教学视频。授人以鱼,不如授人以渔。《Java程序员面试宝典》中的面试题不但以实例代码和流程图的形式对答案进行了详细解析,还对问题的相关知识点进行了扩展说明。希望通过《Java程序员面试宝典》,读者可以成功应聘,并提升综合素质。《Java程序员面试宝典》适合应聘Java和J2EE职位的程序员阅读,也适合其他程序员作为拓展读物进行阅读。

2017-05-03

Scrum敏捷项目管理ppt

Scrum敏捷项目管理ppt

2017-04-29

mysql的yum源包

mysql的yum源包

2017-04-25

zookeeper-3.4.6压缩包

zookeeper-3.4.6压缩包

2017-04-25

空空如也

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

TA关注的人

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