![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术原创分享
文章平均质量分 67
HedpatCzw
这个作者很懒,什么都没留下…
展开
-
关于看MFC六大仿真技术的一点感想
深入浅出 MFC ——关于六大仿真技术的模拟关于原书的用consol仿真的MFC程序对于只学习过C++的人而言无疑是巨大的挑战,但我认为着为初学者而言,重要的不是去弄懂如何去写那些仿真的console程序,重要的是对于MFC的流程问题,搞清楚MFC的运作原创 2012-07-02 08:11:05 · 712 阅读 · 0 评论 -
如何理解和成为测试工程师
前言 到现在为止,我接触测试工程师这个职位前前后后已经快有1年了,然后便有了些感触。 场景1: A:你现在在做什么? 我:测试开发工程师。 A: 哦,测试啊!(然后就一脸鄙视) 场景2: B:你为什么要去做测试呢? 我:可以多学一些。 B:那不去做开发啊 ... ...原创 2012-07-14 22:12:27 · 3312 阅读 · 0 评论 -
Java并发编程实现—Concurrent—初步学习
从Java1.5版本开始,Concurrent登上其历史的舞台,并成为了并发编程中常用的工具类。这里我们通过对JDK的阅读来了解其基本功能。关键接口:1.BlockingQueue支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。 2.Callable返回结果并且可能抛出异常的任务。 3.Compl原创 2012-07-30 22:20:54 · 674 阅读 · 0 评论 -
Java并发编程实现—Thread, Runnable, Concurrent
Java的并发一般有三种实现方式,其分别可以以其关键技术分为Thread, Runnable, Concurrent这三种方式:Thread例子: class Example1 extends Thread { @Override public void run() { System.o原创 2012-07-30 23:43:33 · 802 阅读 · 0 评论 -
浅析JVM
概述JVM是Java Virtual Machine的缩写,即Java的虚拟机。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。为了可以能好的理解更好的了解这个虚构出来的计算机,我们可以先看看真实的计算机。 下图是微型计算机的基本结构: 如上图所示,一个真正的计算机需要这样几个设备:I/O,运算器,存储器,控制器。I/O:在控制器的控原创 2012-08-18 16:41:59 · 1357 阅读 · 0 评论 -
堆栈浅析(Java&C++)
堆栈是两种数据结构:堆:特殊的树形数据结构,每个结点都有一个值;栈:栈内元素后进先出的数据结构; C++:1、栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。 在Windows下,栈是向低地址扩展的数据结构,原创 2012-08-18 21:15:45 · 951 阅读 · 0 评论 -
Java 垃圾回收机制 [ 内存管理 GC]
一. 什么是Java垃圾回收 当新建一个对象的时候,一个变量指向该对象,同时系统会在堆中分配一块空间给该对象;当对象不再被任何变量引用的时候,这块内存就成为了垃圾,等待GC回收。因为在Java中没有像C++中那样的delete语句来完成内存回收。其本意是想代码编写者可以更方便的实现自己的功能,不用考虑内存的问题。但事实并非如此。 二. GC的特征原创 2012-08-19 19:33:34 · 2161 阅读 · 0 评论 -
初识autoconf和automake
如果需要了解autoconf和automake,那一定需要先了解Makefile。 Makefile其按类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。Make工具最主要也是最基本的功能就转载 2012-07-26 00:14:45 · 3358 阅读 · 0 评论 -
使用valgrind排查Linux进程启动占用内存分布情况
采集数据valgrind --tool=massif ./test 检测栈上内存valgrind --tool=massif --pages-as-heap=yes ./test 把pages上内存影射到栈上valgrind --tool=callgrind ./t原创 2016-01-19 13:46:13 · 1703 阅读 · 0 评论 -
Jar包冲突解决方法
mvn dependency:tree -Dverbose -Dincludes=:原创 2016-01-11 18:22:14 · 372 阅读 · 0 评论 -
Linux 地址定义
/* Protocol families. */#define PF_UNSPEC 0 /* Unspecified. */#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */#defi原创 2016-03-02 12:07:17 · 418 阅读 · 0 评论 -
C++中关键字explicit
对于这个关键字,其实对一些有一两年C++开发经验的人来说都有可能会比较陌生。我们先来看下它的作用。 关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 其实这个关键字把C++一个通用的“优点”功能点给解除掉了,这在一般的编程中是很少使用到的,但由于一些特殊原因,或防止二次开发时出现的一些弊端原创 2012-07-24 22:17:35 · 723 阅读 · 0 评论 -
Java反射机制及其Class类浅析
首先谈谈什么是反射,这所说的反射是特制在编程语言中的反射,其官方解释如下: 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。 其作用如下: 1.加载在程序集清单中列出的模块,以及从此程序集中查找类型并创原创 2012-07-22 21:59:57 · 2854 阅读 · 0 评论 -
C++中动态分配二维数组的方法
int row = N; int column = N; int **pMatrix = new int*[row];for (int i = 0; i pMatrix[i] = new int[column];for (int i = 0; i delete [column] pMatrix[i];delete [r原创 2012-07-13 23:17:43 · 260 阅读 · 0 评论 -
Java中获取当前运行程序的根目录(从有类或包开始)
public class Test2{public static void main(String[] args) throws Exception { System.out.println(Test2.class.getProtectionDomain().getCodeSource().getLocation());// 获取程序的根目录原创 2012-07-14 09:03:56 · 1180 阅读 · 0 评论 -
[JAVA] string 和 byte之间的转换
1.String 转换成byteString str = "Test1234"; byte[] a = str.getBytes(); System.out.println(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); }原创 2012-07-14 09:14:13 · 484 阅读 · 0 评论 -
SSH相关 权限打通
如果需要在Linux中通过SSH进行远程登录,一般是需要输入密码,但只要将SSH之间的权限打通,便可以实现无密码登录。这对自动化shell脚本的实现有很大的帮助。其实现方案如下: 1.本地机器 cd ~/.ssh/ ssh-keygen -t dsa 执行如下操作后,你会得到id_dsa.pub,也就是所谓的公钥。 2.远原创 2012-07-17 23:15:11 · 1173 阅读 · 0 评论 -
Java中finally的简单使用说明
在Java中finally是用来做什么的呢? 可以用这样一句话来概括其功能:在finally中的句子总能运行。 看如下两个例子: 第一个例子阐述的是一般的的finally的用法,无论try块中的异常是否抛出,必须的语句都可以得到执行。如果catch比较多时,那么就需要在每个catch中的语句里面,添加那段 必须的语句就得在每个catch中实现一遍。如果使用fin原创 2012-07-19 16:17:55 · 438 阅读 · 0 评论 -
log4j 学习记录
Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 通过Log4原创 2012-07-18 21:51:54 · 296 阅读 · 0 评论 -
Java中final的简单使用说明
在Java中的final关键字和在C++中所使用的const有一定的差别,虽然都是OOP。在这里将简单的说明一下Java中的final关键字。 从数据,方法,类这这三个方面来进行final的说明。 一. 数据 1.一个永远不会改变的编译时常量; 2.一个在运行时被初始化 这一点和C++中的const比较相似,但由于在C++中有指针原创 2012-07-19 23:08:13 · 471 阅读 · 0 评论 -
浅析Java中Concurrent的并发时间问题
在Java中用Concurrent来实现的并发,并不是真正的并发,其中有一定的时间差,我们用如下的程序进行检测。 import java.util.ArrayList;import java.util.HashSet;import java.util.Random;import java.util.Set;import java.util.concurrent.*原创 2012-08-04 16:47:46 · 655 阅读 · 0 评论 -
Java中Random的简单使用说明
Random类用于生成伪随机数流。使用 48 位的种子,使用线性同余公式对其进行修改。如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random 指定了特定的算法。为了 Java 代码的完全可移植性,Java 实现必须让类 Random 使用此处所示的所有算法。但是允许 Random 类的子类使用其他算法原创 2012-07-21 20:04:41 · 739 阅读 · 0 评论 -
Java并发编程实现—Concurrent—之简介概要篇
在并发编程中实用工具类 第一章 关键接口 1.BlockingQueue支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。 2.Callable返回结果并且可能抛出异常的任务。 3.CompletionService将生产新的异步任务与使用已完成任务的结果分离开来的服务。 4原创 2012-07-22 17:21:01 · 1278 阅读 · 0 评论