程序语言
文章平均质量分 66
JXES智能生态系统
And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.
还有最重要的是, 你要有勇气去听从你直觉和心灵的指示——它们在某种程度上知道你想要成为什么样子,所有其他的事情都是次要的。
Stay Hungry. Stay Foolish.
求知若饥,虚心若愚。
展开
-
回调函数
简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调转载 2011-07-29 16:51:22 · 586 阅读 · 0 评论 -
18天Java学习---9.面向对象编程04-this关键字的使用
this关键字是Java语言里一个比较灵活而又复杂的语法,这里和String一样,也单独罗列出来做一节. this关键字的使用环境:1. 可以调用本类中的方法. 这个方法可以是类里面的一般方法, 也可以是构造函数. 对于一般方法的调用,之前就已经碰到过了,比较熟悉,直接用this.function()即可. 对于在构造函数中使用t...原创 2012-01-04 17:13:40 · 1171 阅读 · 0 评论 -
18天Java学习---11.面向对象编程06-Java的内部类及对象数组
1. Java的内部类机制 所谓内部类,是指在一个类的内部还有另外一个类的定义. 在Java中,可以在类的内部定义内部类, 也可以在方法内部定义一个类. 对于第一种形式,即类的内部定义一个新类,比较简单,举例如下:? 1 2 3 4 5 6 7 8 9 10 ...原创 2012-01-04 17:25:44 · 1834 阅读 · 0 评论 -
18天Java学习---13.面向对象编程08-Java中继承的概念,子类实例化过程,super()及方法复写
继承是OOP的三大特点之一. 这一节主要做一下继承的笔记.1. 继承的概念及使用 在Java中,通过继承可以简化类的定义,扩展类的功能. Java中支持类的单继承和多层继承,但是不支持多继承,即: 一个类只能继承一个类而不能继承多个类.实现继承的格式为: class 子类名 extends 父类Java中继承只能直接继承父类中的公有属性和公有方法...原创 2012-01-05 09:18:38 · 1976 阅读 · 0 评论 -
18天Java学习---14.面向对象编程09-Java中重载与复写的区别、super与this的比较
1. 方法重载与方法复写的区别区别 方法重载 方法复写 英文单词 Overloading Override 概念 方法名称相同,参数的个数或者类型不同 方法名称相同,参数的个数和类型相同,方法的访问权限不能更严格 使用范围 发生在同一个类中 发生在继承关系中,是由子类进行复写 2. su...原创 2012-01-05 09:27:20 · 1465 阅读 · 0 评论 -
18天Java学习---15.面向对象编程10-Java中final关键字,抽象类与接口
抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下这部分的笔记.1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记的方法不能被子类复写; (3).final标记的变量即成为常量,只能被赋值一次. 注意: 如果...原创 2012-01-05 10:07:58 · 1240 阅读 · 0 评论 -
18天Java学习---Java的对象序列化以及文件IO处理
1.对象的序列化就是保存对象的当前状态。2.保存对象的状态有两种主要的方式:1)对象序列化(将对象写入到文件,以后再反序列化,见后例)如果保存的数据用于Java程序内交互,则采用对象的序列化;2)写入文件(将对象写入到文本文件,注意,是文本文件)如果保存的数据用于和其他非Java程序交互,则保存到文本文件。3.对象如果需要序列化,则它所在的类必须要实现Ser...原创 2012-01-05 11:39:56 · 2264 阅读 · 2 评论 -
18天Java学习---1.Java发展及JDK配置
Java的老东家是Sun公司(Stanford University Network), Java语言的创始人James Gosling. Java的图形界面编程(比如Swing等)现在应用很少,学习上可以从轻. Java的垃圾回收机制(Garbage Collection): Java通过提供的系统级线程跟踪存储空间的分配,随时检查并释放...原创 2012-01-04 16:14:36 · 1510 阅读 · 1 评论 -
18天Java学习---3.运算符与表达式
这一部分需要再强调的东西不多,因为运算符表达式都是平时最常用的东西了.总结了一下,以下一点还需要略微注意一下. 关系运算符主要有: >, <, >=, <=, == , !=这几个. 需要注意的是: 关系运算符返回的是布尔值(boolean),而布尔值只有true和false两种值(绝对没有0/1这样C/C++的遗传),因此关系运算的...原创 2012-01-04 16:42:58 · 1183 阅读 · 0 评论 -
18天Java学习---4.Java的分支循环语句
这一部分同样比较熟悉了,但switch语句的使用还需要注意一下.需要注意的有两点:1. break语句在每一个case后面都要加上break语句,这表示退出整个switch分支.如果不加入break的话,程序会从第一个满足case条件的地方开始,后续的case也均会执行.2. 要设置默认的default语句 对于某些不合乎条件的数据,都要通...原创 2012-01-04 16:46:51 · 1251 阅读 · 0 评论 -
18天Java学习---6.面向对象编程01-类对象的构建及对象的引用传递
Java与C++不同,Java是一种纯粹的面向对象语言. 面向对象有三大特点,继承(Inheritance)、封装(Encapsulation)、多态(Polymorpism). 这一部分内容比较多,分开来学. 01部分主要以一个例子来熟悉一下Java类对象的构建过程. 这里有一点需要谨记:Java中类对象的传递是引用传递. 举例如下:?...原创 2012-01-04 16:55:42 · 1218 阅读 · 0 评论 -
18天Java学习---7.面向对象编程02-类的封装性以及构造方法
1.类的封装特性: 类的封装性是指类的属性对外不可见,类的方法可供有限制得使用.我的理解就是: 采取封装后的类,其属性不可读不可写(用getter和setter可进行有限制的读写),其方法可以调用即可读.2.类的构造方法: 类的构造方法是02这一节中的重点部分,有些生疏,多做些笔记. 首先,类的构造方法是...原创 2012-01-04 17:00:12 · 1502 阅读 · 0 评论 -
18天Java学习---8.面向对象编程03-String类的重点应用
String为Java一个很重要的内置类(说最重要也不算很过分吧\(^o^)/~),String类是我们在项目开发中最常使用的一个,这里将String类单独列出来进行学习. 在String类这一部分中,分为三个问题来做笔记.1. String对象的赋值方式 String对象有两种赋值方式, String str = "abc" 或者 String str ...原创 2012-01-04 17:08:36 · 1330 阅读 · 0 评论 -
18天Java学习---10.面向对象编程05-面向对象程序的设计步骤
1. 面向对象程序的设计步骤(理解就好了~) 1.1. 先画一下类的草图; 1.2. 定义每个类中的属性,属性定义完成以后必须要封装(加private/protected等); 1.3. 封装的属性如果需要被外部访问,则一定要设置相应的getter和setter方法; 1.4. 如果需要在对象实例化时给对象的属性赋初值,则可以加入...原创 2012-01-04 17:19:51 · 1303 阅读 · 0 评论 -
18天Java学习---12.面向对象编程07-Java中的static关键字用法
static关键字是今天下午看的主要内容, static关键字是this之外的又一难点, 因此也是单独罗列出来做下笔记. static关键字应用点有3个: static变量(属性)的声明及引用、static方法的声明及引用以及static代码块的使用. 貌似静态代码块的使用机会比较少,这块跨过~ 主要笔记下前面两个部分.1. static 属性(变量)的声明及引用...原创 2012-01-05 09:16:23 · 4996 阅读 · 17 评论 -
指针与参数传递
C/C++中参数传递问题问题与解答:1,值传递时,为什么被调用的方法中的形参值的改变不会影响到相应的实参? 答:因为按值传递时,系统首先为被调用的方法的形参分配内存空间,然后把实参中的值按位置一一对应“复制”给形参。形参中存储的值只是一份实参的拷贝,因此被调用方法中形参值的任何改变都不会影响到相应的形参。2,值传递和引用传递有什么不同,什么是值参数,它以什么方式传递?原创 2012-03-09 15:21:39 · 1387 阅读 · 0 评论 -
编程命名规则
一个好的项目,通过命名是否规范,第一眼就可以看出项目质量的30%,所以摘录了些如下:编程命名中的7+1个提示编程中的命名是基本功,但其中也有很多需要注意的地方。坏的命名经常容易令人一头雾水。本文提供了7条命名中的建议,以及一条黄金法则。总之,变量名是编程的第一步,第一步走好了,后面才走得好。AD:作者为编程命名提供了7+1原创 2012-11-08 14:17:13 · 2001 阅读 · 0 评论 -
变量命名规则------匈牙利命名规则
给程序中的每一个变量起一个好听,好看得名字,那也是一种美,所以再次摘录下来,留着参考,同时,方便有需要的朋友。 几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀原创 2012-02-28 15:30:33 · 1412 阅读 · 0 评论 -
18天Java学习---Java的Socket网络编程以及多线程
1.Socket是代表两台机器之间网络连接的对象(java.net.Socket)。 Socket的建立如下,参数分别是服务器端的IP地址和端口号: Socket socket = new Socket("167.5.75.1",5000);2. 客户端(Client)Socket的使用 2.1 从Socket读出数据步骤:? 1 2...原创 2012-01-05 11:06:08 · 1229 阅读 · 0 评论 -
堆内存和栈内存详解 ——转载
堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆区(he转载 2011-08-01 13:58:36 · 809 阅读 · 0 评论 -
程序语言中花括号的风格列举
K&R style -- Named after Kernighan & Ritchie, because the examplesin K&R are formatted this way. Also called `kernel style' because theU原创 2011-08-01 15:23:38 · 2628 阅读 · 0 评论 -
C/C++处理错误
处理错误: 一些在使用C++编程时可能遇到的基本错误类型1、编译错误。这些发生错误发生在代码编译期间。其结果是无法生成目标文件。这些错误通常是语法错误,意味着编译器不能理解某些内容。他们经常是由键入错误这样简单问题引起。编译器发出警告。虽然通常不必在意警告,但是应该将其作原创 2011-09-16 10:43:00 · 2117 阅读 · 0 评论 -
printf的格式输出
具体请参考MSDN。下面只举几个经常会碰到的例子:char szTemp[] = "abcdefg";wchar_t szWchar[] = L"hijklmn";1,printf("%s", szTemp);输出:abcdefg;"printf"与"%s原创 2011-09-16 11:59:03 · 1575 阅读 · 0 评论 -
Sizeof 计算指针的问题
关于这个运算符网上讲解很多,不过今天又遇到个问题,一直以为是我程序设计上有问题,看了半天,原来是这个在搞鬼。byte * pbuf = new byte[1024];sizeof(pbuf) = 4// not 1024........delete[] pbuf;原创 2011-09-16 13:51:35 · 2260 阅读 · 0 评论 -
用rand()和srand()产生为随机数的方法
标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。 函数二:void srand(unsigned seed原创 2011-08-22 09:41:21 · 1232 阅读 · 0 评论 -
【C/C++语言入门篇】-- 位运算 .
回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们先把这些共性给介绍完。也就是说在介绍面向对象之前,所有的文章都是CC++中都能使用的。从这点上来看,现在正极力奋斗于C++战线转载 2011-08-24 17:10:53 · 2395 阅读 · 0 评论 -
java中byte转换int时为何与0xff进行与运算
其原因在于:1.byte的大小为8bits而int的大小为32bits2.java的二进制采用的是补码形式在这里先温习下计算机基础理论byte是一个字节保存的,有8个位,即8个0、1。8位的第一个位是符号位, 也就是说0000 0001代表的是数字原创 2011-08-24 16:53:57 · 1536 阅读 · 1 评论 -
ECB CBC DES TDES 算法原理
这一篇文章要解决数据加密——数据补位的问题、DES算法的两种模式ECB和CBC问题以及更加安全的算法——3DES算法。 一、数据补位DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。这里有个问题就是为什么要进行原创 2011-11-14 15:28:35 · 4253 阅读 · 0 评论 -
不足8位补齐8位 不足2的n次方补齐2的n次方
最近驱动里碰到一个小问题,就是位补齐的问题,例如补齐8的倍数问题假如byte data.((data+8)>>3) 一次类推,对于2的n次方,左移右移的位数就是n了原创 2011-12-20 17:16:34 · 1459 阅读 · 0 评论 -
线程Thread Sleep(0)的意义重大
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(原创 2011-12-16 16:54:34 · 3591 阅读 · 1 评论 -
侯捷学习观 .
作者简介:侯捷,资讯工作者、专栏执笔、大学教师。常着文章自娱,颇示己志。学习观 谈学习观,我不想在技术层次打转。让我们在制高点上分析。求深还是求广?胡适先生说:「为学当如金字塔,要能广来要能深」。但我们俱足凡夫,如何能够又深又广? 我比较追求「深」,我认为深比广更需要优先面对。曾有一位同事,声称精通十数种程式语言,我对她感到一种不可侵犯的神圣,在工作上只敢保持远观距离。够深,你才能转载 2012-01-09 12:03:29 · 3550 阅读 · 0 评论 -
fatal error C1189: #error : ERROR: Use of C runtime library internal header
今天遇到这个错误,是我把SDK选择不一致导致 1处选的是R13的SDK,2处原来也是R13的,不知道怎么变成R10的了,当时也没细看,之际编译了,于是就出现这个错误,开始还真以为是C与C++公用的问题呢,白白浪费了好久。原创 2011-12-30 16:50:50 · 5317 阅读 · 0 评论 -
18天Java学习---2.Java标识符和基本数据类型
这一块里面,标识符比较简单,没有什么需要记录的东西. 主要做下Java基本数据类型的笔记吧. Java有四种基本数据类型:1. 逻辑型(布尔型) Boolean类型只有两个值,分别是true和false.在Java中不能像C/C++一样,使用0/1来表示true/false!2. 字符型 Char类型, 使用单引号括起来...原创 2012-01-04 16:39:02 · 1242 阅读 · 0 评论 -
18天Java学习---5.Java数组和方法
1. 数组的声明语法Java中数组的声明有两种形式,type var[]或者是type[] var. 我觉得后面一种更合适一些,在声明的时候,心里默念"声明一个type型的数组var",正好和type[] var形式一致. 数组声明的例子如: int a[] = null 或者 int[] a = null. 在Java中,数组是引用类型,也就说,数组中存放着...原创 2012-01-04 16:51:02 · 1355 阅读 · 0 评论 -
18天Java学习---16.面向对象编程11-Java多态性,instanceof及Object类
多态是一个之前一直搞不清楚的概念,通过这次笔记,对多态的概念及应用有了较全面的认识,同时学习了instanceof关键字以及Object类的特点.1. Java中类的多态 所谓类的多态性,是指子类对象和父类对象之间的相互转换. 这里分为两部分做笔记: 1.1 子类对象向父类对象转换(向上转换) 子类对象向父类对象的转换是自动转换.格式为: 父类对象...原创 2012-01-05 10:35:54 · 1797 阅读 · 1 评论 -
C++中C/C++格式化输出
对于不同的机器,一此格式化输出的函数常常会得不到正确的输出,比如小端上的程序在大端上运行等,另外,在日常程序开发时,也会经常被这样的小问题而困扰很久,最终发现是她的问题,不免有点叹息,下面对printf/wprintf/CString.Format等相关函数所使用的格式化输出的语法作一总结,有些是从官方资料摘过来的,还是英文的。函数中格式化声明的一般格式为: %[flags]原创 2014-10-28 11:57:49 · 2471 阅读 · 0 评论