
技术
jtlyr
这个作者很懒,什么都没留下…
展开
-
JAVA下取得字符串像素宽度例子
我们通常要对字符串进行截取,以保证在画面上显示不全的地方Layout整齐划一,Web画面中尤其如此。但由于全角、半角、字符宽度不同而导致使用普通的substring()方法并不能满足要求。所以,就google一下,参考了各种资料后,做了如下例子。 // 英文字体使用Arial,普通模式,大小12(单位是磅,中文中的“一号”,“二号”等这样的分类不支持。) private sta原创 2009-09-11 09:19:00 · 11807 阅读 · 2 评论 -
“引用变量”和“将引用用作函数参数”
一. 引用变量引用变量使用&来声明。&并不是地址操作符,而是类型标示符的一部分。int main(int argc, char* argv[]){int x = 2;int & y = x;y = 3;int m = 4;printf("x = %d, y = %d, m = %d/n", x, y, m);printf("x address = %d, y原创 2009-12-14 16:44:00 · 971 阅读 · 0 评论 -
“常量指针”和“指向常量的指针”的区别
指向常量的指针:该指针指向的值不可通过该指针修改,但该指针可以指向另一个变量。如:int age = 10;const int *p_age = &age;*p_age = 20;// invalidage = 20; // validp_age = p_age2; // 指向另一个变量,和age没有关系了。 valid===================================原创 2009-12-11 10:56:00 · 455 阅读 · 0 评论 -
函数指针小例
使用函数指针可以灵活调用不同的函数。使用函数指针必须完成以下步骤:1. 获取函数的地址2. 声明一个函数指针3. 使用函数指针调用函数例:#include "stdafx.h"int estimate1(int x, int y);int estimate2(int x, int y);int callEstimate(int (*原创 2009-12-11 18:18:00 · 441 阅读 · 0 评论 -
内联函数和宏
1. 内联函数:(C++)inline int square1(int x){return (x)*(x);}; 2. 宏:(C)#define square2(x) (x)*(x); 例一:int main(int argc, char* argv[]){int x = 2;int ret = square1(x);printf原创 2009-12-14 13:39:00 · 484 阅读 · 0 评论 -
【转】《面向对象的艺术》 之设计只允许创建一个对象的类
金旭亮 对象是以类为模板创建的实例,默认情况下,一个类可以创建无数个对象。 现在问题来了:如果我想限制某个类最多只能创建一个对象,那该怎么办? 这有N种方式可以实现。本节示例解决方案为OnlyYou,包容几个控制台应用程序。 1 “检测对象变量是否为空引用”的方式 如果我们在创建对象前先检查一下用于引用对象的对象变量是否为空引用,就转载 2010-01-04 10:53:00 · 570 阅读 · 0 评论 -
基于cisco路由器的电话欢迎词制作方法
通常我们打电话,达到总机,都有一个欢迎词:您好,欢迎致电XXX公司,请拨分机号,查号请拨0。其实这个欢迎词是路由器中的一个.au的音频文件。如果想做自己的欢迎词,可用下面简单的方法就可实现。1.打开windows自带的录音程序;2.设置录音的参数,采样率:8K,8/16bit;(一定要8K的采用率,否则不可用)3.录音,生成一个.wav的文件;4.使用转换工具(我用的是Adob原创 2010-01-06 17:44:00 · 2264 阅读 · 2 评论 -
cisco路由器上传下载文件
通过以下步骤可以对cisco路由器的文件进行操作:1. 打开TFTP server(3CDaemon.exe);2. 把音频文件(.au)copy到TFTP指定的目录;3. 打开windows自带的HyperTerminal.exe;(一般都是使用telnet)4. 输入连接路由器的IP,密码:******↙5. 进入Route原创 2010-01-06 17:38:00 · 7922 阅读 · 0 评论 -
[转]C#资源释放
终于开始动手写这篇文章了,有个网友催了我好几次,今天终于可以静下心来完成它。 便于对文章的开展,需要先明确两个概念。第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,转载 2010-04-21 11:14:00 · 610 阅读 · 0 评论 -
[转]在C++编译器下dlsym()引发的思考
cafesun 2007-02-16这几天看到讲解dlopen,dlsym函数的文章,忍不住自己编码尝试了一下。引出了一些其他知识。dlsym()的函数原型是void* dlsym(void* handle,const char* symbol)handle是由dlopen打开动态链接库后返回的指针,symbol就是要求获取的函数的名称,函数返回值是void*,指向函数的地址,供调用使用。dlsym的返回值与symbol参数就是本文着重要讲述的要点。先看下面一段代码/////////////////////转载 2010-07-01 17:54:00 · 3973 阅读 · 0 评论 -
内存检测工具
目前,已经有许多内存检测的工具可供我们选择,如MallocDebug,Valgrind,Kcachegrind,dmalloc,NuMega,BoundsCheck,ParaSoft ,Insure++,Rational的 Purify等等。Valgrind:Valgrind是x86架构Linux上的多重用途代码剖析和内存调试工具。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C原创 2010-02-10 13:13:00 · 1056 阅读 · 0 评论 -
【转】Spring的核心机制依赖注入简介
Spring能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大减少转载 2009-12-07 15:43:00 · 402 阅读 · 0 评论 -
JAVA下取得字符串像素宽度例子(再探讨)
我在《JAVA下取得字符串像素宽度例子》中大体介绍了判断和截取字符串的像素宽度,在使用的过程中发现了以下问题:在windows下和在Linux下同样的条件下取得的字串宽度不同(主要是针对半角),查了N多资料也没有找到比较好的解决办法。后来灵光一闪,是不是可以找一对字体使得在windows和linux下取得的像素宽度大致相同。经测试发现windows(XP)下使用Arial,Linux下使用Lu原创 2009-09-14 11:19:00 · 3956 阅读 · 0 评论 -
java中截取指定长度的字符串的方法
我们经常会用到截取指定长度的字符串的情况。通常的做法是使用subString()方法进行,但字符串中存在全角字符的情况下,使用此方法往往达不到目的,它实现的只是字符的个数(全角字符也按一个字符处理),按照byte数如何取得指定长度的字符串呢。下面的方法可供参考:private String subStr4Byte(String str, int len) { String s原创 2009-09-17 15:19:00 · 14130 阅读 · 1 评论 -
使用java取得本机的IP地址的方法
public String getHostIP() { String localHostIP = null; try { // ms windowsのIPを取得する。 String osName2UpperCase = System.getProperty("os.name").toUpperCase();原创 2009-09-18 17:26:00 · 772 阅读 · 0 评论 -
【转】应用 Valgrind 发现 Linux 程序的内存问题
级别: 初级杨 经 (cdlyangj@cn.ibm.com), 软件工程师, IBM2008 年 11 月 27 日如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发转载 2009-09-24 10:38:00 · 388 阅读 · 0 评论 -
Word文档独立页码创建方法
Word文档中目录及文章正文的页码分别独立的方法 使用Word进行排版时,大家都会发现无法将目录的页码设置为i、ii、iii、iiii的格式,而文章正文就用(1、2、3、4、5。。。)的方法设置页码。现经我实验发现是可以完全实现的。方法如下:1、 打开须分别设置目录的文章。 2、 在将光标移到需创建新页码的页面首行。 3、 打开菜单—》视图—》页眉和页脚,进入页眉和页脚编辑状态。转载 2009-09-27 11:39:00 · 1688 阅读 · 0 评论 -
使用Java解析CSV文件
可以使用ostermillerutils_1_07_00.jar包进行解析CSV文件,解析后就像访问数据库一样方便。原创 2009-10-10 15:04:00 · 762 阅读 · 0 评论 -
PCM音频文件的合成
此处PCM音频文件的合成包括两层含义:1.两个PCM音频文件相连接,形成一个PCM音频文件2.两个PCM音频文件进行混音,形成一个PCM音频文件。如左声道的PCM音频文件和右声道PCM音频文件合成一个音频文件。原创 2009-11-27 13:33:00 · 5709 阅读 · 1 评论 -
使用JNI调用第三方.so文件
是否JNI可以调用C++的动态库,但C++动态库必须是自己写的。现实中,我们常常会使用供应商提供的动态库文件(.dll/.so),通过其提供的接口实现相关业务,如果直接使用JNI调用,恐怕不能实现。在这种情况下怎么办呢?我们可以这样实现:1.通过JNI,java调用一个自己写的C++动态库(A.so);2.通过自己的动态库(A.so)调用第三方的动态库(B.so);这样可以间接实现原创 2009-11-27 13:40:00 · 9370 阅读 · 6 评论 -
【转】抽象类与接口的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。 其实,两转载 2009-12-07 15:37:00 · 394 阅读 · 0 评论 -
[转]深入分析Windows和Linux动态库应用异同
<br />Arthur_<br />摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率 <br /><br />,增加程序的可扩展性,便于模块化管理。 <br /><br />但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual <br />C++编制的动态库移植到Linux上的方法和经验。转载 2010-07-01 18:16:00 · 669 阅读 · 0 评论