Java中重写Object类的equals方法和Hashcode方法的注意事项 2016年10月16日 9 阅读 在重写任何类的equals方法是必须遵循以下几点:1、对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。2、反射性:x.equals(x)必须返回是“true”。3、类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equal...
Java反射类成员变量 2016年10月16日 9 阅读 Java反射类成员变量代码如下:packagecom.test; importjava.lang.reflect.Field; importjava.lang.reflect.Modifier; publicclassTest_5{ publicstaticfinalinta=111; publicstaticfinalintb=222; publicstaticfinalintc=333; publicstaticfinalin...
Linux下对信号量测试的一个简单例子 2016年10月16日 9 阅读 Linux下对信号量测试的一个简单例子:#include<stdio.h> #include<stdlib.h> #include<pthread.h> #include<semaphore.h> #defineMAXSTACK100 intstack[MAXSTACK][2]; intsize=0; sem_tsem; voidReadData1(void) { FILE*fp=fopen...
Linux串口操作的一段代码 2016年10月16日 9 阅读 Linux串口操作的一段代码:/**termio.c** Createdon:2011-11-2* Author:jieen*/ #include <stdio.h> /*标准输入输出定义*/ #include <stdlib.h> /*标准函数库定义*/ #include <unistd.h> /*Unix标准函数定义*/ #include <sys/types.h> #i...
Objective-C数组使用小结 2016年10月16日 9 阅读 使用数组对象创建的数组功能非常强大,在Java语言或者C语言中定义的数组必须满足数组中的每一个元素必须是同样的类型。而Objective-C语言可以在Array数组中放任意类型的objective-c的对象。有两点值得注意,一是只能放指向这个对象的指针,而不能直接放int ,char,double 等等;二是不能放nil。使用NSArray关键字创建一个不可变的数组,一旦初始化完毕后这个数组的元素是不可以再动态地添加和删除。[array count] : ...
NSString对象的初始化和比较 2016年10月16日 9 阅读 NSSting的对象在使用@"xx"直接初始化赋值时,它会在内存"stack segment"中分配一个空间,用于保存该变量。相同赋值的对象,会采用相同的内存空间,表现为内存地址相同。可以理解为NSString的isa的值是一样的。 NSString *str2=@"e中国2"; NSString *str3=@"e中国2"; // %p for pointers to show the memory address NSLog(@"str2"a...
Objective-C的对象定义 2016年10月16日 9 阅读 在objective-c中定义两个类,用于测试对象的定义操作。首先定义两个类Vehicle和Ship。@interface Vehicle- (void)move;@end@interface Ship : Vehicle- (void)shoot;@end对象定义操作的方法会有很多,下面罗列一些典型的操作方法。如下所示:Ship *s = [[Ship alloc] init];[s shoot];编译器不会报警,因为向s对象发送消息shoot,其类可以...
Java中String类型的不可变性和驻留池 2016年10月16日 9 阅读 一 基本概念可变类和不可变类(Mutable and Immutable Objects)的初步定义:可变类:当获得这个类的一个实例引用时,可以改变这个实例的内容。不可变类:不可变类的实例一但创建,其内在成员变量的值就不能被修改。其中String类就是不可变类的经典应用。二 例子package cn.xy.test;public class StringTest{/** * a的值在编译时就被确定下来,故其值"xy"被放入String的驻留池(驻留池在堆中...
Java异常中Exception捕获不到的异常 2016年10月16日 9 阅读 一 概念众所周知java提供了丰富的异常类,这些异常类之间有严格的集成关系,分类为父类ThrowableThrowable的两个子类Error和ExceptionException的两个子类CheckedException和RuntimeException二 发现问题通常捕获异常catch的时候最大catch到Exception这个类就为止了,当然这能够处理大部分的异常情况。但是值得注意的是,Exception不能捕捉到所有的异常。比如Invocation...
Java中泛型之类型参数(T) 2016年10月16日 9 阅读 类型参数的形式就是List<T> lst。看测试代码:package cn.xy.test;import java.util.ArrayList;import java.util.Collection;public class Test{/** * 该方法使用的只能传Object类型的collection而不能传Object的子类,会产生编译错误 * 因为String是Object的子类而List<String>不是List<...
Java中泛型之类型通配符(?) 2016年10月16日 9 阅读 实体类package cn.xy.model;/*** 生物类* @author xy* */public class Living{private String name;public Living(String name){ super(); this.name = name;}public String getName(){ return name;}public void setName(String name){ this.name = name...
Node.js零起点开发教程 2016年10月16日 10 阅读 安装node.js参考链接:https://github.com/joyent/node/wiki/Installation安装非编译版本这里面提供的是在不同操作系统上编译node.js的方法,参照链接https://github.com/joyent/node/wiki/Installation安装编译后的版本现在地址:http://nodejs.org/download/我的机器是windows的,选择的文件是,是编译后的版本:Windows Inst...
Android中绘制圆角矩形图片及任意形状图片 2016年10月16日 10 阅读 圆角矩形图片在苹果的产品中很流行,相比于普通的矩形,很多人都喜欢圆角矩形的图片,因为它避开了直角的生硬,带来更好的用户体验,下面是几个设计的例子:下面在Android中实现将普通的矩形图片绘制成圆角矩形。首先看最终效果:代码清单:packagecom.example.phototest; importandroid.os.Bundle; importandroid.app.Activity; importandroid.graphics.Bitmap; ...
Ubuntu下ZedBoard USB-Jtag驱动安装及双核调试 2016年10月16日 9 阅读 开发环境说明 Ubuntu 12.04 LTSXilinx最新的基于zynq-7000 AP SOC平台的ZedBoard开发板的USB-Jtag驱动安装方法运行前准备% sudo dpkg-reconfigure -plow dashInstall as /bin/sh? No这个主要是为了能够安装由mento 提供的xilinx的gnu toolchain,否则安装过程中arm工具链就无法安装上去1.在运行Xilinx的ISE安装工具时,运行命令为./...
Python 找出占用系统swap的程序 2016年10月16日 9 阅读 今天程序哥说机器不断死机,后发现是swap用完了导致,现需要找出哪些进程占用了swap,网上找了一下办法,就是查看/proc下面的进程号目录里面的smaps文件,如下:tail -n 18 /proc/19454/smapsffde1000-ffdf6000rw-p7ffffffea00000:000 [stack]Size: 84kBRss: 8kBShared_Clean: 0kBShar...
mini2440之启动机制 2016年10月16日 9 阅读 arm core:为执行汇编程序的核心部件rom:厂家固化的代码,用于在arm上电后执行,将nand flash中大小如sram的前面代码(bootloader代码)拷贝到sram中,并cpu跳到sram的0x0位置sram:在执行nand flash中前小段代码(4kb左右),初始化sdram/ddr,并将nand flash中剩余的bootloader代码拷贝到sdram中,最后跳入sdram中继续执行sdram:即为内存,当从sram中进入sdram...
mini2440之汇编点亮一个LED 2016年10月16日 11 阅读 代码编辑分析:(运行时可以删除注释,开发板为mini2440)创建汇编文件led_on.S.global_start -start: LDRR0,=0X56000010 //设置LED的GPIO控制寄存器GPBCON的模式为输出模式,0X56000010为GPB的控制器地址,0X00000400:知设置GPB5的端口为输出模式是第10位和第11位为10则其余0~9位补0,得到100000000000b,换算为十六进制则为0X00000400 MOVR1,#...
mini2440之首个C程序点亮LED分析 2016年10月16日 9 阅读 启动文件+库+文件启动文件:硬件的初始化1.关看门口狗(看门狗就是定时器,系统启动时开启的,开始计时如果3秒没有关闭,则自动重启系统)2.初始化时钟(2440一上电的为12hz,最大可以达到400hz,所以为了使其更快,就需要设置高一点)3.初始化SDRAM软件初始化4.设置栈(将栈指针指向某块内存)5.设置main函数的返回地址6.调用main函数7.清理工作(注:mini2440中2步慢点没关系小只是点亮灯而已,3步不用sdram用内置sram所以可以...
mini2440之S3C2410 SDRAM寄存器初始化设置 2016年10月16日 10 阅读 板子是s3c2410,使用两片容量为32MB、位宽16bit的HY57V561620CT-H芯片拼成容量为64M、32bit的SDRAM存储器。根据2410datasheet,要使用SDRAM需配置13个寄存器,以下逐个来看:1、 BWSCON:Bus width & wait status control register总线位宽和等待状态控制寄存器。此寄存器用于配置BANK0 – BANK7的位宽和状态控制,每个BANK用4位来配置...
S3C2440 SDRAM内存驱动 2016年10月16日 9 阅读 SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装载入内存中,由于内存是RAM(随机访问存储器),可以通过地址去定...