`
逆天子军少
  • 浏览: 78906 次
  • 性别: Icon_minigender_1
  • 来自: 安庆
社区版块
存档分类
最新评论
文章列表
大多数数据分布方式都会有一个瓶颈问题--中心服务器存储维护着元数据,系统中其他的节点通过访问它读取,修改元数据。这样,中心服务器节点的性能就容易成为系统的瓶颈。解决方法也有多种,你可能会搭建一个集群 ...
分布式系统如何拆解输入数据,将数据分发到不同的机器中。下面将介绍几种不同的数据分布方式。 一:哈希方式 哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与机器中的机器建立映射 ...
问题:针对一张表的一个字段,想要统计其出现的不同值的次数,并封装为对象集合返回。 坑点: 1.hql语句中sum()返回一个long值,所以如果定义的对象实体类字段为int型,则会报错。 2.要想日期直接用<>比较,必须保持日期格式,例如2014/01/01 代码: Query query = this .getSession() .createQuery( "select hzmydCkpjsjJgmc,count(hzmydCkpjsjPjjg) as totalCommentCounts," + "s ...
要想让Hadoop做的工作有意义就需要耐人寻味的数据。大家可以到http://www.nber.org/patents/上下载专利数据集。本文使用了专利引用数据集cite75_99.txt. 这个数据集约有250MB,虽然没有一个真正的集群,但这个数据量的数据足以让我们心情澎湃的去练习MapReduce。而且一个流行的开发策略是为生产环境中的大数据集建立一个较小的,抽样的数据子集,称为开发数据集。这样,我们以单机或者伪分布模式编写程序来处理它们时,就能很容易去运行并调试。 cite75_99.txt里面的内容如下所示: 每行有两个数字,代表前面的新专利引用了后面的专利。我准备实现两个M/R任务, ...
自从入手了Mac之后,迫不及待的部署了Hadoop伪分布模式,以为按照文档一步一步来即可,谁知过程还是遇到了好多坑。。。 1.编译Hadoop-2.6.0源码 a. Mac默认jdk位置在 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/,但还是要 ...

沙箱安全模型

    博客分类:
  • java
沙箱模型成就了java的安全性,沙箱基本组件有: 类装载器结构 class文件检验器 jvm和java语言本身具有的安全特性 安全管理器和java API 不同的类装载器装载的类具有不同的命名空间,jvm维护这个命名空间,同一个命名空间里不可 ...
原文地址:http://blog.jobbole.com/21351/ 类也是对象   在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:     >>> class ObjectCreator(object): … pass … >>> my_object = ObjectCreator() >>> print my_object &l ...

Carrierwave

接触rails已经有两个月了,现在情不自禁把它作为开发网站,做后台api的首选。一直没有记录学习它的过程,突然想随笔记录下现在遇到的点点滴滴。 关于上传文件到服务器,我们有几种选择,主流是carrierwave或者paperclip。本文简单介绍下carrierwave。 1.在你的rails项目的Gemfile中加入 gem 'carrierwave' 2.安装这个gem bundle install 3.如果你需要在现有的model上添加一个文档的属性(比如给user添加一个picture) rails g migration add_picture_to_users pi ...
zookeeper介绍zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等 zookeeper安装和使用Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。   单机模式 单机安装只要下载Zookeeper 的压缩包(http://www.apache.org/dyn/closer.cgi/zookeeper/)并解压到某个目录如:/home/zookeeper- ...
本章关注对象序列化API,它提供了一个框架,用来将对象编码成字节流,并从字节流中重新构建对象。“将对象编码成字节流”被称作对象序列化,相反的处理过程被称作反序列化。序列化技术为远程通信提供了标准的线路级 ...
本章主要讨论java语言的具体细节,包括局部变量的处理,控制结构,类库和各种数据类型等。 第四十五条:将局部变量的作用域最小化 这和使类和成员的可访问性最小化本质差不多,必要性不用多说。要使局部变量作用域最小化,最有力的方法就是在第一次使用它的时候声明。几乎每个局部变量的声明都应该包含一个初始化表达式。如果你还没有足够的信息对一个变量进行有意义的初始化,就应该推迟这个声明,直到可以初始化。另外,可以通过使方法小而集中做到最小化作用域。 第四十六条:for-each循环优先于传统的for循环 for-each循环通过完全隐藏迭代器或者索引变量,避免了混乱和出错的可能,适用于集合和数组。除此之外 ...
最近在看关于java并发编程的一本书,书中提及到了虚拟机的server和client模式。不是很理解,于是上网扫盲,总结如下: Jvm有client和server两个版本,分别针对桌面应用程序和服务端应用做了相应的优化,client版本加载速度较快,s ...
本章阐述的一些原则,将使你设计出更加有用、健壮和灵活的类和接口。 第十三条:使类和成员的可访问性最小化 区别设计的模块是否良好,关键在于这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会把自己的API和具体实现隔离开,只通过API和外部通信,这个概念成为信息隐藏或封装。 之所以信息隐藏这么重要,是基于这样一个事实:它可以有效解除各模块之间的耦合关系,使得这些模块可以独立开发、测试、优化、使用、理解和修改。这样可以加快开发速度,实现并行开发。 Java提供了许多机制来协助信息隐藏。访问控制决定了类、接口和成员的可访问性。正确使用访问修饰符格外关键。 总之,尽可能降 ...
尽管Object是一个具体类,但设计它主要是为了扩展。它所有的非final方法都有明确的通用规定。任何一个类,在覆盖这些方法的时候,都有责任去遵守这些通用规定,如果不能做到这一点,其他依赖于这些规定的类就无法结合该 ...
本系列博客皆为读书笔记。读者可看原书<<Effective Java>> 本篇的主题是创建和销毁对象。 第一条:考虑用静态工厂方法代替构造器 为了获取类的一个实例,最常用的方法就是提供一个公有的构造器,但类也可以提供一个公有的静态工厂方法。(这里的静态工厂方法与设计模式中的工厂方法模式不同) 静态工厂方法与构造器相比有下面几个优势: 1.静态工厂方法有名称 具有适当名称的静态工厂将更容易使用和阅读。 2.不必在每次调用静态工厂方法的时候都创建一个新对象 这个优势使得不可变类可以使用预先构件好的实例,或者将构架好的实例缓存起来,进行重复利用,从而避免创建不必要的重复对 ...
Global site tag (gtag.js) - Google Analytics