自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

发展是曲折的但也是前进的

人生路漫漫 只能上下求索

  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

转载 Java异常处理实例分析--六种异常处理的陋习

1.简单的处理异常,直接printstack4.在异常处理模块中提供适量的错误原因信息,组织错误信息使其易于理解和阅读。2.不指定具体的异常3.保证所有资源都被正确释放。充分运用finally关键词。5.过于庞大的try块6.输出数据不完整(只要有数据输出或者写文件,一定要特别考虑异常发生会导致的结果) 你觉得自己是一个Java专家吗?是否肯

2016-03-25 12:31:17 1515

转载 C++异常(exception)第一篇--综合讲解

摘要:catch(exception &ex)是捕获所有标准库定义中的类std:exception;catch(...)则是捕获所有的异常。1.简介   异常是由语言提供的运行时刻错误处理的一种方式。提到错误处理,即使不提到异常,你大概也已经有了丰富的经验,但是为了可以清楚的看到异常的好处,我们还是不妨来回顾一下常用的以及不常用的错误处理方式。C

2016-03-25 11:23:15 9284

转载 C++异常第二篇---C++标准库异常类exception的使用

1 继承图示 2 具体讲解 C++标准库异常类继承层次中的根类为exception,其定义在exception头文件中,它是C++标准库所有函数抛出异常的基类,exception的接口定义如下:namespace std {         class exception {         public:                

2016-03-25 11:22:47 923

转载 C++函数前和函数后加const修饰符区别

c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义。今天来讲讲const加在函数前和函数后面的区别。比如:01#include02 03usingnamespace std;

2016-03-22 13:53:56 2140

转载 类中对集合成员变量的封装

JAVA:对于一般的成员变量,对其提供简单的getter/setter封装即可。而对于一个集合类,不能够这样做。  对于一个简单的成员变量,可以这样:class Athlete {  private String name;  public String getName() {    return name;  }  public void se

2016-03-22 11:49:36 2108

转载 C++ Assert()断言机制原理以及使用

MSDN原文如是说:Evaluates an expression and, when the result is false, prints a diagnostic message and aborts the program.(判断一个表达式,如果结果为假,输出诊断消息并中止程序。)[cpp] view plain copy print?

2016-03-18 15:36:56 1061

转载 C++ 调用lib 和 dll的 方法 及 动态库DLL与静态库lib的区别

C++ 调用.lib的方法:一: 隐式的加载时链接,有三种方法    1  LIB文件直接加入到工程文件列表中  在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即

2016-03-15 13:40:43 1308

转载 CDC IsPrint

IsPrinting 确定正在使用的设备上下文是否用于打印以前我们进行的输出工作都是向屏幕上的一块窗口区域中进行,而打印则是打印机向打印纸上输出一些东西。的确,这两者之间有很大的相似性,比如,它们都能输出文本,也都能输出一些图形。正是基于这些相似性,在 Windows 中,用设备上下文将它们之间的共性统一起来了。你在进行打印和输出时,你可以用相同的输出函数(如TextOut)来往屏幕或打印

2016-03-15 13:39:52 809

转载 HDFS之SequenceFile和MapFile

Hadoop的HDFS和MapReduce子框架主要是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源(每一个小文件占用一个Block,每一个block的元数据都存储在namenode的内存里)。解决办法通常是选择一个容器,将这些小文件组织起来统一存储。HDFS提供了两种类型的容器,分别是SequenceFile和MapFile。一、SequenceFileS

2016-03-11 23:02:01 768

转载 MapReduce:详解Shuffle过程

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里

2016-03-11 22:38:14 5885 3

转载 三层架构实战篇—系统登录实例

上一篇博客,介绍了三层的一些基本理论,但是学习光有理论还是不行滴!马克思不也说过了吗?实践是检验真理的唯一标准!        所谓的三层分为物理上的三层和逻辑上的三层。物理上的三层包括:客户端(PC)、应用服务器、数据库服务器。逻辑上的三层,也就是我们要讨论的,分为表示层、业务逻辑层、数据访问层。实体层,严格的来说不属于三层中的任一层,它是独立于其他三个层次的,只能供其他层次进行引用,但

2016-03-10 22:23:06 1052

转载 三层架构实例

写一个小的三层架构给新手朋友们分享一下。一、打开VS 20051、文件--》新建--》项目2、展开其它项目类型--》Visual Studio解决方案=》空白解决方案3、起一个名字,并确定(如下图)4、在解决方案资源管理器里面右键点击解决方案--》添加--》新建项目--》类库,在名称里输入Model5、同样的方法,再新建BLL和DAL两个类库

2016-03-10 22:00:57 741

转载 Hadoop RPC源码分析

讲了Hadoop RPC的使用方法,这一次我们从demo中一层层进行分析。 RPC说白了,就3个核心,交互协议、服务端、客户端。在Hadoop RPC(hadoop-common-2.4.jar)中也是这样 交互协议org.apache.hadoop.ipc.VersionedProtocol ,所有协议的父类其实就2个方法,版本与签名。不同版本与签名的协议,就算同

2016-03-10 21:47:22 854

转载 hadoop rpc基础

RPC,远程程序调用,分布式计算中C/S模型的一个应用实例。同其他RPC框架一样,Hadoop分为四个部分:序列化层:支持多种框架实现序列化与反序列化函数调用层:利用java反射与动态代理实现网络传输层:基于TCP/IP的Socket机制服务的处理框架:基于Reactor模式的事件驱动IO模型 Hadoop RPC主要对外提供2种接口public stati

2016-03-10 20:55:12 583

原创 打印中,设备坐标与逻辑坐标转换

1、在屏幕的CDC中绘图时的坐标转换系统逻辑坐标——————屏幕坐标————————pDC逻辑坐标      我们调用GetWindowRect获得的是窗口的屏幕坐标Size。由于pDC默认的MapMode是MM_TEXT,所以我们可以直接使用Size作为逻辑大小填充窗口。     当然我们可以改变pDc的MapMode,这样我们逻辑坐标是Size,但是屏幕上出现的就不是Size了

2016-03-10 11:01:06 2000 1

转载 SetMapMode,SetWindowOrg,SetViewportOrg,SetWindowExt,SetViewportExt

CDC::SetMapMode virtual int SetMapMode( int nMapMode );函数功能描述:该函数设置指定设备环境的映射方式,映射方式定义了将逻辑单位转换为设备单位的度量单位,并定义了设备的X、Y轴的方向。nMapMode:指定新的映射方式,此参数可以是下面列出的任何一个值。  MM_ANISOTROPIC:逻辑单位转换成具有任意比例

2016-03-09 17:35:32 858

原创 C++ 对象或指针类型转换

DYNAMIC_DOWNCAST(class, pointer ):如果pointer指针所指向的对象是class类型的,就返回这个指针。否则返回NULL例如 你获取到一个指针 XXX *pointer; 你想判断它是不是指向某个类 ,例如 A 这个类A* p= DYNAMIC_DOWNCAST(A, pointer );如果pointer是指向A这个类则返回此指针,否则返

2016-03-09 10:29:30 1712

转载 HDFS小文件问题及解决方案

1、  概述小文件是指文件size小于HDFS上block大小的文件。这样的文件会给hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文件,每个文件占用一个block,则namenode大约需要2G空间。如果存储1亿个文件,则namenode需要20G空间(见参

2016-03-07 17:26:37 1496

转载 函数式编程很难,这正是你要学习它的原因

英文原文:Functional Programming Is Hard,That's Why It's Good  很奇怪不是,很少有人每天都使用函数式编程语言。如果你用Scala, Haskell, Erlang,F#或某个Lisp方言来编程,很可能没有公司会花钱聘你。这个行业里的绝大部分人都是使用像Python, Ruby, Java或C#等面向对象的编程语言,它们用起来很顺手。不

2016-03-07 16:53:38 2367

转载 C/S程序对于大数据量浏览的解决方案

对于大数据量的用户显示,B/S程序几乎清一色的使用分页的方式呈现,一般的,这种方式下用户会查看前几页的数据,当仍然没有找到他所需要的数据时,他会选择重新查询。在C/S下的程序中,使用分页方式,受到了一些挑战:一方面,老的滚动条给用户留下了较好的体验,在任何界面下都照搬分页的方式显示,会给客户很不好的印象;其次,C/S下的应用大多面向商业客户,这些程序涉及到成千上万的数据应用

2016-03-07 16:27:01 1933

转载 值得一提:关于 HDFS 的 file size 和 block size

一个常被问到的一个问题是: 如果一个HDFS上的文件大小(file size) 小于块大小(block size) ,那么HDFS会实际占用Linux file system的多大空间?答案是实际的文件大小,而非一个块的大小。下面做一个实验:1、往hdfs里面添加新文件前,hadoop在linux上面所占的空间为 464 MB:2、往hdfs里面添加大小为267

2016-03-05 08:53:26 1180

原创 DataNode中block的存放位置和大小

我的DataNode中存放Block的位置是/usr/local/myHadoop/hadoop-2.6.0/tmp/dfs/data/current/BP-1425842400-192.168.1.101-1451701156704/current/finalized/subdir0/subdir0 DataNode存储数据的时候,都是以block形式存储。block是Dat

2016-03-05 07:28:22 5199

原创 namenode中元数据的安全性

namenode管理着集群数据的元数据信息,并持久化存储在fsimage和editlog文件中,文件存放的位置是通过hdfs-site.xml中配置的。fsimage的存放路径是dfs.namenode.name.dir的值,默认是“${dfs.tmp.dir}/dfs/name”。editlog文件的存放路径是dfs.namenode.edits.dir指定的值,默认是“${dfs.name

2016-03-05 06:07:08 1118

转载 NameNode启动过程详细剖析 NameNode中几个关键的数据结构 FSImage

Namenode会将HDFS的文件和目录元数据存储在一个叫fsimage的二进制文件中,每次保存fsimage之后到下次保存之间的所有hdfs操作,将会记录在editlog文件中,当editlog达到一定的大小(bytes,由fs.checkpoint.size参数定义)或从上次保存过后一定时间段过后(sec,由fs.checkpoint.period参数定义),namenode会重新将内存中对整

2016-03-03 10:53:35 3291 2

转载 Hadoop文件系统元数据fsimage和编辑日志edits

在《Hadoop NameNode元数据相关文件目录解析》文章中提到NameNode的$dfs.namenode.name.dir/current/文件夹的几个文件:1current/2|-- VERSION3|-- edits_*

2016-03-02 10:48:35 1534

转载 快照和镜像的区别

快照是一种基于时间点的数据拷贝技术,是数据备份领域的一个重要的概念,理解好快照,并且有效的管理快照,是磁盘管理中的重要一课。本文将讲述磁盘管理工具Storage Foundation中如何应用和管理快照。    快照的目的在于能够记录出某一个时刻的数据信息并将其保存,如果之后发生某些故障需要数据恢复的时候,可以通过快照来将数据恢复到之前时间点的状态,而该时间点之后的数据都会丢失。备份系统是

2016-03-01 15:07:39 22186 3

转载 Java的native关键字

今天研究Java基础类库,Object类的时候,发现了一个关键字:native咦?这是个什么东东?它认识我,我可不认识它!嘿嘿,没关系,baidu一下。 java native关键字 一. 什么是Native Method   简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实

2016-03-01 14:33:18 461

转载 static class 静态类(Java)

一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况

2016-03-01 14:10:49 437

转载 23种设计模式(java)一

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真

2016-03-01 12:29:01 986

敏捷软件开发 中文版

agile software development

2013-09-27

精通Direct3D图形与动画程序设计

Direct3D 图形与动画 精通,属于入门级别的吧 ,别人推荐的,是一本不错的书

2012-06-23

TINDEM线性内插不确定性模型

TINDEM线性内插不确定性的随机过程模型

2010-06-21

空空如也

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

TA关注的人

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