自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

转载 C++异常机制的实现方式和开销分析

关于线程 进程和线程的概念相信各位看官早已耳熟能详。在这里,我只想带大家回忆几点重要概念: 一个进程中可以同时包含多个线程。 我们通常认为线程是操作系统可识别的最小并发执行和调度单位(不要跟俺说还有 Green Thread 或者 Fiber,OS Kernel 不认识也不参与这些物件的调度)。 同一进程中的多个线程共享代码段(代码和常量)、数据段(静态

2014-01-15 18:48:15 1163

转载 Linux单网卡多IP配置

一、仅一个网卡的情况下,可以让该机器可以通过多个IP被访问,或隐藏常用IP,让他人访问其临时IP。 1.如果临时性的增加一个IP(重启机器或network服务后,丢失),可以使用ifconfig命令 1)先查看目前的网卡信息 [root@test network-scripts]#ifconfig eth0Link encap:EthernetHWaddr 00:0C:29:1

2013-11-20 15:10:51 1541

转载 如何挂载ubi文件系统

转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)      Linux 系统中有关mtd和ubi的接口: (1) cat /proc/mtd:可以看到当前系统的各个mtd情况, (2) cat /proc/partitions: 分区信息,有上面的类似 (3) cat /sys

2013-11-20 09:45:43 4092

转载 shell脚本设置登陆环境变量

遇到问题: 在一个脚本文件中定义一个了变量,然后export变量,脚本退出后,设置的环境变量失效。 分析问题: 执行一个脚本时,会先开启一个子shell环境(不知道执行其它程序是不是这样),然后将父shell中的所有系统环境变量复制过来,这个脚本中的语句就 在子shell中执行。(也就是说父shell的环境变量在子shell中可以调用,但反过来就不行,如果在子shell中定义了环境变量,

2013-11-18 13:40:26 1767

转载 android启动速度优化

Android 开机启动速度优化 一 在开机启动中,可以借助bootchart 工具分析android的启动过程。bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程。 1、UBuntu下安装bootchart工具        需要安装的工具有两个bootcha

2013-10-21 13:10:13 13830

转载 Android应用性能优化之绘图分析

Android应用性能优化之分析工具 上一次记录了解决过度绘制的过程,这一次,想先弄清个概念性的东西,就是如何判断顺不顺畅? 这东西其实最初我自己也觉得有点废话,用起来会卡就明显是不顺畅咯。 但这东西就跟我很想吐槽很多应用一样,明明那么卡还放出来一样的道理。 理论永远是理论,实践才是第一生产力。   因为我自己的应用也能感觉到卡顿,现在回头分析,能明白,卡顿

2013-10-18 16:30:15 2663

转载 Android系统启动过程

首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)    Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。 启动的过程如下图所示:(图片来自网上,后面有地址)           下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码

2013-10-17 17:08:03 884

转载 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测

系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。所以,在实践中会用到很多工具来调试内存问题。 在本文中,我们将讨论最流行的开源内存管理框架 VALGRIND。 摘自 Valgrind.org: Valgrind是用于构建动态分析工具的探测框架。它包括一个工

2013-10-16 11:23:20 2663

转载 利用hadoop mapreduce 做数据排序

我们的需求是想统计一个文件中用IK分词后每个词出现的次数,然后按照出现的次数降序排列。也就是高频词统计。 由于hadoop在reduce之后就不能对结果做什么了,所以只能分为两个job完成,第一个job统计次数,第二个job对第一个job的结果排序。 第一个job的就是hadoop最简单的例子countwords,我要说的是用hadoop对结果排序。 假设第一个job的结果输出如下: par

2013-10-12 09:15:52 6485

原创 ADB server didn't ACK问题解决方法

当我们通过eclipse开发Android应用时,会连接真机会使用模拟器进行仿真,有时候启动失败,会提示这样的错误。 adb server is out of date.  killing... ADB server didn't ACK * failed to start daemon * 方法/步骤 首先通过CMD启动adb服务。这个时

