自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小于号的专栏

技术改变生活

  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

转载 java中hashcode和equals方法的关系

Q1:为什么要重写equals方法?在java中new出来的对象obj1,obj2即使是内容完全相同,但在内存中的地址不一样,也就是在heap上分配了两份内存。有时候我们必须比较对象是否已存在,比如HashSet里的值是不能重复的。那怎么判断对象是否一样呢?调用equals方法。比如 obj1!=null && !obj1.eqauls(obj2)。Q2:如果DO中没有写eq...

2019-10-10 15:02:49 387

转载 Linux curl命令参数详解

linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态。一、Linux curl用法举例:1. linux curl抓取网页:抓取百度:1curl http://www.baidu.com 如发现乱码,可以使用iconv转码:

2015-07-07 17:47:32 2578

转载 理解storm的并行执行,workder,executor,task的关系以及调度算法

官方对storm中worker,executor,task讲解非常清楚,https://github.com/nathanmarz/storm/wiki/Understanding-the-parallelism-of-a-Storm-topology  转载到个人博客上。一图胜千言:  Storm distinguishes between the followi

2015-01-29 15:38:52 7245

原创 sum over partition by 的用法

SQL> select n1,v1,nid,sum(nid) over(order by nid) as sum  2  from t1;        N1 V1                NID        SUM---------- ---------- ---------- ----------         1 aa                 61   

2014-11-06 00:18:50 46586 2

原创 排序算法

排序算法---快速排序写给自己看的,防止忘记,尽量干货,初学者绕过。快速排序采用的思想是分治思想。给出一些无序数值,任意取一个作为基准,基准的左边都是比它小的,基准的右边都是比他大的,递归快速排序即可。

2014-09-04 01:34:43 2604

原创 Socket编程

主要内容:1.        什么是Socket?2.        Socket基本通信模型3.        使用基于TCP协议的Socket4.        使用基于UDP协议的Socket课程内容:1.        什么是Socket?Socket(套接字)是一种抽象层,应用程序通过它来发送和接收数据,就像应用程序打开了一个文件句柄,将数据读写到稳定的存储器

2014-02-24 23:20:04 2372

转载 小心LinkedHashMap的get()方法

这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应put()方法,而读锁对应get()方法,期望通过读写锁来实现并发get()。   代码实现如下:www.2cto.comprivate ReentrantReadWriteLock loc

2014-02-19 12:11:08 15532 1

转载 分析多线程并发写HashMap线程被hang住的原因

