2014年3月27日
摘要:
这两天帮忙定位一个MySQL查询很慢的问题,定位过程综合各种方法、理论、工具,很有代表性,分享给大家作为新年礼物:) 【问题现象】 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时候,查询的记录数才几万条,但查询的速度非常慢,大概要4~5分钟左右 【处理过程】 1)explai
阅读全文
posted @ 2014-03-27 16:48
duanxz
阅读(3589)
推荐(0)
摘要:
本文先叙述如何配置eclipse中maven+scala的开发环境,之后,叙述如何实现spark的本地运行。最后,成功运行scala编写的spark程序。 刚开始我的eclipse+maven环境是配置好的。 系统:win7 eclipse版本:Luna Release(4.4.0) maven是从
阅读全文
posted @ 2014-03-27 15:06
duanxz
阅读(9192)
推荐(0)
摘要:
介绍:scala 是简化的java,运行于jvm的脚步语言。Java和scala通过各自编译器编译过都是jvm能解析class文件。本文介绍java和scala如何互调 scala的源代码文件是以.scala为后缀的,编译后的文件class文件。 1.scala使用JDK的java类 用法:impo
阅读全文
posted @ 2014-03-27 11:33
duanxz
阅读(7954)
推荐(0)
摘要:
Scala总结 概述 scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 scala是纯粹的面向对象的语言。java虽然是面向对象的语言,但是它不是纯粹的,因为java的基本数据类型不是类,并且在java中还有静态成员变量和静态方
阅读全文
posted @ 2014-03-27 09:07
duanxz
阅读(1373)
推荐(0)
2014年3月26日
摘要:
由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spark的安装,Hadoop的下载和配置。为了突出”From Scratch”的特点(都是标题没选好的缘故
阅读全文
posted @ 2014-03-26 18:21
duanxz
阅读(2024)
推荐(0)
摘要:
背景 在JDK1.5已经提供了Future和Callable的实现,可以用于阻塞式获取结果,如果想要异步获取结果,通常都会以轮询的方式去获取结果,如下: //定义一个异步任务 Future<String> future = executor.submit(()->{ Thread.sleep(200
阅读全文
posted @ 2014-03-26 14:43
duanxz
阅读(4218)
推荐(0)
摘要:
什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求
阅读全文
posted @ 2014-03-26 14:07
duanxz
阅读(1191)
推荐(0)
2014年3月25日
摘要:
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多
阅读全文
posted @ 2014-03-25 17:19
duanxz
阅读(1460)
推荐(0)
摘要:
什么是长连接 长连接还是短连接 相比于短连接,长连接更节省资源。如果每发送一条消息就要创建链路、发起握手认证、关闭链路释放资源,会损耗大量的系统资源。长连接只在首次创建时或者链路断连重连才创建链路,链路创建成果之后服务提供者和消费者会通过业务消息和心跳维系链路,实现多消息复用同一个链路节省资源。 H
阅读全文
posted @ 2014-03-25 16:45
duanxz
阅读(5684)
推荐(1)
摘要:
最近需要对改造的redis缓存接口做压力测试,使用了开源压力测试工具JMeter,分享一下自己的使用经验,希望能对需要进行压力测试的开发同学有所帮助。 JMeter介绍 JMeter是Apache软件基金会下的一款开源压力测试工具,官方网址是:http://jmeter.apache.org/。JM
阅读全文
posted @ 2014-03-25 16:02
duanxz
阅读(5519)
推荐(0)
2014年3月24日
摘要:
遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CPU 利用率高的问题。 Step1: 分析数据库正在执行的请求 用户可以通过 Mongo Shell 连接,并执行 db.currentOp() 命令,能看到数据库当前正在执行的操
阅读全文
posted @ 2014-03-24 17:35
duanxz
阅读(1033)
推荐(1)
摘要:
连接池xml配置: <!-- mongodb访问实例工程类--> <mongo:mongo host="${mongo.location}" port="${mongo.port}"> <mongo:options connections-per-host="100" threads-allowed
阅读全文
posted @ 2014-03-24 16:31
duanxz
阅读(1584)
推荐(0)
2014年3月20日
摘要:
一、Monolith 网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外。原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式所具有的各种优点。 首先请回想一下我们所开发的服务是什么样子的。通常情况下,这个服务所对应的代码由多
阅读全文
posted @ 2014-03-20 16:00
duanxz
阅读(4504)
推荐(0)
摘要:
字符串常量池从1.7以后,移到了heap中。(1.6在永久代,1.7以后移动到了heap中)。 一、intern()定义及使用 相信绝大多数的人不会去用String类的intern方法,打开String类的源码发现这是一个本地方法,定义如下: 文档告诉我们该方法返回一个字符串对象的内部化引用。关于n
阅读全文
posted @ 2014-03-20 15:59
duanxz
阅读(3471)
推荐(1)
摘要:
《Spring Bean基本管理--bean注入方式汇总》 《SpringBoot自动化配置之二:自动配置(AutoConfigure)原理、EnableAutoConfiguration、condition》 自动配置绝对算得上是Spring Boot的最大亮点,完美的展示了CoC约定优于配置;
阅读全文
posted @ 2014-03-20 15:58
duanxz
阅读(16218)
推荐(2)
摘要:
PermGen vs. Metaspace 运行时比较 为了更好地理解Metaspace内存空间的运行时行为, 将进行以下几种场景的测试: 使用JDK1.7运行Java程序,监控并耗尽默认设定的85MB大小的PermGen内存空间。 使用JDK1.8运行Java程序,监控新Metaspace内存空间
阅读全文
posted @ 2014-03-20 15:54
duanxz
阅读(1403)
推荐(0)
2014年3月19日
摘要:
常用性能优化方案 创建索引 限定返回结果数 只查询使用到的字段 采用capped collection 采用Server Side Code Execution 使用Hint,强制使用索引 Hint 虽然MongoDB查询优化器一般工作的很不错,但是也可以使用hint()来强迫MongoDB使用一个
阅读全文
posted @ 2014-03-19 16:16
duanxz
阅读(2445)
推荐(1)
摘要:
提到Spark Streaming,我们不得不说一下BDAS(Berkeley Data Analytics Stack),这个伯克利大学提出的关于数据分析的软件栈。从它的视角来看,目前的大数据处理可以分为如以下三个类型。 复杂的批量数据处理(batch data processing),通常的时间
阅读全文
posted @ 2014-03-19 15:25
duanxz
阅读(1255)
推荐(0)
摘要:
1.了解MongoDB的ObjectId MongoDB的文档固定是使用“_id”作为主键的,它可以是任何类型的,默认是个ObjectId对象(在Java中则表现为字符串),那么为什么MongoDB没有采用其他比较常规的做法(比如MySql的自增主键),而是采用了ObjectId的形式来实现?别着急
阅读全文
posted @ 2014-03-19 14:47
duanxz
阅读(6146)
推荐(2)
摘要:
摘要 本文提出了分布式内存抽象的概念——弹性分布式数据集(RDD,Resilient Distributed Datasets),它具备像MapReduce等数据流模型的容错特性,并且允许开发人员在大型集群上执行基于内存的计算。现有的数据流系统对两种应用的处理并不高效:一是迭代式算法,这在图应用和机
阅读全文
posted @ 2014-03-19 14:37
duanxz
阅读(2202)
推荐(0)
2014年3月18日
摘要:
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中”一致性Hash算法”部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。 算法的具体原理这里再次贴上: 先构造一个长度为232的整数环(这个环被称为一致性
阅读全文
posted @ 2014-03-18 14:20
duanxz
阅读(438)
推荐(0)
posted @ 2014-03-18 09:13
duanxz
阅读(1915)
推荐(0)
摘要:
Java代码通过org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,如果要实现复杂的条件查询,需要通过Query类来实现。 一、Query类的使用说明 query查询语句的实现的方式有两种: 1.1、通过org.sp
阅读全文
posted @ 2014-03-18 09:08
duanxz
阅读(11753)
推荐(0)
2014年3月14日
摘要:
Aggregation简单来说,就是提供数据统计、分析、分类的方法,这与mapreduce有异曲同工之处,只不过mongodb做了更多的封装与优化,让数据操作更加便捷和易用。Aggregation操作,接收指定collection的数据集,通过计算后返回result数据;一个aggregation操
阅读全文
posted @ 2014-03-14 10:54
duanxz
阅读(14487)
推荐(0)
2014年3月12日
摘要:
RESTLET介绍 Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务。 Restlet项目受到Servlet API、JSP(Java Server Pages)、HttpURLConne
阅读全文
posted @ 2014-03-12 15:47
duanxz
阅读(2230)
推荐(0)