自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 Google Java编程风格指南中文版

作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权:自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言源文件基础源文件结构格式命名约定编程实践Javadoc后记前言这份文档是Goog

2015-11-09 14:23:55 651

原创 欢迎使用CSDN-markdown编辑器

Android Genymotion

2015-10-26 23:37:28 463

原创 欢迎使用CSDN-markdown编辑器

# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctr

2015-10-26 11:59:17 546

原创 ubuntu12.04下安装nvidia驱动

最近新装了显卡,在windows下安装显卡驱动自然很方便,但是来到

2014-04-08 00:34:19 1095

原创 Thinking in Java 泛型

介绍

2014-03-23 23:47:44 1052

转载 Java内存区域和GC机制

Java垃圾回收概况  Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machine)中的内存

2014-03-14 15:15:16 1179

原创 Thinking in Java RTTI和反射机制

意义编程思想中的解释:运行时类型信息使得你可以在程序运行时发现和使用类型信息。并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程),这就是RTTI(Runtime Type Information,运行时类型信息)。在Java中,在运行时识别对象和类的信息主要有两种方式:一种是“传统的”RTTI,它假定我们在编译时已经知道了所有的类型;

2014-03-14 00:16:14 1460

原创 Thinking in Java 类加载与初始化

在阅读Java编程思想类型信息Class.forName()方法时牵扯到Class类对象和类加载过程,这里作下记录类加载器类是程序的一部分,每个类都有一个Class对象。换言之,每当编写并且编译了一个新类,就会产生一个Class对象(更恰当地说,是被保存在一个同名的.class文件中)。为了生成这个类的对象,运行这个程序的Java虚拟机(JVM)将使用被成为“类加载器“的子系统。

2014-03-13 15:03:20 959

转载 [解惑] 领略内部类的内部

