<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[perjer123的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/perjer123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; perjer123]]></copyright><item><title><![CDATA[获取未安装的APK图标]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7491849</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7491849</guid><author>perjer123</author><pubDate>Mon, 23 Apr 2012 23:39:36 +0800</pubDate><description><![CDATA[001
package 
lab.sodino.fetchapkicon; 








002
  








003
import 
java.io.File; 








004
import 
java.lang.reflect.Constructor; 








005
imp]]></description><category></category></item><item><title><![CDATA[java 线程wait()与notify()的用法(被唤醒后的线程到底重新执行同步代码块还是从那是等待的那里继续执行)]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7371389</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7371389</guid><author>perjer123</author><pubDate>Mon, 19 Mar 2012 23:36:48 +0800</pubDate><description><![CDATA[我们先来看看这两个方法的定义:
      wait()   导致当前线程等待，直到其他线程调用此对象的 notify()方法或 notifyAll()方法前，导致当前线程等待。
     notify()  唤醒在此同步监视器上等待的单个线程，如果有多个线程在此同步监视器上等待，则会唤醒其中的一个，
 
现在假设系统有以一种特殊的要求，系统要求存款者和取款者不断的重复存钱，取钱动作，而且]]></description><category></category></item><item><title><![CDATA[Java编程语言中notify和wait的具体应用]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7371381</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7371381</guid><author>perjer123</author><pubDate>Mon, 19 Mar 2012 23:34:31 +0800</pubDate><description><![CDATA[Java编程语言在应用的时候需要我们不断的进行相关知识的学习，首先我们先要理解notify()和wait(),只有理解了这个语句才能更好的进行相关的应用。希望大家有所收获。
　　
　　为什么在前几天纪录线程的时候没有纪录这两个方法呢,因为这两个方法本来就不属于Thread类,而是属于最底层的object基础类的,也就是说不光是Thread，每个对象都有notify和wait的功能，为什么？因为]]></description><category></category></item><item><title><![CDATA[浅析Java中CountDownLatch用法]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7364630</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7364630</guid><author>perjer123</author><pubDate>Sat, 17 Mar 2012 17:39:37 +0800</pubDate><description><![CDATA[CountDownLatch如其所写，是一个倒计数的锁存器，当计数减至0时触发特定的事件。利用这种特性，可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。
import java.util.concurrent.CountDownLatch;
  import java.util.concurrent.Executor;
  import java.util.concur]]></description><category></category></item><item><title><![CDATA[线程--CyclicBarrier]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7364586</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7364586</guid><author>perjer123</author><pubDate>Sat, 17 Mar 2012 17:24:56 +0800</pubDate><description><![CDATA[本例介绍第三个同步装置：CyclicBarrier，它维护一个计数器，与CountDownLatch不同的是，等待这个CyclicBarrier的线程必须等到计数器到达某个值时，才可以继续。CyclicBarrier就像它名字的意思一样，可看成是个障碍，所有的线程必须到齐后才能一起通过这个障碍。本例实现一个数组相邻元素的加法，一个线程给数组的第一个元素赋值，然后等待其他线程给数组第二个元素赋值，然]]></description><category></category></item><item><title><![CDATA[java实现信号量]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7363639</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7363639</guid><author>perjer123</author><pubDate>Sat, 17 Mar 2012 11:01:14 +0800</pubDate><description><![CDATA[本文介绍的Semaphore实现基于synchronized,wait()和notify/notifyAll(),这是java并发包之前的典型实现方式.在eclipse的源码中可以找到不少这样的案例,下文中也会把eclipse中的几个实现类作为案例以分析之.
       注,这里介绍的信号量实现是基于java语言机制,用于实现多线程间的同步操作,所以对S,P(S),V(S)等概念的介绍将结合本]]></description><category></category></item><item><title><![CDATA[Android存储空间不足]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/7240988</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/7240988</guid><author>perjer123</author><pubDate>Tue, 07 Feb 2012 23:52:47 +0800</pubDate><description><![CDATA[“存储空间不足”data过小的通知分析DeviceStorageMonitorService类
位置
DeviceStorageMonitorService.java (frameworks\base\services\java\com\android\server\)
一. 三个关键变量:
private static final int DEFAULT_THRESHOLD_PERCEN]]></description><category></category></item><item><title><![CDATA[Git 中文教程]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6975204</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6975204</guid><author>perjer123</author><pubDate>Tue, 15 Nov 2011 23:25:11 +0800</pubDate><description><![CDATA[介绍

Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 
Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同，它采用了分布式版本库的方式，不必服务器端软件支持，使源代码的发布和交流极其方便。 Git 的速度很快，这对于诸如 Linux kernel]]></description><category></category></item><item><title><![CDATA[Java回调机制实现]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6954331</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6954331</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 23:18:36 +0800</pubDate><description><![CDATA[Java的接口支持提供了一种获得回调的等价功能的机制。其技巧是：定义一个简单的接口，并在该接口中声明我们要调用的方法。其特点是：一个实例持有一个接口的引用
例如，假设我们希望在某个时间发生时得到通知。我们可以定义一个接口：
Java代码 
package com.wxy.callback; 
 
public interface InterestingEvent { 
 
    /]]></description><category></category></item><item><title><![CDATA[Java回调方式：Java Listener模式]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6954328</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6954328</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 23:17:44 +0800</pubDate><description><![CDATA[每种语言都有自己回调的方法,java也不例外。本文介绍Java Listener模式 。

　　以上是java的MVC框架下最精彩的一段代码.下面是model的工作例子:





　　1 //测试model 
　　2 public static void main(String[] args) { 
　　3 Model model = new Model(); 
　　4 /]]></description><category></category></item><item><title><![CDATA[[转]java回调机制]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6954321</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6954321</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 23:16:20 +0800</pubDate><description><![CDATA[回调概念:
     软件模块之间总是存在着一定的接口，从调用方式上，可以把他们分为三类：同步调用、回调和异步调用。同步调用是一种阻塞式调用，调用方要等待对方执行完毕才返回，它是一种单向调用；回调是一种双向调用模式，也就是说，被调用方在接口被调用时也会调用对方的接口；异步调用是一种类似消息或事件的机制，不过它的调用方向刚好相反，接口的服务在收到某种讯息或发生某种事件时，会主动通知客户方（即调用客]]></description><category></category></item><item><title><![CDATA[详解 Android 的 Activity 组件]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6954316</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6954316</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 23:14:31 +0800</pubDate><description><![CDATA[详解 Android 的 Activity 组件 
Activity 的生命周期

和 J2ME 的 MIDlet 一样，在 android 中，Activity 的生命周期交给系统统一管理。与 MIDlet 不同的是安装在 android 中的所有的 Activity 都是平等的。

Activity 的状态及状态间的转换 
在 android 中，Activity 拥有四种基本状态]]></description><category></category></item><item><title><![CDATA[Builder Pattern]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6950620</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6950620</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 00:07:26 +0800</pubDate><description><![CDATA[Motivation
The more complex an application is the complexity of classes and objects used increases. Complex objects are made of parts produced by other objects that need special care when being built]]></description><category></category></item><item><title><![CDATA[Abstract Factory]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6950619</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6950619</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 00:06:57 +0800</pubDate><description><![CDATA[Motivation
Modularization is a big issue in today's programming. Programmers all over the world are trying to avoid the idea of adding code to existing classes in order to make them support encapsula]]></description><category></category></item><item><title><![CDATA[Factory Method Pattern]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6950617</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6950617</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 00:06:34 +0800</pubDate><description><![CDATA[Motivation
Also known as Virtual Constructor, the Factory Method is related to the idea on which libraries work: a library uses abstract classes for defining and maintaining relations between objects]]></description><category></category></item><item><title><![CDATA[Factory Pattern]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6950616</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6950616</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 00:05:59 +0800</pubDate><description><![CDATA[Motivation
The Factory Design Pattern is probably the most used design pattern in modern programming languages like Java and C#. It comes in different variants and implementations. If you are searchi]]></description><category></category></item><item><title><![CDATA[Singleton Pattern]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6950613</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6950613</guid><author>perjer123</author><pubDate>Wed, 09 Nov 2011 00:05:07 +0800</pubDate><description><![CDATA[Motivation
Sometimes it's important to have only one instance for a class. For example, in a system there should be only one window manager (or only a file system or only a print spooler). Usually si]]></description><category></category></item><item><title><![CDATA[Android Looper和Handler分析]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6934049</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6934049</guid><author>perjer123</author><pubDate>Thu, 03 Nov 2011 23:49:43 +0800</pubDate><description><![CDATA[第一次接触android应用程序（这里指的是JAVA层的UI程序，也难怪了，Google放出的API就只支持JAVA应用程序了），很难搞明白内部是如何实现的。但是，从原理上分析，应该是有一个消息循环，一个消息队列，然后主线程不断得从消息队列中取得消息并处理之。
然而，google封装得太厉害了，所以一时半会还是搞不清楚到底是怎么做的。本文将分析android内的looper，这个是用来封装消息循]]></description><category></category></item><item><title><![CDATA[java静态内部类]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6930301</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6930301</guid><author>perjer123</author><pubDate>Wed, 02 Nov 2011 22:51:33 +0800</pubDate><description><![CDATA[非静态内部类里面不能有静态成员：静态方法是不用生成实例就可以被访问，非静态内部类不被实例化就无法被访问，所以其内的静态成员也是无用的。 

public class OuterClass { 
    ... 
    static class StaticInnerClass1 {            //内部静态类 
        //只可以访问OuterClass的静态成员]]></description><category></category></item><item><title><![CDATA[android service简介 .]]></title><link>https://blog.youkuaiyun.com/perjer123/article/details/6926322</link><guid>https://blog.youkuaiyun.com/perjer123/article/details/6926322</guid><author>perjer123</author><pubDate>Tue, 01 Nov 2011 21:21:41 +0800</pubDate><description><![CDATA[service  

介绍：
应用程序的一个组件，可以在后台长时间执行耗时操作，并没有提供一个用户界面。另一个应用程序组件可以启动一个服务，它会继续在后台运行，即使用户切换到另一个应用程序。此外，一个组件可以绑定到一个服务与它交互，甚至进行进程间通信（IPC） 。例如，服务可能处理网络服务，播放音乐，执行文件的I / O等。默认情况下，一个服务运行在承载它的应用程序的主线程中。 

来自]]></description><category></category></item></channel></rss>