- 浏览: 745500 次
- 性别:
- 来自: 北京
-
最新评论
-
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
WebSocket初探【转】 -
ding335306:
这个目录下没有找到此文件
eclipse.ini in MAC -
songshuaiyang:
哥们写东西可真乱啊
Android获取cpu和内存信息、网址的代码 -
zhoutao_temp:
这是自己能看懂还是让别人能看得懂,您就不能把版面稍微整理一下吗 ...
FFMPEG源码分析 -
chriszeng87:
string2020 写道git clone --bare表示 ...
复制git库
文章列表
使用反射不同于常规的Java编程,其中它与 元数据--描述其它数据的数据协作。Java语言反射接入的特殊类型的原数据是JVM中类和对象的描述。反射使您能够运行时接入广泛的类信息。它甚至使您能够读写字段,调用运行时选择的类的方法。
反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。但反射的某些方面存在一些疑问。在本文中,我将深入讨论为什么您可能 不希望在程序中使用反射,以及您应该这样做的理由。在了解了权衡性分析之后,您可以自行决定是否利大于弊。
使用反射的启点总是 java.lang.Class 实例。如果您希望与预先定义的类协作,那 ...
Java的scanf
- 博客分类:
- Java
读入:
用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中
Scanner cin=new Scanner(System.in);// 读入
while(cin.hasNext()) //等同于!=EOF
{
int n;
BigInteger m;
n=cin.nextInt(); //读入一个int;
m=cin.BigInteger();//读入一个BigInteger;
Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。
2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。Ha ...
Java对象的强引用、软引用、弱引用和虚引用
- 博客分类:
- Java
在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。 但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现在已经无用了,保留它会占空间,但是立刻扔掉它也不划算,因 为也许将来还会派用场。对于这样的可有可无的物品,一种折衷的处理办法是:如果家里空间足够,就先把它保留在家里,如果家里空间不够,即使把家里所有 ...
序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,RMI允许一台机器上的JAVA对象调用不同机器上的JAVA对象方法,对象可以作为参数提供给那个远程方法,发送机序列化该对象并传送它,接收机执行反序列化。 序列化和反序列化的关系图表可形成包含循环引用的顺序图表。这是整个序列化的总体思想。 而Serializable接口属于支持序列化的一个接口,只有一个实现它的对象可以被序列化工具存储和回复,Serializable接口没有定义任何成员,只用来表示一个累可以被序列化,若该类可以序列化,那么它的所有子类都可以。 下面是关于序列化的一个实例: 程序名称:Serializatio ...
Java并发之生产者消费者
- 博客分类:
- Java
这个例子有点局限,消费者每次只能等生产者生产了n个Q后消费完这n个。
package com.test;
class Q {
int n;
boolean valueSet = false; //Q的value是不是已经设置过了
synchronized int get() {
if(!valueSet)
try {
wait(); //wait until Producer produce a product and notify ,释放锁
} catch(InterruptedException e) {
...
这里要说的是工厂方法模式。
1. 工厂方法模式的定义:工厂方法模式定义了创建对象的接口,但让子类来决定实例化哪个product类,推迟类的实例化到子类。
2. 工厂方法负责对象的创建,实际的对象创建在子类中进行。这使得父类的client code(调用工厂方法的代码)与子类的创建代码解藕。抽象方法在Creator的父类中定义,一般定义如下:
abstract Product factoryMethod(String type)
Creator子类必须实现工厂方法。实现了对interface编程而不是instance编程。 ...
Java虚拟机 和 java虚拟机下的进程
- 博客分类:
- Java
转自:http://blog.csdn.net/zyxnetxz/article/details/4681942
一、什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指: 1、抽象的Java虚拟机规范 2、一个具体的Java虚拟机实现 3、一个运行的Java虚拟机实例二、Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公 ...
Java运行时异常与一般异常的异同
- 博客分类:
- Java
Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO
异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,
面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟
机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种 ...
转自 http://blog.sina.com.cn/s/blog_4d979c250100s0u0.html
View重绘和内存泄露的好像是面试经常问的问题1. View的刷新:在需要刷新的地方,使用handle.sendmessage发送信息,然后在handle的getmessage里面执行invaliate或者postinvaliate.2. GC内存泄露出现情况:1.数据库的cursor没有关闭2.构造adapter时,没有使用缓存contentview
安装指定apk
public void setupAPK(String apkname){
String fileName = Environment.getExternalStorageDirectory() + "/" + apkname;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
m ...
px (pixels)像素dip (device independent pixels)设备独立像素sp (scaled pixels — best for text size)放大像素--对文本大小最好pt (points)点in (inches)英寸mm (millimeters)毫米
dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了
支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
HVGA 320x480
WVGA 480x800
FWVG ...
近期很多公司招聘Android程序员,就一些常见的Android面试基础题做下总结,看看你能做出多少道?
1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗?
这里Android123提示大家,Intent的一些标记有FLAG_ACTIVITY_BROUGH ...
进程、线程概念及内涵梳理
- 博客分类:
- Linux/Unix
进程、线程的概念实在太重要,在每个编程语言里都有相应的实现机制,面试的时候也经常被问到,今天稍微梳理以下,说的不好请投隐藏帖。
1.进程
《APUE》上的解释:程序是存放在磁盘上,处于某个目 ...
转自:
http://www.cnblogs.com/luxiaofeng54/archive/2011/02/12/1952391.html
一:什么是NDK?
NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和
java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。
NDK 集成了交叉编译器,并提供了相应的mk 文件隔离CPU、平台、ABI 等差异,开发人员只需要简单修改mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK 可以自动地将so 和Java 应用一起打包,极大地减轻了开发人员的打包工作。 ...