- 浏览: 761824 次
- 性别:
- 来自: 成都
最新评论
-
wi100sh:
多谢分享~
玩转Android---UI篇---ImageButton(带图标的按钮) -
zhanghaichang:
好文章的。
高性能web开发技术(一) -
yingang:
引用classes.dex.dex2jar.jar 拖入 j ...
Andorid杂谈---Apk文件的反编译 -
扶摇诺:
讲解的简明易懂,多谢啦!
玩转Android---UI篇---LinearLayout(线性布局) -
a13429921973:
更为详细的图文介绍,可参考这个http://blog.csdn ...
Android ROM研究---CyanogenMod源代码下载及编译
文章列表
Android内存泄露调试分享
- 博客分类:
- Android杂谈
各位兄弟姐妹,Java开发中的内存泄露的问题经常会给我们带来很多烦恼。特别是对一些新手,如果平时不注意一些细节问题,最后很可能会导致很严重的后果。
在Android中的Java开发也同样会有这样的问题。附件中的pdf整理了一些关于Android中的Java开发,在内存使用方面需要注意的一些问题,希望能够对大家有所帮助。
Android 内存泄漏调试
一、概述
Java编程中经常容易被忽视,但本身又十分重要的一个问题就是内存使用的问题。
排序算法--折半插入排序(二分查找排序)
- 博客分类:
- 数据结构
折半插入排序其实就是直接插入排序的一种改进,引入了二分查找算法,这样关键字的比较次数就会减少,
数量级为O(nlog^2n),但是元素移动次数还是O(n^2),所以折半插入排序的时间复杂度是O(n^2)。
另外,折半插入排序是稳定的排序算法;
下面是用JAVA写的算法的两种实现方式。不过原理都是一样的
第一种:
package sort;
import java.util.Arrays;
public class BinarySearch1 {
public static void main(String args[])
{
int array[]= ...
排序算法---插入排序
- 博客分类:
- 数据结构
插入排序的算法原理比较简单,通过一点点构建有序序列来达到排序的目的。比如给出一个数组a,长度为5,那么首先会将第一个元素作为一个已经排序的序列,然后从第二个元素开始向已经排序的序列(就是第一个元素)从后向前扫描,如果比这个序列中的元素小的话,就插入到相应元素的前面,而插入后需要后移元素。然后第三个元素再从这两个元素组成的有序序列的后面扫描,找到比它小的位置后就插入,否则继续向前扫描,以此类推。
一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:
从第一个元素开始,该元素可以认为已经被排序
取出下一个元素,在已经排序的元素序列中从后向前扫描
如果该元素(已排序) ...
排序算法---归并排序
- 博客分类:
- 数据结构
归并排序中的“归并”的意思是将两个或者两个以上的有序表组合成一个新的有序表。他的实现无论是顺序存储结构还是链表结构,都可以在O(m+n)的时间级上实现。
复杂度:
时间复杂度:O(nlogn)
空间复杂度:O(n)
用途:
1、排序(速度仅次于快速排序,但较稳定)
2、求逆序对数
在实现单数组的归并排序之前,首先了解一下双数组的归并排序
这个双数组归并的前提是两个数组a和b都是已经排序好的
package sort;
import java.util.Arrays;
public class Test1 {
public static v ...
排序算法---快速排序
- 博客分类:
- 数据结构
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。
总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快速搞定。
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
该方法的基 ...
APK权限大全
- 博客分类:
- Android Tips
访问登记属性
android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限
获取错略位置
android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~15 ...
属性
值
说明
android:orientation
horizontal/vertical
设置布局水平还是垂直,默认是垂直
android:checked
true/false
Java 序列化的高级认识
- 博客分类:
- JAVA
引言
将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序列化相关,通过分析情境出现的原因,使读者轻松牢记 Java 序列化中的一些高级认识。
回页首
文章结构
本文将逐一的介绍几个情境,顺序如下面的列表。
JAVA的关键字小结
- 博客分类:
- JAVA
abstract Java 关键字 abstract 关键字可以修改类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 示例
public abstract class MyClass
{
}
public abstract String myMethod();
注释 采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。 abstract 类不能实例化。 仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abs ...
java的多态、重载、构造函数、析构函数的理解
- 博客分类:
- JAVA
一、多态性
多态有3个条件 1:继承 2:重写(重写父类继承的方法) 3:父类引用指向字类对象
实例如下:interface Parent { String method(); }
class Child1 implements Parent { public String method() { return "Child1 "; } }
class Child2 implements Parent { public String ...
java析构函数替代者finalize()解说
- 博客分类:
- JAVA
许多方面,Java 类似于 C++。Java 的语法非常类似于 C++,Java 有类、方法和数据成员;Java 的类有构造函数; Java 有异常处理。
但是,如果你使用过 C++ 会发现 Java 也丢掉一些可能是你熟悉的特性。这些特性之一就是析构函数。取代使用析构函数,Java 支持finalize() 方法。
在本文中,我们将描述 finalize() 与 C++ 析构函数的区别。另外,我们将创建一个简单的 Applet 来演示 finalize() 是如何工作的。
最终的界限
与 Java 不同,C++ 支持局部对象(基于栈)和全局对象(基于堆)。因为这一双重支 ...
排序算法---冒泡排序
- 博客分类:
- 数据结构
话说这冒泡排序好久都没有用过了,忘得差不多了,但是由于目前的需要,只能再次重新学习了一下。
各种算法最好是用C/C++,因为执行效率高啊,在JAVA平台运行这些算法有些不适合,不过这个冒泡排序姑且用JAVA来测试一下。
下图是对它的各种复杂度的评价
最差时间复杂度
O(n2)
最优时间复杂度
O(n)
平均时间复杂度
O(n2)
最差空间复杂度
O(n) total, O(1)auxiliary
最佳算法
No
性能分析:
若记录序列的初始状态为"正序",则冒泡排序过程只需进
此文章为转载
文章一:
String、StringBuilder和StringBuffer的区别
关键字: java
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系 ...
JAVA抽象类和接口的区别
- 博客分类:
- JAVA
下面的这篇文章讲的十分透彻了,所以转载之
简单来说,
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所 ...
在Android系统中提供了两种动画实现方式:一种是Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种方式是Frame动画,这是逐帧动画,通过顺序播放排列好的图片来实现的,类似电影。
Tween动画:
Tween动画能完成一系列简单的变化(如位置、尺寸、透明度和旋转等)。例如,在你的程序中有一个ImageView组件,我们通过Tween动画可以使该视图实现放大、缩小、旋转、渐变等。Tween动画类位于android.view.animation包中,该包中包含了一些常用的动画实现类。
Animation:动画抽象类,其他几个实现类继承它
...