代码改变世界

C\C++ 程序员从零开始学习Android - 个人学习笔记(七) - java基础 - 类和对象的清除(待续)

2012-02-02 12:07 by CreateLight, 537 阅读, 0 推荐, 收藏, 编辑
摘要:1,局部变量的清除 方法内的局部变量,在栈上进行内存分配,当离开局部变量所位于的作用域块后,栈会自动回卷,清除所有此类型的变量。2,对象的清除 和C++不同,java没有提供析构函数。原因如下: a, C++中的对象可以在栈上分配空间,当离开所出作用域时,清除栈对象,此时会调用对象的析构函数;而java中所有对象都在堆上分配空间,没有栈对象。 b,java有垃圾回收机制,所有对象会(在某个时刻)自动进行内存回收,因此不需要显式的在析构函数中回收内存。 尽管如此,java的这些机制并不能完全替代C++析构函数所表现出来的语义和作用。 java提供了finalize方法,垃圾回收器... 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(六) - java基础 - 类和对象的初始化

2012-02-01 18:13 by CreateLight, 519 阅读, 1 推荐, 收藏, 编辑
摘要:1,定义一个类class A{ A(){ this(3); m = 5; i = 6;} A(int k){i = k;} void f(){ } private int i; private int j = 3; static int m; static int n = 6; static final int k = 11; static final int k2; { i = 7; j = 8; m = 6; } static { m = 9; n = 10; k2 = 15; }}2,new一个实例对象A a = new A();初始化过程:2.1 类加载和初始化 ... 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(五) - java基础 - 类的定义

2012-01-19 22:05 by CreateLight, 469 阅读, 0 推荐, 收藏, 编辑
摘要:1,java类概述 java中没有全局函数、全局变量,只有类。 每个.java文件能定义任意个数的类,但pulic非内部类只能有一个,并且类名必须与文件名相同。.java文件中可以没有public类,也可以没有和文件同名的类。 每个类(包括内部类、泛型类)编译后都会生成一个.class文件,.class文件的目录结构必须和类的完全限定名(包名.类名)一致,以便类加载器进行搜索及加载。2,定义一个类:Modifer class ClassName{ Modifer ClassName(type param){ } Modifer type method(type param){ } ... 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组

2012-01-19 02:09 by CreateLight, 727 阅读, 0 推荐, 收藏, 编辑
摘要:1,数据类型 java数据类型分为基本类型(原始类型、原生类型)和引用类型两种。1.1 基本类型 包括布尔类型、数值类型、returnAddress类型。1.1.1 布尔类型 boolean,取值false和true。虚拟机对其支持非常有限,没有专用的字节码指令,所有java源代码中的涉及到的boolean运算,编译后都使用int代替。boolean数组,在虚拟机层面,作为和byte数组一样处理。1.1.2 数值类型 分为整型和浮点两种,和C\C++不同,其存储大小、字节序(大端)、符号固定,和机器无关,在所有平台上都一样。 整型包括: byte: 8位(bit)有符号二进制补... 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(三) - java基础 - 环境和工具

2012-01-19 00:18 by CreateLight, 360 阅读, 0 推荐, 收藏, 编辑
摘要:1,环境: 1.1,JDK - java开发工具箱,包括Java类库(及源代码)、类库文档、Java编译器、JRE等。 1.2,JRE - java运行时环境,想要运行桌面java程序所必备的环境。 在安装目录下有若干可执行文件,即是JDK提供的各种工具。详解见这里: http://blog.csdn.net/hemingwang0902/article/details/66607232,工具: 1.1 编辑器 Eclipse + vi 插件 + 少量自定义快捷键,习惯Emacs的同学可以直接用Eclipse提供的Emacs风格的键绑定。 多用快捷键,少用(不用鼠标)。 1.2... 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(二) - java基础 - 从源代码到运行

2012-01-18 23:39 by CreateLight, 741 阅读, 1 推荐, 收藏, 编辑
摘要:hello world 的起源到终结:先大体写一下,以后会细化。1,写代码 C\C++: 写main函数作为入口,将从main函数开始运行 java: 写包含static void main(String[] args)的类作为主类,将从指定为主类的main函数开始运行,2,编译 C\C++: 通过编译器(cl、gcc、armcc等),src -> 预处理 -> .s(汇编代码) -> .o(目标文件),每个.C文件生成一个对应的.o文件,.o文件包含二进制数据、本地机器码和其他一些用于链接及调试的结构性数据。 java: 通过编译器(javac), src -> .c 阅读全文

C\C++ 程序员从零开始学习Android - 个人学习笔记(一) - 计划和书籍

2012-01-18 19:21 by CreateLight, 2048 阅读, 1 推荐, 收藏, 编辑
摘要:目的 在Android上开发高性能的3D游戏/应用背景 有一定C++基础,无相关工作经验 2年C工作经验 2年移动开发经验(MTK/SPRD) 无任何java基础计划 1,了解Android 2,根据1的信息制定详细的学习计划 3,实施 1,了解Android1.1 现状 市场份额稳定增长,版本众多,目前以2.1 - 2.3为主。最新版本是4.0。1.2 架构 见下图: 应用开发者使用java语言进行开发,调用Android SDK提供的API来进行实际的硬件操作(绘图、网络、按键/触摸响应等)。 APPLICATION FRAMEWORK对上提供开发APP的接口,对... 阅读全文