内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态      我们首先看看类中内部类的两个特点:     (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私有的(私有内部类)。即内部类对包围它的外部类可见。Java代码

2014-03-05 16:01:12 658

转载 Thinking in Java 内部类

Java 内部类种类及使用解析内部类Inner Class  将相关的类组织在一起,从而降低了命名空间的混乱。  一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。  Java中的内部类共分为四种:  静态内部类static inner class (also called nested class)  成员内部类member inner c

2014-03-05 15:46:55 1037

原创 Thinking in Java 接口

P1721. 抽象类:包含抽象方法的类。          如果类中含有抽象方法,则必须被定义为抽象类。          抽象类中可含0个,一个或多个抽象方法。          抽象方法中不能有具体实现。           抽象类中可以包含非抽象方法。          抽象类中可以包含成员变量。          不能创建抽象类的对象。2. 接口:被声明

2014-02-24 15:16:01 904

原创 Thinking in Java 构造器的调用顺序

//: polymorphism/Sandwich.java// Order of constructor calls.package polymorphism;import static net.mindview.util.Print.*;class Meal { Meal() { print("Meal()"); }}class Bread { Bread() { pr

2014-02-21 14:40:45 1022

原创 Thinking in Java 多态的缺陷:域与静态方法

P157一旦你了解了多态机制,可能就会开始认为所有事物都可以多态地发生。然而,只有普通的方法调用可以是多态的。例如,如果你直接访问某个域,这个访问就将在编译期进行解析,就像下面的示例所演示的://: polymorphism/FieldAccess.java// Direct field access is determined at compile time.class Sup

2014-02-20 16:48:38 1148

原创 Thinking in Java static

P171  5-4-2

2014-02-12 17:06:44 818

原创 Thinking in Java 内部类访问外部类

P349 上传图片 1、图片大小不能超过2M2、支持格式:.jpg .gif .png .bmp中间水印右下水印 无水印文章标签(添加Tag,你的内容能被更多人看到)我们为什么要打Tag?(最多添加5个标签,多个标签之间用“,”分隔)个人分类 [编辑分类](多

2014-02-11 17:37:20 958

原创 Thinking in Java 前期绑定&动态绑定

P280方法调用绑定将一个方法调用同一个方法主体关联起来被称作绑定。若在程序执行前进行绑定(如果有的话,由编译器和连接程序实现),叫做前期绑定。读者可能以前从来没有听说过这个术语,因为它是面向过程的语言中不需要选择默认的绑定方式。例如,C只有一种方法调用,那就是前期绑定。上述程序之所以令人迷惑,主要是因为前期绑定。因为,当编译器只有一个Instrument引用时,它无法知道究竟调用哪个方法

2013-12-12 17:47:05 864 1

原创 Thinking in Java 向上转型

p260由导出类转型成基类,在继承图上是向上移动的,因此一般称为向上转型。由于向上转型是从一个较专用类型向较通用类型转换,所以总是很安全的。也就是说,导出类是基类的一个超集。它可能比基类含有更多的方法,但它必须至少具备基类中所含有的方法。在向上转型的过程中,类接口中唯一可能发生的事情是丢失方法,而不是获取它们。这就是为什么编译器在“未曾明确表示转型”或“未曾指定特殊标记”的情况下,仍然允许向上

2013-12-11 16:40:32 912

原创 Thinking in Java final关键字

P262final关键字根据上下文环境,Java的关键字final的含义存在着细微的区别,但通常它指的是“这是无法改变的。”不想做改变可能出于两种理由:设计或效率。由于这两个原因相差很远,所以关键字final有可能被误用。以下几节谈论了可能使用到final的三种情况:数据,方法和类。final数据许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的。有时数据的恒定不变是很有

2013-12-11 14:13:52 899

原创 Thinking in Java:对象初始化顺序

P131初始化的顺序是先静态对象(如果它们尚未因前面的对象创建过程而被初始化),而后是“非静态”对象。从输出结果中可以观察到这一点。要执行main()(静态方法),必须加载StaticInitialization类,然后其静态域table和cupboard被初始化,这将导致它们对应的类也被加载,并且由于它们也都包含静态的Bowl对象,因此Bowl随后也被加载。这样,在这个特殊的程序中的所有类在

2013-12-04 17:30:52 852

原创 Linux下Vim改造成IDE

本人ubuntu下android开发,经常需要查看和修改android系统源码,而eclispe下只适合开发英应用程序,而且太过庞大,比较吃硬件;而source insight在ubuntu下只能通过wine来安装,因此性能和体验上一直都不如意。所以每次只能通过vim来修改代码,内置的vim用起来确实不爽,但是Linux平台的可用性一直都比较强,通过安装一些插件,你会发现vim将会编程强大的IDE

2013-12-02 17:37:57 1641

原创 android HAL框架

摘抄至书籍上的一段话

2013-11-19 17:09:53 1298

转载 linux 进程地址空间的探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。那虚拟内存空间是什么呢,它与实际物理内存空间又是怎样对应的呢,为什么有了虚拟内存技术,我们就能运行比实际物理内存大的应用程序,它是怎么做到的呢?呵呵,这一切的一切都是个迷呀,下

2013-09-26 15:18:56 831

原创 C/C++中常见的与存储器有关的错误

这些都是最近在《深入理解计算机系统》中看到的,在项目中确实很实用1.间接引用坏指针在进程的虚拟地址空间中有较大的洞,没有映射任何有意义的数据,如果我们试图间接引用一个指向这些洞的指针,那么操作系统就会以段异常来终止我们的程序。而且,虚拟存储器的某些区域是只读的,试图写这些区域将造成以保护异常终止这个程序。eg:   scanf("%d", &val)   然而,对于C程序员初学者而言(

2013-09-17 15:56:14 821

原创 虚拟存储器

为了更加有效地管理存储器并且少出错,现在系统提供了一种对主存的出想概念,叫做虚拟存储器。虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核文件的完美交互。它为每个进程提供了一个大的、一致的、私有地址空间,通过一个很清晰的机制,虚拟存储器提供了三个重要的能力:它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效

2013-09-16 14:46:54 983

原创 静态链接和动态链接

大家都知道应用程序有两种链接方式,一种是静态链接,一种是动态链接,这两种链接方式各有好处。程序的静态连接还是动态连接是根据编译器的连接参数指定的。所谓静态链接就是在编译链接时直接将需要的执行代码拷贝到调用处,优点就是在程序发布的时候就不需要的依赖库,也就是不再需要带着库一块发布,程序可以独立执行,但是体积可能会相对大一些。(所谓库就是一些功能代码经过编译连接后的可执行形式。)

2013-09-16 11:32:50 1059

原创 Android JNI回调

为什么本地创建的线程pthread_create   不能用于回调  而一定要用create_thread_callback该函数来实现而该函数调用的又是什么(pthread_t)AndroidRuntime::createJavaThread最近看到一个函数AttachCurrentThread  觉得能分析这个问题具体详解  http://developer.android

2013-09-05 16:27:55 778

原创 UltraEdit for Linux Keygen

在Linux端编程最郁闷的就是软件工具太匮乏,并不是每个人都能将vim玩的那么溜。平时在Windows上使用UltraEdit发现也有Linux版本,在网上找到对应的注册机,激活后使用过程相当爽。下载地址 下载地址 下载地址

2013-09-03 09:45:21 4144

原创 Eclipse Android SDK Manager下载失败解决

Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法!点击桌面左下角开始菜单中的搜索,把以下路径:c:\windows\system32\drivers\etc 复制到搜索窗口中,点击立即搜索 ,就找到hosts文件,其实是一个纯文本的文件。1、用记事本打开2、将 7

2013-08-27 10:21:55 1848

原创 git使用总结

git使用

2013-07-09 20:08:00 1697 1

原创 Ubuntu12.04创建eclipse图标

在ubuntu12.04系统下成功使用解压后的eclipse,但是没有启动图标  需要手动添加参考网络上的资料都说要在/usr/share/applications目录下创建eclipse.desktop文件cd /usr/share/applicationstouch eclipse.desktop网络上众说纷纭,参考了一篇帖子发现压根就没作用  内容如下[Desktop E

2013-06-21 16:15:21 1063

原创 Ubuntu 12.04 eclipse启动报错

之前一直使用ubuntu10.04   配置好JDK后解压eclipse使用一切正常现在使用ubuntu12.04使用出现奇怪的错误  此时Java -version判断JDK一切正常感觉很奇怪后来解决办法是根据提示,直接给你提供JVM环境在提示的eclipse目录下mkdir jrecd jreln -s xxx(jdk路径)/bin从而解决这个莫

2013-06-21 15:26:49 1218

原创 Android Init进程分析

之前在看android启动过程总是带着完成工作任务的目的去分析代码,但是对于一些代码的细节并不是很清楚,在这里就分析一下Init进程的执行过程。Init进程是android系统起来之后启动的第一个进程,对于研究android系统的启动过程很重要。直接根据代码来分析整个进程的执行过程。int main(int argc, char **argv){ int fd_count

2013-04-03 17:47:04 2046

原创 Android init.rc脚本解析

Android init.rc(android init language)android初始化语言由四大类声明组成:行为类(Actions),命令类(Commands),服务类(Services),选项类(Options)Actions和Services隐含声明一个新的段落(Section)。所有该段落下Commands和Options的声明都属于该段落。一.行为类(Actions)

2013-04-03 11:06:13 1490 1

原创 Android屏幕密度与UI大小显示

在调试产品的时候经常会遇到因为LCD屏分辨率不一样而导致UI显示过大或过小的情况,修改了属性系统中的变量ro.sf.lcd_density(device_base.mk),根据对应的屏幕增大或减小对应的值,问题一般都能解决。在frameworks/base/core/java/android/util/DisplayMetrics.java文件中会去获取这个属性的值public sta

2013-04-02 11:42:45 2324

原创 Linux下find结合rm批量删除文件&&批量替换多文件内容

find -name '.svn*' |xargs rm -rfsed -i "s/com.telechips.android.isdbt/com.telechips.android.test/g" `grep com.telechips.android.isdbt -rl ./java/`(注意grep命令外面包围的符号,键盘Esc下面的按键)

2013-03-18 14:26:26 1352

原创 修改android系统设备信息

在android系统开发的过程中,肯定会修改设备信息,具体如下:      在src/build/tools/buildinfo.sh脚本文件中echo "ro.build.id=$BUILD_ID"echo "ro.build.display.id=$BUILD_DISPLAY_ID"echo "ro.build.version.incremental=$BUILD_NUMBER"ec

2013-03-18 14:24:41 3327

原创 Ubuntu系统配置Evolution Mail&&Ubuntu下兼容的QQ2012

自从装了Ubuntu双系统后,无法使用outlook来发送邮件,都是通过网易邮箱来添加公司的邮箱来查看邮件,感觉特不方便,最近特意配置下系统自带的Evolution,居然OK了,将过程记录下来        第一次进入该程序就需要配置账户,或者在Edit——>Preferences选项也可以配置        在第一张图中,填上全名和邮箱,至于默认账户就看自己的选择

2012-09-04 21:54:43 1524 4

原创 Android电阻触摸屏校准

首先电阻屏为什么需要校准,这是电气方面的知识,我也不懂,这里就不说了,这里主要讲讲自己在项目中是怎么通过应用程序来实现校准的,好记性不如烂笔头这里有一篇讲解触摸屏校准原理和优化的文章,道客巴巴上的,先看看了解怎么做触摸屏校准原理与优化通过一系列文章的了解,认识到要想真正做到实现校准,就必须能够更新android系统中的转换参数文件,看一些文章的介绍,不知道是因为版本或者平台,总感觉和我的系统版

2012-08-14 23:23:40 5279 12

原创 Windows硬盘安装Ubuntu双系统及Android开发环境搭建

这是我的第一篇文章,希望能从此开始能够养成写博客的习惯,对自己的思维有个整理的过程,做一些技术的积累吧。最近才安装双系统,以前都是在虚拟机上运行,觉得速度上完全跟不上,影响工作效率,所以就开始了双系统的路程,自己也是第一次从硬盘安装,走了不少弯路,在这里记录下来,以后再搭建环境的时候也不会有这些问题了。步骤如下:(这些网上也有很多帖子,我这里只是针对自己出现的问题进行一个总结)在安装前

2012-07-30 18:47:50 1431

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除