单例模式在Java中的应用
单例模式(Singleton Pattern)用于确保系统中某个类只有一个实例存在,即该类被创建初始化一次后,之后都不会再被创建。这里就来看下单例模式在Java中常见的几种实现方式:
- 双重检查锁
- 类初始化
- enum类型实现
单例模式(Singleton Pattern)用于确保系统中某个类只有一个实例存在,即该类被创建初始化一次后,之后都不会再被创建。这里就来看下单例模式在Java中常见的几种实现方式:
Picasso是SquareUp公司开源的专门为Android平台量身制作的图片加载库。通过Picasso,用户可以方便的将图片加载到特定的ImageView中,而不用关心图片是在一个文件夹里,还是在一个服务器上。那么,Picasso是如何何实现图片的快速加载了?
互联网是由一个个电脑节点组成的网络,那么两个节点之间是如何进行数据通信的了?先来看一看一个最简单的通信模型:发送者通过一个媒介想一个接收者发送消息,同时接收者也可以向发送者发送消息。
这种通信模型与平时生活中的日常会话很是相似。A想与B交流,首先A与B要讲同样的方言,如果一个人讲湖南方言,而一个人讲粤语,则沟通无法进行, 除非请一个懂两种方言的翻译或者沟通双发统一使用某一种语言。抽象的来看,通信一般涉及到如下几个要素:
第一遍看完感觉没有学到什么,又看了一遍,然后自己找了些实例对比着理解了书上的要点,算是对Java编程有了更多的认识。以下是 《Effective Java 2nd edition》的摘记。
相比构造函数,静态工厂方法有哪些优点了?首先,静态工厂方法有自己的名字,这可以增强程序的可读性;其次,静态工厂方法每次调用时,不用创建新的对象实例;第三,静态工厂方法可以返回其返回类型的任何子类型对象。
示例:
1 |
|
之前解决一个开机搜网慢的问题时,发现由于Phone进程起来以后才会主动连接RILD,因而在一定程度上Phone进程启动的时间会影响网络状态注册的快慢。适当的将Phone进程提前,可以将网络注册时间提前一点,让状态栏中信号显示的时间提前。那么,Android中作为系统的核心进程之一,Phone进程是如何启动的了?
本文参考代码为Android NN7.0, RIL运行机制请参考: Android RIL概述
Android系统启动完成后,第一个启动的Activity就是主界面应用程序Launcher,相当于电脑的桌面。Launcher界面可以看到系统中安装的所有APP,点击APP即可启动该APP应用了。那么,Launcher到底是如何启动的以及如何自定义自己的Launcher了?这篇文章我们就来讲讲这两个问题。
有时,需要在Java中直接调用本地(native)方法,把一些耗时的操作使用效率更高C/C++实现。在Java中调用本地方法通常被称为Java Native Interface(JNI)。那么,什么时候需要用到JNI了?
接下来,我们就来看一看,如何在Java中通过JNI来调用本地方法?