在blogjava上看到一文谁能帮忙解释一下为什么这个程序会死锁?,激发了我那能害死猫的好奇,所以很费劲的琢磨了这个问题。由于涉及的内容较多,就单独发文阐述一下。public class TestLock { private final HashMap map = new HashMap(); public TestLock() { final Thread t1 = new

2014-02-18 22:46:41 4601 1

转载 maven搭建spring mvc web项目

转载地址:http://blog.csdn.net/jiushuai/article/details/7004855使用Eclipse构建Maven的SpringMVC项目         首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e。        用MyEclipse安装Maven插

2014-01-15 00:00:11 3809

原创 java动态加载jar包,并运行其中的类和方法

动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行。下面通过一个实例来直观演示:第一:定义一个抽象类AbstractAction (稍后换成接口的实例)package com.java.loader;public abstract class AbstractAction

2014-01-07 16:58:36 102174 7

原创 java中通过反射获取方法并且调用(getMethod和invoke深入)实践

为了支持业务的快速变更,往往采用可配置的方式,将业务逻辑的处理部分配置在数据库中或者XMl文件里。配置什么,如何配置才更灵活,That's a problem.以数据库配置为例(xml相同),在数据库中可以配置上java包名+类名,一个类只处理一个功能(符合设计模式中的单一性原则),这样只需要把数据库中的类名读出来,Class.forname("xxxx").newInstance()即可实现

2013-12-17 00:43:22 40859 1

转载 Java 动态加载

第一部分:Java虚拟机启动时,关于类加载方面的一些动作当使用java ProgramName.class运行程序时,Java找到JRE,接着找到jvm.dll,把该动态库载入内存,这就是JVM。然后加载其它动态库, 并激活JVM。JVM激活之后会进行一些初始化工作,之后生成BootstrapLoader,该Class Loader是由C++写的。BootstrapLoader加载Laun

2013-12-16 14:53:54 1764

转载 java中的intern()

1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;3. String str=”kvill”;String str

2013-12-16 11:52:37 1276

原创 Hadoop中CombineFileInputFormat详解

在MR实践中,会有很多小文件,单个文件产生一个mapper,资源比较浪费,后续没有reduce逻辑的话,会产生很多小文件,文件数量暴涨,对后续的hive job产生影响。所以需要在mapper中将多个文件合成一个split作为输入,CombineFileInputFormat满足我们的需求。CombineFileInputFormat 原理(网上牛人总结):第一次:将同DN

2013-12-03 14:38:44 16312 1

原创 Hadoop源码详解 org.apache.hadoop.conf (配置类) (二)

Configuration是org.apache.hadoop.conf包中的主类Configuration类中包含了10个属性private static final Log LOG = LogFactory.getLog(Configuration.class);   // LOG是记录日志的对象private boolean quietmode = ture;quie

2013-05-29 01:06:27 10069

原创 Hadoop源码详解 前言(一)

业余时间研究技术,其中参考网上大多牛人的文章,参杂自己在项目中的一些个人见解,不对之处多多包涵并指正~下载hadoop-0.20.2,解压如下:下面对每个文件夹及文件做个简单的说明:/bin : 包含一些集群的命令/C++ : hadoop上用C++开发的接口,包含64位/32位操作系统的开发接口/conf : hadoop的配置文件/contrib. : 一些插件

2013-05-29 00:56:42 1761

原创 java和js之间互相调用实践(一)

package com.wawmg.js;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class HelloScriptingWor

2013-05-19 21:49:01 1637

原创 动态调用动态语言之Java脚本API(理论+实践)1

我们不需要将动态语言编译为 Java字节码就可以在 Java 应用程序中使用它们。使用 Java Platform, Standard Edition 6 (Java SE)中添加的脚本包(并且向后兼容 Java SE 5),Java 代码可以在运行时以一种简单的、统一的方式调用多种动态语言。本系列文章共分两个部分,第 1 部分将介绍 Java 脚本 API 的各种特性。文章将使用一个简单的

2013-05-19 21:47:02 1453

原创 多数据源的MapReduce作业(三)--map侧过滤后在reduce侧联结

在某些情况下,SemiJoin抽取出来的小表的key集合在内存中仍然存放不下,这时候可以使用BloomFiler以节省空间。BloomFilter最常见的作用是:判断某个元素是否在一个集合里面。它最重要的两个方法是:add() 和contains()。最大的特点是不会存在false negative,即:如果contains()返回false,则该元素一定不在集合中,但会存在一定的true n

2013-04-08 01:13:38 3287 1

原创 多数据源的MapReduce作业(二)--基于Distributed的复制联结

多数据源在reduce侧做join操作,效率不会太高。我们首先会让所有的数据在网络上重排,然后在conbine联结过程中丢弃了大部分的数据。如果我们在mapper侧就去除不必要的数据,联结会更有效率。  map阶段执行联结主要障碍是一个mapper正在处理的记录要能访问到另外表的所有数据,这样就能保证map侧联结可以正常工作。   引入hadoop的DistributedCache。仔细观

2013-04-06 14:49:51 1515

原创 多数据源的MapReduce作业(一)--Reduce侧的联结

场景:实现多表的join操作。select   customers.*,orders.* from customersjoin orderson customers.id =orders.id使用DataJoin软件包进行实现联结操作。扩展三个类:1、DataJoinMapperBase2、DataJoinReducerB

2013-04-04 16:02:52 3226

原创 Hadoop中Mapper和Reducer是单独进程还是线程

hadoop一个节点默认起两个map slot,请问这两个slot是多线程吗?hadoop-0.21.0 源码中是这样的:首先看看 org.apache.hadoop.mapred.TaskTracker 类:两个类变量 maxMapSlots 和 maxReduceSlots:maxMapSlots = conf.getInt(TT_MAP_SLOTS, 2);maxRedu

2013-03-31 22:16:36 2902

原创 一、迭代式mapreduce(顺序链接)

场景:一些复杂的任务难以用一次mapreduce处理完成,需要多次mapreduce才能完成任务。如在日志解析系统中,会分为拆分、session_id,、上下文三个job。在map/reduce迭代过程中,思想还是比较简单,就像类似for循环一样,前一个mapreduce的输出结果,作为下一个mapreduce的输入,任务完成后中间结果都可以删除。如代码:Confi

2013-03-29 01:19:29 2686 1

原创 HDFS --访问(二)

Hdfs的访问方式有两种,第一:类似linux命令,hadoop shell。第二:java API方式。来看第二种。第二种和第一种完成的功能是一样的,直接上代码,里面一些注释的,在测试时自行打开测试即可。package com.wmg.data.join2;import java.io.IOException;import org.apache.hadoo

2013-03-24 07:32:46 2141

原创 HDFS --访问(一)

Hdfs的访问方式有两种,第一:类似linux命令,hadoop shell。第二:java API方式。先看第一种。FS Shell catchgrpchmodchowncopyFromLocal copyToLocal cp du dus expunge get getmerge ls lsr mkdir movefromLocal mv put rm

2013-03-24 07:25:29 18383

翻译 详解MapReduce工作流程

一、客户端向JobTracker提交作业这个阶段要完成以下工作:向JobTracker申请 一下新的JobID检查是否指定了output dir,并且确认output dir不存在根据InputPath计算input split。这里的input split并不是MapReduce输入数据的完整拷贝,只是记录了每个split在什么地方存放着。split和block一样都是逻辑概念,

2013-03-24 06:25:58 2560 1

转载 解决Solr对Mysql做数据导入时内存溢出的问题

转载自:http://blog.csdn.net/yuwenruli/article/details/8426940近日在对Mysql数据做索引的时候,由于数据量太大(百万级),所以在索引过程中经常会内存溢出,在网上上找了不少解决的办法都没有效果,BatchSize不起作用,应该是Mysql不支持Batch操作。搞的非常恼火,觉得Solr怎么对这么常见的问题都没有解决办法,实在不行就只能通过手

2013-03-24 02:20:45 8075

java实例教程,从0开始学

java实例教程,从0开始学java,坚持看完对java的学习很有帮助

2010-07-23

3Dmax实例教程全集下载05

本教程是争对了解了3Dmax或其他相关3D动画软件的人的进一步学习所整理的,本教程分好几部分(总共8部分,01~08),因为网站只允许上传小于15M的大小资源,所以没办法只能拆开上传了,大家谅解!

2010-07-19

3Dmax实例教程全集下载04

本教程是争对了解了3Dmax或其他相关3D动画软件的人的进一步学习所整理的,本教程分好几部分(总共8部分,01~08),因为网站只允许上传小于15M的大小资源,所以没办法只能拆开上传了,大家谅解!

2010-07-19

3Dmax实例教程全集下载03

本教程是争对了解了3Dmax或其他相关3D动画软件的人的进一步学习所整理的,本教程分好几部分(总共8部分,01~08),因为网站只允许上传小于15M的大小资源,所以没办法只能拆开上传了,大家谅解!

2010-07-19

杭电算法PPT详解以及各类算法精炼

包含中级算法,配套各类习题讲解,简单易懂!

2010-07-19

空空如也

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

TA关注的人

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