- 博客(43)
- 资源 (5)
- 收藏
- 关注
转载 Java程序开发中如何应用线程
http://www.enet.com.cn/article/2007/1114/A20071114910906.shtml程序员http://www.enet.com.cn/tech/list/index.jsp?ccid=6519[摘要] Java平台从开始就被设计成为多线程环境。在你的主程序执行的时候,其它作业如碎片收集和事件处理则是在后台进行的。[关
2012-07-31 17:34:37 1525
转载 一个关于Java数组的深度思考
[摘要] 刚刚开始接触java数组的人都会听到一句类似的话:java是纯面向对象的语言,他的数组也是一个对象。[关键字] java 数组 刚刚开始接触java数组的人都会听到一句类似的话:java是纯面向对象的语言,他的数组也是一个对象。于是乎,笔者就按照一个对象的方式来使用数组,心安理得。直到我接触到C的数组后,才发现将数组作为一个类来使用在实现上是多么的“不自然”。
2012-07-31 17:32:11 703
转载 对Java多线程技术中所有方法的详细解析
[摘要] run()和start()这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由Java的内存机制规定的。并[关键字] Java 多线程 详细解析 一、run()和start() 这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动
2012-07-31 17:29:40 610
转载 关于Java占用内存的研究
[摘要] 最近对程序占用内存方面做了一些优化,取得了不错的效果,总结了一些经验.[关键字] Java 占用内存 最近对程序占用内存方面做了一些优化,取得了不错的效果,总结了一些经验 简要说一下,相信会对大家写出优质的程序有所帮助 下面的论述针对32位系统,对64位系统不适用,后叙 经常你写了一个程序,一测试,功能没问题,一看内存占用也不多,就不去考
2012-07-31 17:28:05 814
转载 Java接口学习笔记
java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承AD:一、Java接口基础知识1, Java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承.2, 与Java接口相关的设计模式:1, 定制服务模式设计精粒度的接口,每个Java接口代表相关的一组服务
2012-07-31 17:27:02 965
转载 java事件处理机制 自定义事件
ava中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。 3.even
2012-07-31 17:08:00 1754
转载 JAVA线程:两种不同创建方式全面解析
最近一直在看提升javascript代码性能的资料,看来看去就是为了如何提升网站的并发能力或者是软件如何对海量数据进行处理,这里我不想探讨解决这些难题的解决方案,但要解决并发或者是海量数据的问题一定离不开线程,线程的确相当的重要,当你要满足日新月异的用户需求而你所做的软件没有好好利用线程的知识绝对是一件无法让人接受的,就算你是一个关注前端技术的工程师也不会幸免对线程的运用,我相信不到三年我们的主流
2012-07-31 14:08:25 1456
转载 Java创建线程的两个方法
Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法; ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。 为
2012-07-31 14:06:01 1118
转载 Java之锁研究
在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制。1.对象的锁所有对象都自动含有单一的锁。JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候,计数变为1。每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。每当任务离开一个synchronized方法,计数
2012-07-31 11:42:54 1369
转载 eclipse智能提示
今天有点时间,研究了一下MyEclispse的智能感知的功能。刚开始使用它时总是感觉如此不爽→智能感知功能太弱!与Visual Studio2008简直不是一个档次的!不过后来经过查看网上的资料发现它也并非如此的弱,就在上周我自己玩弄它时就发现可以通过如下设置来修改它的智 能感知的提示时间:Windows→Preferences→Java→Editor→Content Assist我们看到
2012-07-31 10:53:45 12761 4
转载 .NET简谈——跨进高级编程门槛的必经之路
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wangqingpei557.blog.51cto.com/1009349/606631我们继续C#基础知识的学习,这篇文章对前面基础知识学习的朋友有着举足轻重的作用;为了延续基础知识学习的热情,我编写了这篇特殊的文章。本篇文章的中心是想借“.NET简谈反射(动态调用)
2012-07-27 10:30:36 1344
转载 .NET实现之(自己动手写高内聚插件系统)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wangqingpei557.blog.51cto.com/1009349/609175今天跟大家分享一下本人在“.NET简谈构件系统开发模式”一文中提到的软件架构设计思路的具体实现细节。大家看了我这篇文章后,总问我为什么要起个这么怪异的名字“构件”而不用“插件”。
2012-07-27 10:26:56 4762
转载 .NET简谈互操作
本文出自 “专注C#、.NET” 博客,请务必保留此出处http://wangqingpei557.blog.51cto.com/1009349/595015 .NET简谈互操作(一:开篇介绍)互操作系列文章:.NET简谈互操作(一:开篇介绍).NET简谈互操作(二:先睹为快).NET简谈互操作(三:基础知识之DllImport特性).NET简谈互操作(四:基
2012-07-27 10:10:46 1449
转载 Windows平台下主要的内存管理途径:
new / delete malloc / free CoTaskMemAlloc / CoTaskMemFree IMalloc::alloc / IMalloc/free GlobalAlloc / GlobalFree LocalAlloc / LocalFree HeapAlloc / HeapFree VirtualAl
2012-07-27 09:59:47 1869
转载 C#读取内存的实例
C#操作内存读写方法是什么呢?让我们来看看具体的实例实现:using System.Runtime.InteropServices; using System.Text; public class Function { //C#操作内存读写方法public staticbyte PtrToByte( int Ptr ) { byte b = Marshal.ReadB
2012-07-27 08:31:56 16278
转载 C# Tips:调用Win32 API如何处理指针类型的参数
0、前言从VB到C#,被人诟病比较多的就是交互性比较差,又集中表现在调用Win32 API上。如果说C/C++调用API只是调用函数这类轻松的活,在C#下却成了阻挡入门者的技术活。之所以产生这么大区别在于数据类型的差异,就是因为C#这类采用了“安全”的类型,我们避免了内存释放和内存访问错误的一些困扰,但是不得不面对调用API时的繁琐。有得必有失,关键看你选择了什么。在调用API时,对于值类
2012-07-26 17:52:04 1626
转载 .net CallbackOnCollectedDelegate 垃圾回收问题。 (Handle::Invoke”类型的已垃圾回收委托进行了回调。)
错误信息: 对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。最近在写一段程序,一开始运行正常,但执行几次后就抛出错误信息。。插了MSDN,解决办法是把委托赋值给类的成员;例如: 原来的委托: public d
2012-07-26 17:22:56 15356 2
转载 C# DllImport 系统调用使用详解 托管代码的介绍 EntryPoint的使用
1 DLLImport的使用using System;using System.Runtime.InteropServices; //命名空间class Example{//用DllImport 导入Win32的MessageBox函数 [DllImport("user32.dll", CharSet = CharSet.Unicode)]publi
2012-07-26 11:54:10 3478
转载 DLL:VS2005使用C++制作dll文件
c++制作dll文件dll文件的c++制作1、首先用vs2005建立一个c++的dll动态链接库文件,这时,// DllTest.cpp : 定义 DLL 应用程序的入口点。//#include "stdafx.h"//#include "DllTest.h"#ifdef _MANAGED#pragma managed(push, off)#endi
2012-07-25 16:28:43 6643
转载 用 GDB 调试程序
一个调试示例源程序:tst.c代码:1 #include23 int func(int n)4 {5 int sum=0,i;6 for(i=0; i7 {8 sum+=i;9 }10 return sum;11 }121314 main()15 {16 int i;17 long result = 0;18
2012-07-24 16:17:26 935
转载 重新定义malloc和free 防止内存泄漏
1, 定义供应用程序使用的头文件//libmem.h#ifndef _LIBMEM_H_#define _LIBMEM_H_//声明自定义malloc及free函数extern void *my_malloc(unsigned int uSize, const char *pszFunc, unsigned int uLine);extern void my_free(
2012-07-24 15:11:54 3018
转载 Linux下coredump文件的查看 ('std::bad_alloc')
Linux下core文件程序运行过程中,出现了如下信息:terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_allocAborted (core dumped)所以查阅了关于core文件的相关信息,如下:当我们的程序崩溃时,内核有可能把该程序当前内存映射
2012-07-24 14:10:18 13839
转载 Linux下undefined reference to ‘pthread_create’问题解决
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_create’”,所有关于线程的函数都会有此错误,导致无法编译通过。问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。
2012-07-24 11:00:56 112338 14
转载 解决了一个隐蔽的内存泄漏——pthread_create后没有detach导致内存持续增长
昨天解决了一个隐蔽的内存泄漏问题,原因是pthread_create后的僵死线程没有释放导致的内存持续增长。现象是这样的:短时间内程序运行正常,但跑了12小时左右,用top查看其内存占用居然高达2G,于是马上意识到有内存泄漏。最先想到的是malloc/free、new/delete没有配对,申请的内存没有释放。于是写了个跟踪malloc/free调用的模块,不过检查中并没有找到未释放的内存
2012-07-24 10:54:08 8591
转载 数组引用:C++ 数组做参数 深入分析
"数组引用"以避免"数组降阶"(本文曾贴于VCKBASE\C++论坛)受[hpho]的一段模板函数的启发,特写此文,如有雷同,实在遗憾。数组降阶是个讨厌的事,这在C语言中是个无法解决的问题,先看一段代码,了解什么是"数组降阶"#include using namespace std;void Test( char array[20] ){ cout }in
2012-07-20 13:51:51 45815 2
转载 一个VS2005无法调试C++的问题
现象:在vs2005中,建立一个空项目,添加一个c++文件main.cc#includeusing namespace std;int main(){cout }此时按f5启动调试,即会提示项目无法调试:无法找到“xxx.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。搜了一些资料,都说建立项目的时候不应建立空项目,而应当建立一个conso
2012-07-20 11:06:04 2098 1
转载 C++中的数学函数汇总
math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1 三角函数double sin (double);double cos (double);double tan (double);2 反三角函数double asin (double); 结果介于[-PI/2, PI/2]double acos (double); 结果介于[0, PI
2012-07-19 14:06:59 25106
转载 STL map常用操作简介
1。目录 map简介 map的功能 使用map 在map中插入元素 查找并获取map中的元素 从map中删除元素 2。map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。3。map的功能 自动建立Key - value的对应。key 和 value可
2012-07-18 17:12:05 3969
转载 焦距、物距与像距
最长焦距/最短焦距=变焦倍数光学变焦镜头不但要看其变焦倍数,还要看其焦距范围,焦距越大,看的越远,视角范围越小玩单反的谁还在乎光学变焦的倍数呀?这倍数可是越大越狗头。人家有钱的高烧们都自豪地宣称自己的镜头都是1倍的--定焦数码单反,镜头标识乘1。5就是实际焦距变焦和焦距首先没有太大的区别 其次,一般的普通数码相机的变焦要在7倍以上方可达到210以上的焦距能看物体的远近只
2012-07-18 15:29:13 66474 1
转载 C/C++ 中如何获取数组长度
C、C++中没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方法是使用sizeof(array) / sizeof(array[0]),在C语言中习惯上在使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) /
2012-07-18 15:07:40 1317
转载 容器在C++中的详细说明(vector)
第1章 容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_mult
2012-07-18 14:30:17 5384
转载 C++笔记
多线程编程之一——问题提出(http://www.vckbase.com/index.php/wv/1412)多线程编程之二——MFC中的多线程开发(http://www.vckbase.com/index.php/wv/1414)多线程编程之三——线程间通讯(http://www.vckbase.com/index.php/wv/1415)多线程编程之四——线程的同步(http://
2012-07-18 11:20:03 1780
转载 防止程序启动两次的方法 CreateMutex()
在工程文件中, WinMain函数里加上以下代码(此代码在BCB6.0下运行):HANDLE hMutex= CreateMutex(NULL,false, "Process"); if (GetLastError()== ERROR_ALREADY_EXISTS) { CloseHandle(hMu
2012-07-17 15:48:03 1379
转载 linux和windows下,C/C++的sleep函数
简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 在VC中使用带上头文件 #include 在gcc编译器中,使用的头文件因gcc版本的不同而不同linux系统需要添加的头文件 #include 注意 : 在VC中Sleep中的第
2012-07-17 11:35:56 141942 2
转载 用C++和Windows的互斥对象(Mutex)来实现线程同步锁
//这是2个线程模拟卖火车票的小程序#include #include DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataint index=0;int tickets=10;HANDLE hMutex;voi
2012-07-17 11:16:45 14227
转载 windows C++ 用信号量控制线程
控制信号量几个主要的函数:WaitForSingleObject();//等待信号量有效 CreatSemaphore();//申请信号量 OpenSemaphore();//打开信号量 ReleaseSemaphore();//释放信号量函数原型:1.创建HANDLE ghSemaphore = CreateSemaphore(
2012-07-17 10:47:41 4427
转载 Linux平台用C++实现信号量,同步线程
使用Linux平台上现有的信号量sem_t相关的一组API,可以方便地进行线程同步。现在用pthread_mutex_t和pthread_cond_t相关的一组API实现信号量机制。这组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthread_cond_signal,pthread_mutex_unlock,pthr
2012-07-17 10:46:49 2312
转载 C/C++混合编程
前段时间,碰到了C,C++混合编程的需求,经过努力,顺利解决问题.现把这方面的知识做一下简单的总结:1.当C++文件要用到C语言中的函数代码时,采用下属方法即可:在C++中的.h文件或.cpp文件中加入下列代码,#define LINT_ARGS 1extern "C" {#include "system.h"}然后在代码中直接调用这些函数即可.注解:
2012-07-17 10:25:44 1210
转载 彻底释放Linux线程的资源
Linux系统中程序的线程资源是有限的,表现为对于一个程序其能同时运行的线程数是有限的。而默认的条件下,一个线程结束后,其对应的资源不会被释放,于是,如果在一个程序中,反复建立线程,而线程又默认的退出,则最终线程资源耗尽,进程将不再能建立新的线程。解决这个问题,有2种方式,系统自动释放线程资源,或者由另一个线程释放该线程资源。注意,在这里,我认为进程运行后,本身,也是一个线程,主线程,主线
2012-07-10 17:20:10 10842 2
转载 Linux--线程编程
进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程可以对进程的内存空间和资源进行访问,并与同一进程中的其他线程共享线程
2012-07-10 17:19:24 727
windowresize
2013-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人