-
Hadoop之MapReduce自定义二次排序流程实例分析
所属栏目:[教程] 日期:2021-12-11 热度:69
一、概述 MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二[详细]
-
C++中函数占位符在函数重载中的影响
所属栏目:[教程] 日期:2021-12-11 热度:160
今天看STL源码剖析,对于迭代器不同类型的重载函数的调用用到了函数占位符,之前没注意过,以后函数重载设计时可以利用,特记录下来。 代码只是简单的测试,没有特别意义: #include iostream using namespace std; int __Sum( int a, int b, int ) { cout__[详细]
-
Java多线程:一道阿里面试题的分析与克服
所属栏目:[教程] 日期:2021-12-11 热度:55
引言: 通过多线程的面试题目分析,来深入理解Java线程的状态转变过程。 最近在学习Java多线程设计的时候,在网上看到一个面试题目的讨论,虽然楼主所说有些道理,但感觉还是有些问题,故此在和同事讨论以后还是有了若干收获,在此略作总结。 首先,来看看这[详细]
-
OpenGL错误概括
所属栏目:[教程] 日期:2021-12-11 热度:177
const char* getGLErrorInfo(int errorId) { switch (errorId) { case GL_INVALID_ENUM: return (GL Invalid Enumn); case GL_INVALID_VALUE: return (GL Invalid Valuen); case GL_INVALID_OPERATION: return (GL Invalid Operationn); case GL_OUT_OF_M[详细]
-
Java 8 彻底革新数据库访问
所属栏目:[教程] 日期:2021-12-11 热度:198
Java 8终于到来了! 经过几年的等待, java程序员终于能在java中得到函数式编程的支持了. 函数式编程的支持能流程化现有的代码并且为java提供强大的能力.在这些新特性中最瞩目的是java程序员对数据库的操作方式.函数式编程带来了令人激动的简便高效的数据库API[详细]
-
使用NDK交叉编译ffmpeg+libx264找不到libx264的解决措施
所属栏目:[教程] 日期:2021-12-11 热度:138
使用NDK交叉编译ffmpeg+libx264 1,编译libx264 wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 tar xjvf last_x264.tar.bz2 cd x264-snapshot* 使用如下confiure export ARM_ROOT=/home/zangcf/cross_compile/Android-ndk-r9b ex[详细]
-
Linux正则表达式特性及BRE与ERE的差异
所属栏目:[教程] 日期:2021-12-11 热度:61
Linux正则表达式(Regular Expression)主要遵从POSIX BRE或者POSIX ERE标准。什么是POSIX呢,POSIX Portable Operating System Interface 可移植操作系统接口ERE是BRE的扩展版本,具体更强的处理能力,并增加了一些元字符(metacharactor)。 BRE主要的能力[详细]
-
DSP6000的几个简单优化方法
所属栏目:[教程] 日期:2021-12-11 热度:149
1. 不要假设DSP6000上的int类型与long长度相同,在DSP6000上,int类型占32bits,而long类型占40bits,另有一种long long类型为64bit长度 2. 定点乘法最好使用short类型,这样只需要1个时钟周期,使用int类型需要5个时钟周期 3. 使用int或unsigned int作为循环[详细]
-
C语言中应该防止构造复杂的前缀后缀表达式
所属栏目:[教程] 日期:2021-12-11 热度:118
一个例子: #include stdio.h int main(){ int i = 0; int a[] = {10,20,30}; int r = 1 * a[i++] + 2 * a[i++] + 3 * a[i++]; printf(%dn, r); return 0; } 结果是什么呢? 初学者半天想不明白; 半桶水的立刻答道:哇,简单,1*10+2*20+3*30=140 高手就考虑[详细]
-
进程线程的的作用和差异
所属栏目:[教程] 日期:2021-12-11 热度:54
首先来回顾一下进程和线程的概念吧。 进程(Process)是计算机中已运行程序的实体。进程为曾经是分时系统的基本运作单位。 线程(thread)是操作系统能够进行运算调度的最小单位,也是进程内的一个执行单元,程内的可调度实体。 线程的状态: 1)产生(spawn)[详细]
-
Linux下的进程介绍
所属栏目:[教程] 日期:2021-12-11 热度:190
进程 进程是正在执行的程序实例。执行程序时,内核会将程序代码载入虚拟内存,为程序变量分配空间,在内核中建立相应的数据结构,以记录与进程有关的各种信息(比如,进程ID、用户ID、组ID以及终止状态等) 在内核看来,进程是一个个实体,内核必须在它们之[详细]
-
Android中JNI的调用生成头文件流程
所属栏目:[教程] 日期:2021-12-11 热度:79
Android 中通过JNI调用本地方法步骤介绍:首先是在eclipse中生成类文件 package Pag; public class JNI { static{ System.loadLibrary(hello); } public native void printHello(); public static void main(String[] args) { new JNI().printHello(); } }[详细]
-
Android众多的布局属性分析
所属栏目:[教程] 日期:2021-12-11 热度:189
Android众多的布局属性详解 span style=font-size: 14px;第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBot[详细]
-
AVL树C语言完整达成
所属栏目:[教程] 日期:2021-12-11 热度:78
采用非递归方式,效率较好,经过常规测试。 #include stdio.h #include string.h #include stdlib.h #include errno.h #include assert.h typedef enum { EH = 0, LH = 1, RH = -1 }bh_t; typedef enum { FALSE = 0, TRUE = 1 }bool_t; typedef int ElemType[详细]
-
嵌入式Linux中GPS信息读取与解决
所属栏目:[教程] 日期:2021-12-11 热度:171
GPS协议概要 GPS模块使用的是NMEA-0183 协议,NMEA-0183 是美国国家海洋电子协会(National MarineElectronics Association)所指定的标准规格,这一标准制订所有航海电子仪器间的通讯标准,其中包含传输资料的格式以及传输资料的通讯协议。所以通常情况下,只[详细]
-
为Silverlight 提供将Json解析为Geometry的技巧
所属栏目:[教程] 日期:2021-12-11 热度:122
在做SOE开发的时候,我们往往返回的是一个集合对象的Json字符串,可是Silverlight中并没有为我们提供解析该字符串的方法,为此我自己写了一个,因为后台代码正在测试,所以将前端的Json格式解析为Silverlight中的Geometry对象如下,如有疑问,请跟我联系。 /[详细]
-
Java中获取文件大小的正确技巧
所属栏目:[教程] 日期:2021-12-11 热度:155
今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法;另外一种是使用FileInputStream的available()方法,当InputStream未进行read操作时,available()的大小应该是等于文件大小的。但是在处理大文件时,后者会发生[详细]
-
Android之Widget学习概括
所属栏目:[教程] 日期:2021-12-11 热度:119
1.Widget设计步骤 需要修改三个XML,一个class: 1)第一个xml是布局XML文件(如:main.xml),是这个widget的。一般来说如果用这个部件显示时间,那就只在这个布局XML中声明一个textview就OK了。 2)第二个xml是widget_provider.xml,主要是用于声明一个appwid[详细]
-
Spring MVC @RequestBody接收JSON报HTTP 415/400问题的处理
所属栏目:[教程] 日期:2021-12-11 热度:194
手头一个EXTJS+SpringMVC的项目,用FormPanel提交表单到后台进行更新/添加操作,想着赶一把时髦用@RequestBody吧,结果死活报http415错误,折腾了2天几乎都要放弃了,但是实在眼馋这个强悍的功能,经过反复测试终于搞定。 网上种种解决方式,包括补充mvc:ann[详细]
-
OpenCV入门教程之十 视频的解决
所属栏目:[教程] 日期:2021-12-11 热度:83
视频中包含的信息量要远远大于图片,对视频的处理分析也越来越成为计算机视觉的主流,而本质上视频是由一帧帧的图像组成,所以视频处理最终还是要归结于图像处理,但在视频处理中,有更多的时间维的信息可以利用。本文主要介绍OpenCV在处理视频时的一些基本[详细]
-
防止在 Java 接口中使用数组的 3 个理由
所属栏目:[教程] 日期:2021-12-11 热度:198
如果你发现在一个接口使用有如下定义方法: public String[] getParameters(); 那么你应该认真反思。数组不仅仅老式,而且我们有合理的理由避免暴露它们。在这篇文章中,我将试图总结在Java API中使用数组的缺陷。首先从最出人意料的一个例子开始。 数组导致[详细]
-
C语言中memcpy和strcpy差异
所属栏目:[教程] 日期:2021-12-11 热度:161
C语言中memcpy和strcpy区别 1.在使用strcpy函数拷贝字符串时,遇到 时,将停止拷贝。 2.在使用memcpy函数拷贝内存中数据时,最后一个参数决定拷贝的字节数. 3.memcpy[2]中的到底是什么呢?答案是: 。由于 表示字符串结束符,是一个转义字符,转义字符是[详细]
-
C语言中字符串结束符探索
所属栏目:[教程] 日期:2021-12-11 热度:58
C语言中字符串结束符探究 #include stdio.h #include string.h int main() { char *a = hello world; int i = 0; for(i = 0; i 12; i++) if(a[i] == ) printf( n); else putchar(a[i]); //输出结果为:hello world 表明字符串常量最后默认会添加一个[详细]
-
轻松达成Ruby创建XML
所属栏目:[教程] 日期:2021-12-11 热度:186
环境配置: 先安装ruby,再安装builder builder安装方法: gem install builder Ruby创建XML代码示例: require builder x = Builder::XmlMarkup.new(:target = $stdout, :indent = 1) #:target =>$stdout参数:指示输出内 容将被写向标准输出控制台 #:inden[详细]
-
Java的IO操作中关闭流的谨慎点
所属栏目:[教程] 日期:2021-12-11 热度:196
一、错误示例1 public void CopyFile() { FileReader fr = null; FileWriter fw = null; try { fr = new FileReader(c:xy1.txt); // ① fw = new FileWriter(c:xy2.txt); // ② char[] charBuffer = new char[1024]; int len = 0; while ((len = fr.read[详细]