- 博客(37)
- 资源 (5)
- 收藏
- 关注
原创 Java并发编程的类、接口和方法
1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程。2:ReentrantLock ReentrantLock提供了tryLock方法,tryLock调用的时候,如果锁被其他线程持有,那么tryLock会立即返回,返回结果为false,如果锁没有被其他线程持有,那么当前调用线程
2015-01-25 21:45:01 4026
原创 MongoDb的一个实例
产品表:{ _id: new ObjectId("4c4b1476238d3b4dd5003981"),slug:"wheel-barrow-9092",sku: "9092",name:"Extra Large Wheel Barrow",description: "Heavy duty wheelbarrow...",details: {weight: 47,weight_u
2015-01-25 20:10:58 1355
原创 mongodb中查询和sql查询之间的关系
SqlMongodbSELECT * FROM usersDb.users.find()SELECT a,b FROM usersDb.users.find({},{a:1,b:1})SELECT * FROM users WHERE age=33Db.users.find({age:33}
2015-01-25 19:43:14 1746
原创 JVM调优
JVM调优主要是指内存管理方面的调优,包括各个代的大小、GC策略等。 1:代大小的调优 最关键的参数为-Xms -Xmx -Xmn -XX:SurvivorRatio -XX:MaxTenuringThreshold -Xms和-Xmx通常设置为相同的值,避免运行时要不断的扩展JVM的内存空间,这个值决定了JVM Heap所能使用的最大空间 -Xmn决定了新生代(N
2015-01-25 13:55:32 740
原创 使用java查看mongodb的数据库、集合以及数据信息
package com.mongodb;import java.net.UnknownHostException;import com.mongodb.util.JSON;public class Test1 { public static void main(String[] args) throws UnknownHostException { Mongo mongo
2015-01-24 23:55:30 13345 1
原创 条件化简(一)
过滤和多表连接两种形式的表达式Mysql在实际编译时可能不支持这项技术,请注意! Mysq不支持这种优化,但可以通过人为来进行优化。 扩号被消除了
2015-01-24 21:35:57 932
原创 redis客户端程序实例
package com.redis;import java.util.ArrayList;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoo
2015-01-23 22:23:17 2391 2
原创 redis各种类型的存储情况分析
1:SORT命令的时间复杂度是0(n+mlogm),其中n表示要排序的列表(集合或有序集合)中的元素个数,m表示要返回的元素个数 所以开发中使用SORT命令时需要注意以下几点。(1)尽可能减少待排序键中元素的数量(使n尽可能小)。(2)使用LIMIT参数只获取需要的数据(使m尽可能小)。(3)如果要排序的数据数量较大,尽可能使用STORE参数将结果缓存2: 任务队列
2015-01-22 22:19:58 10926
原创 redis中有序集合类型和列表类型的不同点与相同点
有序集合类型在某些方面和列表类型有些相似。(1)二者都是有序的。(2)二者都可以获得某一范围的元素。但是二者有着很大的区别,这使得它们的应用场景也是不同的。(1)列表类型是通过链表实现的,获取靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会较慢,所以它更加适合实现如“新鲜事”或“日志”这样很少访问中间元素的应用。(2)有序集合类型是使用散列表和跳跃表(Skip li
2015-01-21 21:51:37 6303 1
原创 Struts2的初始化主线
1:初始化主线在系统启动时运行一次,Http请求处理主线则在系统启动完毕后以侦听请求的方式运行。2:基于Filter所实现的Servlet规范中不同方法的生命周期的不同,规划了Struts2不同的运行主线。3:Dispatcher:核心分发器;PrepareOperations:Http预处理类;ExecuteOperations:Http处理执行类;4:核心驱动力的逻辑:对于程序运行
2015-01-18 16:57:03 1243
原创 Mysql的等价谓词重写
总之,存在以下规则:1:LIKE规则:是对LIKE谓词的等价重写,即改写LIKE谓词为其他等价的谓词,以更好地利用索引进行优化2:BETWEEN-AND规则:是BETWEEN-AND谓词的等价重写,即改写BETWEEN-AND谓词为其他等价的谓词,以更好地利用索引进行优化3:IN转换OR规则:IN转换OR规则,就是IN谓词的OR等价重写,即改写IN谓词为等价的OR谓词,以更好地利用索引
2015-01-17 20:56:54 2346
原创 MySql中的视图重写
物化技术:对子查询进行优化时,可以把子查询的结果保存在内存中,提高查询效率,达到一种物化的效果。 物化视图:是把视图的sql语句部分的数据保存下来,视图只有定义部分,没有数据部分,但是物化视图有数据部分。 视图分为简单视图和复杂视图,是为了为sql的优化进行的说明。
2015-01-17 00:13:50 1484
原创 AOP的相关概念
切面(Aspect):一个关注点的模块化,这一关注点的实现可能横切多个对象,而这个模块化的过程,由Interceptor来实现,例如,数据库的事务管理就是一个典型的切面。通知(Advice):在特定的连接点,AOP框架执行的动作,各种通知类型包括:Before通知、After通知、Around通知和Throw通知等。切入点(Pointcut):指定一个通知将被引发的一系列连接点的集合。
2015-01-16 22:17:20 1027
原创 Hive命令行工具
Hive支持sequenceFile,说明可以对文件进行压缩,RCFile支持列式存储,做到稀疏存储,减小空间,读取速度快。 图:使用命令hive --hiveconf hive.cli.print.current.db=true;来设置hive()后面跟着数据库的名字 图:使用命令来设置查询时出现列名
2015-01-15 22:00:09 1428
原创 hive 分区表、桶表和外部表
1:分区表 图:创建分区表 图:导入数据 图:在HDFS的显示信息分区字段就是一个文件夹的标识 图:在多列上创建分区 图:导入数据 图:在多列上建立分区后在HDFS上形成的结构信息把表中的大多数字段建立为分区字段,可行吗?分区不是越多
2015-01-14 23:20:54 9034
原创 Mysql子查询优化技术
1:子查询优化的思路 1.1 子查询合并(Subquery Coalescing) 在某些条件下(语义等价:两个查询块产生同样的结果集),多个子查询能够合并成一个子查询(合并后还是子查询,可以通过其他方式消除子查询), 这样可以把多次表扫描、多次连接减少为单次表扫描和单次连接。 select * from work_list wl wh
2015-01-11 11:13:52 2349
原创 搭建自动切换的HA
----------------------------------------------------------------------------------------------2.搭建自动切换的ha(比手工切换ha集群,多了zookeeper集群)------------------------------------------------------------------
2015-01-05 23:50:57 2285
原创 Hadoop2搭建可手工配置的HA
-----------------------------1.搭建手工切换的ha(比hadoop1集群搭建多了journalnode集群)-----------------------------namenode:haoop0和hadoop1datanode:hadoop2、hadoop3、hadoop4journalnode:haoop0、hadoop1、hadoop2(必须
2015-01-05 22:15:24 774
原创 hadoop2的伪分布式安装
fs.trash.interval用来设置垃圾箱的功能namenode多了一个active状态通过http://localhost:8088/cluster访问所有的应用界面 可以通过上传文件到licence目录下,并运行系统自带的wordcount程序,并把结果输出到目录out中 运行工作的一个统计
2015-01-04 23:41:22 849
原创 Hadoop2体系结构
hadoop1.0需要解决的几个问题: 1:单点故障问题,HDFS和MapReduce都是Master-Slave的结构,但是Master节点都是单点,一旦出现故障,那么集群就不能正常运行。 2:HDFS存储海量数据是按照Block来存储的,整个存储只有一种格式,企业存储受限,企业的数据非常多样,存储起来容易造成资源的浪费。 当namenode所在机器的内存不够时
2015-01-04 21:50:55 9578 3
原创 MapReduce的job调优
1:如果存在大量的小数据文件,那么就会建立很多的Map和Reduce任务,Map和Reduce任务都是进程,进程的创建需要很多的资源消耗,那么会造成Map和Reduce任务的创建时间比计算任务的时间要长,非常不划算。2:推测执行可能会浪费多余的资源,所以为了资源的更充分利用,我们把它关闭,在资源不紧张的时候可以开启。3:开启jvm重用后,就不必开启一些进程,节省了资源和时间。4:增
2015-01-03 21:33:35 898 1
原创 Hadoop调度器
作业调度器默认为JobQueueTaskScheduler,我们修改为FairScheduler mapred.queue.names指定默认的队列 图:CapacityScheduler运行结果统计
2015-01-03 20:43:27 706
原创 map端join
适用场景:小表可以全部读取放到内存中。两个在内存中装不下的大表,不适合map端join。在一个TaskTracker中可以运行多个map任务。每个map任务是一个java进程,如果每个map从HDFS中读取相同的小表内容,就有些浪费了。使用DistributedCache,小表内容可以加载在TaskTracker的linux磁盘上。每个map运行时只需要从linux磁盘加载数据就行了,
2015-01-02 22:36:25 1692
原创 reduce端join操作
实例:输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列,要求从输入数据中找出工厂名和地址名的对应关系,输出工厂名-地址名表数据样本 图:factory 图:address 图:输出结果package com.ccse.hadoop.join;import java.io.IOEx
2015-01-02 22:34:03 886
原创 自定义分组Group
package com.ccse.hadoop.group;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.apache.hadoop.conf
2015-01-02 16:26:18 1796
原创 自定义排序
package com.ccse.hadoop.sort;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.apache.hadoop.conf.C
2015-01-02 15:49:13 551
原创 自定义Partitioner
package com.ccse.hadoop.partitioner;import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs
2015-01-02 10:39:17 2213
原创 自定义Combiner
package com.ccse.hadoop.combiner;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;i
2015-01-01 23:27:44 865
原创 mapreduce中计数器的使用
package com.ccse.hadoop.counter;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;im
2015-01-01 22:45:02 4650 2
原创 使用命令行执行MapReduce
package com.ccse.hadoop.cmd;import java.io.IOException;import java.net.URI;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;
2015-01-01 22:04:36 4242
原创 自定义输出多个文件
package com.ccse.hadoop.outputformat;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.Iterator;import java.util.StringTokenizer;import org.apac
2015-01-01 21:37:43 813
原创 老api写法的wordcount程序
package com.ccse.hadoop.old;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoo
2015-01-01 21:14:47 606
原创 自定义OutputFormat
package com.ccse.hadoop.outputformat;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configurati
2015-01-01 17:31:43 5463
网络五子棋程序用vc++实现
2010-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人