- 浏览: 15010 次
- 性别:
- 来自: 成都
最新评论
-
longhua2003:
...
一个简单的Java反编译实例 -
a2008933024:
leihongtai2010 写道大神指点,刚刚研究...
冒泡排序算法实现与分析 -
leihongtai2010:
大神指点,刚刚研究
冒泡排序算法实现与分析 -
somefuture:
文件初状为正序,则一趟起泡就可完成排序,排序码的比较次数为n- ...
冒泡排序算法实现与分析 -
sql_861365880:
java线程中典型的生产者与消费者模式
文章列表
Android ViewTreeObserver简介
一、结构
public final class ViewTreeObserver extends Object
java.lang.Object
android.view.ViewTreeObserver
二、概述
这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。这个 ...
Pull方式解析XML
1、XML文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="23">
<name>liming</name>
<age>30</age>
</person>
<person id="20">
<name>lixiangmei</name>
< ...
1、环境
在手机SD卡上有一张图片,图上相对较大,如果直接用读取文件的方式将图片读取出来有可能会出现内存益处,这里就必须要将图片压缩读取才能保证不出现内存益处错误
2、代码中需要用到的类方法及其主要作用
2.1 Environment:主要是用于获取SD卡的路径信息
2.2 AsyncTask:异步任务,用于耗时操作实现异步功能
2.3 doInBackground(),AsyncTask子类的实现方法,该方法运行在工作线程上,主要用于执行一些耗时操作。
2.4 onPostExecute() AsyncTask子类的实现方法,该方法运行在主线程上,主要用于更新UI操作。
...
1、基本思想
在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
2、图示
3、Java实现
package com.leiht.sort;
/**
* 直接选择排序简单实现
* @author Leiht
*
*/
public class SimpleSelectSort {
public static void main(String[] args) {
int[] numbers = { 56, 45, 78, 67, 99, 13, 34, 49, ...
1、基本思想
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的 ...
1、基本思想:
二分插入法与直接排序类似,只是在确定插入位置的方法是用二分法,即从第0个数据开始依次折半与待插入的数据进行比较直到找到合适的位置。
2、图示:
3、Java具体代码实现:
package com.leiht.sort;
public class SortBinary {
public static void main(String[] args) {
int[] numbers = { 56, 45, 78, 67, 99, 13, 34, 49, 55, 34, 12, 77, 1 };
System.out.println(& ...
1、目标对象
package com.leiht.reflect.decompile;
public class Entity {
public void method1() {
System.out.println("-------------Method1-----------");
}
public void method2(String str) {
System.out.println("-------------Method2-----------" + str);
}
}
2、 ...
1、什么是Java的反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。(定义来自网络书籍)
2、Java反射中用到的几个对象
在反射实现中主要用到的几个对象Class、Constructor、Field、Method
2.1 Class:对于任何一个你想操作的类对象,首先都须要将它转化成一个CLass对象然后通过一些JDK的API才能进行进一步的操作。
获得Class对象有三种方法:
// 1、通过类来获 ...
什么是序列化与反序列化,为什么要实现序列化与反序列化,Java和Android中实现序列化的方式及两种实现序列化的区别及优缺点是什么?本文主要围绕以上问题进行探讨
1、什么是序列化与反序列化?
序列化是指将Java对象通过字节流或者文件(XML)的形式持久化到文件或者数据库的过程。反序列化则是次序列化的Java对象反向恢复成对象的过程。
2、为什么要实现序列化与反序列化?
我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?答案是可 ...
基本思想:
从第0个数据开始,将其与后面的每一个数据比较,如果比其大则调整两个的位置直到最后一个。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
图示:
JAVA代码具体实现
package com.leiht.sort;
/**
* 冒泡排序算法JAVA简单实现
*
* @author Leiht
* @date 2015-11-11
*/
public class SortBubble {
public static void main(String[] args) {
int[] numbers ...
排序基本思想:
从第二个元素开始,用这个元素依次与其前面的每一个元素比较,如大于该元素则将改元素向后移动一个位置直到找到比这个元素小的位置(或者到第一个结束)将这个元素放到改元素的后面即完成排序
算法图示
java代码实现
package com.leiht.sort;
/**
* 直接排序算法java简单实现
*
* @author Leiht
* @date 2015-11-10
*/
public class SortDirect {
public static void main(String[] args) {
int[] n ...
引用求解算法的时间复杂度的具体步骤是:
⑴ 找出算法中的基本语句;
算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。
⑵ 计算基本语句的执行次数的数量级;
只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。
⑶ 用大Ο记号表示算法的时间性能。
将基本语句执行次数的数量级放入大Ο记号中。
如果算法中包含嵌套的循环,则基本语句通常是最内层的循环体,如果算法中包含并列的循环,则将并列循环的时间复杂度 ...
引用【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法
冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。
【2】研究排序算法的稳定性有何意义?
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。
再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai 仍然是在 Aj 位置前。
下面我们分析一下稳定性的好处:
(1)如果排序算法是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所利用。
基数排序就是 ...
模型描述:
java线程中典型的生产者与消费者模式,综合运用到thread中的notify()和wait();
仓库Godown的固定的容量大小max_size,同时有多个生产者向仓库生产放他产品,同时又有多个消费都从仓库取出产品,这就涉及到生产和消费过程中的同步问题,利用多线程技术可以很好的解决这个问题
1、生产者模型,定义为一个线程即实现Thread类
package com.leiht.thread.waitnotify;
public class Producer extends Thread {
private int needNum;
private G ...
SAX方式解析XML实例
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<contacts>
<contact id="1">
<name>zhangsan</name>
<sex>man</sex>
<mobile>13880246907</mobile>
<group>
<id>11</id>
& ...