2013-10-10 17:32:20 1852

转载 单元测试利器之google test

一、概述         gtest是Google开源的一款跨平台的C++单元测试框架,支持自动发现测试、断言集、用户定义的断言、death测试、致命与非致命的失败、类型参数化测试、各类运行测试的选项和XML的测试报告,更多信息请参看官网,也可以参看这里。 二、安装         点击这里下载gtest,当前最新的稳定版本是gtest-1.7.0,如下来安装gtest:      

2013-10-10 08:56:22 1065

转载 oracle 表空间 不足时如何处理

--1、查看表在那个表空间   select tablespace_name,table_name from user_talbes where table_name='test'; --2、获取用户的默认表空间   select   username,   DEFAULT_TABLESPACE     from   dba_users where username='MXH';

2013-09-28 23:47:39 748

转载 Oracle 启动监听命令

Oracle 启动监听命令 启动监听:lsnrctl start  查看监听:lsnrctl status  停止监听:lsnrctl stop  1、oracle 数据服务器包括:实例进程和数据库;     实例进程包括:memory structure(sga)以及background process(pmon(进程监控)、smon(系统监控system monitor,空间

2013-09-28 23:46:35 844

原创 linux系统参数修改命令

linux-yvmf:~ # man sysctl  Reformatting sysctl(8), please wait... SYSCTL(8)                                                              SYSCTL(8) NAME        sysctl - configure kernel

2013-09-23 08:54:08 1988

转载 用来理解 Java 编程语言的 8 个图表

很多时候,一张图比你说 1000 个字能更有效的说清楚一个问题。我们列举了 8 个关于 Java 语言的图表,或许可以让你对 Java 有着更深入的认识。   1. 字符串不变性(String Immutability) 下面的图表显示执行如下两行代码所发生的事: 1 String s = "abcd";

2013-09-23 08:40:27 1160

转载 40 Developer Tips for Android Optimization

Here’s a good way to get into Android programming:  Find some code that does something similar to what you want to do Adjust it to try to make it do your thing Watch it fail Troubleshoot using Stac

2013-09-16 10:44:03 1803

转载 对 Android 开发者有益的 40 条优化建议

下面是开始Android编程的好方法:  找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程。这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多。然而,当你发布应用时你还要做一些更深入的事情。 Garfielt 翻译于 7天前 0人顶

2013-09-16 10:41:49 2215

原创 java list三种遍历方法性能比较

从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码如下: package com.hisense.tiger.list; import java.util.ArrayList; import java.util.Iterator;

2013-09-13 17:08:14 227389 3

转载 流式数据处理的计算模型

接触这块将近3个月左右,期间给自己的定位也是业务层开发。对平台级的产品没有太深入的理解和研究,所以也不能大谈特谈什么storm架构之类的了。 说说业务中碰到流式计算问题吧: 1.还是要介绍下简要的架构(原谅我不会画图) 流式数据接入层------------------->流式数据处理层------------------->结果数据归档层

2013-09-12 15:33:29 2399

转载 MySQL 之 slow log

慢查询有什么用?          它能记录下所有执行超过long_query_time时间的SQL语句,帮你找到执行慢的SQL,方便我们对这些SQL进行优化。    测试用 MySQL 版本。    Server version: 5.6.10-log Source distribution    未做任何慢日志设置时。    01 mysql

2013-09-12 08:38:11 5440

转载 学习JNA,Jnative个人总结

首先说下JAVA调用DLL,Java调用DLL的常用方法大致为几种,JNI,JNA,Jnative等,但实现与易用性差距还是很大,1.JNI用的人比较多,但相对来说比较麻烦要熟悉c并且要使用javac 及javah命令,步骤繁琐2.JNA,Jnative相对简单只需要用实现接口,使用相对简单,但无论使用什么调用dll文件,比较令人头疼的都是JAVA与C之间类型对应与值对应。下面我将项目中对着JNA

2013-09-11 17:04:37 2743

转载 Windows下搭建Eclipse+Android4.0开发环境

官方搭建步骤: http://developer.android.com/index.html 搭建环境之前需要下载下面几个文件包: 一、安装Java运行环境JRE(没这个Eclipse运行不起来)和JDK   官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html,   先装J

2013-09-02 15:45:23 1434

转载 android实现多线程下载

实现多线程下载的大概思路:(假设文件大小是6M,共有三条线程同时执行) ●首先要根据访问的URL路径去调用openConnection方法,得到HttpUrlConnection对象,HttpUrlConnection对象调用它的方法得到下载文件的长度,然后设置本地文件的长度。 点击(此处)折叠或打开 int length = HttpURLConnect

2013-08-30 17:03:13 1779

转载 linux 系统监控、诊断工具之 lsof 用法简介

目录:[ -] 1、lsof 简介 2、lsof 常用用法 2.1 监控打开的文件、设备 2.2 监控文件系统 2.3 监控进程 2.4 监控网络 3、更多使用技巧 3.1 监控用戶 3.2 监控应用程序 4、命令模式技巧 4.1 组合逻辑查询条件 4.2 lsof 命令的重复执行模式: 5、最后的技巧 6、refer:  1、lsof 简介

2013-08-19 08:41:18 20398

原创 一个无厘头的core dump问题定位

今天收到测试部门提的一个bug,bug的内容如下: 问题现象: suse10服务器升级到suse11 SP2后,aaasevice、loginrpc、paycenter三个网元分别发生了一次core dump 使用dmesg查看: [166996.321057] aaaservice[30535]: segfault at 7fc667d285e2 ip 00007fc6

2013-04-25 17:44:48 1502

转载 python生成 excel --xlwt

django  excel 3 xlwt  , django_excel_templates , django-excel-response  . 2  xlwt    xlwt************************************************************************************************** http://

2013-04-02 15:22:33 1969

原创 shell编程基础知识

1、shell的输入输出参数 #!/bin/sh while read line do echo $line done     2、if语句的使用 #!/bin/sh #echo $* #echo $1 #echo $2 if [ "$1" = "wsm" ];then echo "wsm" elif [ $1 -eq 3 ];then         echo

2012-10-12 11:33:25 611

转载 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探

“探索推荐引擎内部的秘密”系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用。同时在理论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法。本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助

2012-08-16 14:36:27 646

转载 掌握 Linux 调试技术

本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中,我们使用了两个有内存分配问题的样本程序,使用 MEMWATCH 和 Yet Another Malloc Debugger(YAMD)工具来调试它们。在第 2 种情况中,我们使用了 Linux 中的 strace 实用程序,它能够跟踪系统调用和信号,从而找出程序发生错误的地方。在第 3 种情况中,我们使用 Linux 内核的 Oops

2012-08-09 15:49:23 874

转载 linux下socket通信,server和client简单例子

#include "metafile.h" #include #include //定义全局变量 TrackerList *trackerList = NULL; Files *file = NULL; char *metafile_buf = NULL; //保存读文种子文件的缓冲区 long long metafile_size; //种子文件长度 char dirname[512]

2012-08-08 13:59:33 1654

转载 C 语言中的指针和内存泄漏

引言 对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C 语言中拥有的最强大工具。 本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括: 导致内存破

2012-08-02 13:44:02 672

转载 内存管理内幕

为什么必须管理内存 内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与 局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。本文将介绍手工的、 半手工的以及自动的内存管理实践的基本概念。 追溯到在 Apple II 上进行汇编语言编程的时代,

2012-08-02 13:40:15 521

转载 一个 fork 的面试题

前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的: 题目:请问下面的程序一共输出多少个“-”? #include #include #include int main(void) { int i; for(i=0; i<2; i

2012-08-01 19:36:50 533

转载 使用 Crash 工具分析 Linux dump 文件

前言 Linux 内核(以下简称内核)是一个不与特定进程相关的功能集合,内核的代码很难轻易的在调试器中执行和跟踪。开发者认为,内核如果发生了错误,就不应该继续运行。因此内核发生错误时,它的行为通常被设定为系统崩溃,机器重启。基于动态存储器的电气特性,机器重启后,上次错误发生时的现场会遭到破坏,这使得查找内核的错误变得异常困难。 内核社区和一些商业公司为此开发了很多种调试技术和工具,希望

2012-08-01 18:16:26 750

转载 在 POSIX 线程编程中避免内存泄漏

POSIX 线程简介 使用线程的主要原因是要提高程序性能。线程的创建和管理只需要较小的操作系统开销和较少的系统资源。一个进程内的所有线程共享相同的地址空间,使得线程间的通信更高效,且比进程间通信更易于实现。例如,如果一个线程在等待一个输入/输出系统调用完成,其他线程可以处理 CPU 密集型任务。通过线程,可以优先调度重要任务 — 甚至中断 — 低优先级任务。可将偶尔发生的任务放在定期调度的任

2012-08-01 18:09:43 912

转载 在 Linux 平台中调试 C/C++ 内存泄漏方法

由于 C 和 C++ 程序中完全由程序员自主申请和释放内存,稍不注意,就会在系统中导入内存错误。同时,内存错误往往非常严重,一般会带来诸如系统崩溃,内存耗尽这样严重的后果。从历史上看,来自计算机应急响应小组和供应商的许多最严重的安全公告都是由简单的内存错误造成的。自从 70 年代末期以来,C/C++ 程序员就一直讨论此类错误,但其影响在 2007 年仍然很大。与许多其他类型的常见错误不同,内存错误

2012-08-01 16:47:47 2085

转载 应用 Valgrind 发现 Linux 程序的内存问题

应用 Valgrind 发现 Linux 程序的内存问题 回页首 Valgrind 概述 体系结构 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (pl

2012-08-01 16:47:03 916

转载 技巧:Linux 动态库与静态库制作及使用详解

两个要知道的基本知识 Linux 应用程序因为 Linux 版本的众多与各自独立性,在工程制作与使用中必须熟练掌握如下两点才能有效地工作和理想地运行。 Linux 下标准库链接的三种方式(全静态 , 半静态 (libgcc,libstdc++), 全动态)及其各自利弊。 Linux 下如何巧妙构建 achrive(*.a),并且如何设置链接选项来解决 gcc 比较特别的链

2012-07-31 10:49:40 891

转载 Linux 内核调试器内幕

Linux 内核调试器(KDB)允许您调试 Linux 内核。这个恰如其名的工具实质上是内核代码的补丁,它允许高手访问内核内存和数据结构。KDB 的主要优点之一就是它不需要用另一台机器进行调试:您可以调试正在运行的内核。 设置一台用于 KDB 的机器需要花费一些工作,因为需要给内核打补丁并进行重新编译。KDB 的用户应当熟悉 Linux 内核的编译(在一定程度上还要熟悉内核内部机理),但是如

2012-07-31 10:44:39 666

转载 详谈 UNIX 环境进程异常退出

进程异常退出 进程退出意味着进程生命期的结束,系统资源被回收,进程从操作系统环境中销毁。进程异常退出是进程在运行过程中被意外终止,从而导致进程本来应该继续执行的任务无法完成。 进程异常退出可能给软件用户造成如下负面影响: 软件丧失部分或者全部功能性,无法完成既定任务。 如果进程正在处理数据,可能造成数据损坏。 如果是关键软件服务,必然导致服务异常中止 , 造成无法预计的损

2012-07-31 10:41:15 1518

空空如也

空空如也

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

TA关注的人

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