
JAVA
筋斗云王
这个作者很懒,什么都没留下…
展开
-
动态绑定只针对函数而不针对字段域
/** * @(#)这个例子告诉我们动态绑定其实是针对函数的,字段不会受影响 *例如:animal类被赋值为鱼类后,调用name字段仍然输出“动物类”,调用 *eat()则输出“鱼吃” * * * * @author * @version 1.00 2008/9/17 */class Animal{ String name="动物类"; void eat(){原创 2008-09-17 14:00:00 · 984 阅读 · 0 评论 -
将你的Android编译打包签名自动化
编译,签名,打包你的android程序成为apk,在eclipse上是件很简单的事情,那我们为什么还要自动化脚本呢?1. eclipse 实现这些功能的机制也是靠的这些命令。2. 自动化脚本更灵活,我们可以指定打包的签名文件,直接将生成好的apk重命名并拷贝到某个位置。3. 更快速,速度远远快于eclipse,对于不断调试程序的程序员来说,减少等待时间,保持好心情更能提高工作效率。转载 2012-12-04 14:25:07 · 1405 阅读 · 0 评论 -
Java - Eclipse: "Error notifying a preference change listener"
遇到标题所示的错误,说明你装的eclipse插件相对eclipse3.2平台旧了,只要把plugin下的cdt相关的插件删除就可以解决这个问题。 英文网址:http://www.velocityreviews.com/forums/t361244-eclipse-error-notifying-a-preference-change-listener.html原创 2013-04-10 14:45:42 · 1489 阅读 · 0 评论 -
Java转义字符和正则表达式
Java中正则表达式和转义字符容易弄混。我们现在先从概念上区分两者。所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 正则表达式功能更强大,在Java中\+"x"叫转义,只有\\+"x"才叫正则表达式。原创 2013-04-10 14:45:57 · 814 阅读 · 0 评论 -
声明float类型
float f = 11.1123F; 在java中声明float类型,如果带有小数,必须在数值后面用‘f’或'F'标注,否则视为double类型。原创 2013-04-10 14:46:05 · 5481 阅读 · 0 评论 -
java文件中为什么会有serialVersionUID
[转自: http://tbase.itpub.net/post/4931/42269]java文件中为什么会有serialVersionUID 。一些java类中为什么需要重载 serialVersionUID 属性。在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下, 用原创 2013-04-10 14:46:31 · 671 阅读 · 0 评论 -
Java class文件的opcode
使用Java自带的工具javap可以查看Java class文件的机器码。例:javap -c className public Activity(); 0 aload_0 1 invokespecial 4 new 7 dup 8 ldcaload_0 就是一个操作指令,这些指令都对应一些固定的数值,这些数值你原创 2013-04-10 14:47:20 · 1239 阅读 · 0 评论 -
更好的控制Java程序的行为,使用Java虚拟机参数
Java程序执行在Java虚拟机至上,我们可以通过参数配置Java虚拟机的行为。Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subseq原创 2013-09-25 17:16:40 · 3913 阅读 · 0 评论 -
查看Java class文件的字节码
<br />使用Java自带的工具javap可以查看Java class文件的机器码。<br />例:javap -c className<br /> <br /> public Activity(); 0 aload_0 1 invokespecial 4 new 7 dup 8 ldc<br /> <br />aload_0 就是一个操作指令,这些指令都对应一些固定的数值,这些数值你可以在搜索Opcode Mnemonics b原创 2011-04-05 12:11:00 · 5723 阅读 · 3 评论 -
Android使用binder访问service的方式(一)
binder机制是贯穿整个android系统的进程间访问机制,经常被用来访问service,我们结合代码看一下binder在访问service的情形下是怎么具体使用的。service 你可以理解成没有的界面的activity,它是跑在后台的程序,所谓后台是相对于可以被看得到的程序的,后台程序是不能直接交互的程序。binder主要是用来进程间通信的,但也可用在和本地service通信原创 2012-07-13 09:39:15 · 41736 阅读 · 4 评论 -
加密Java class文件
基本思想就是将class中的每一个byte进行一个运算,比如加3,然后在classLoader加载这个class文件的时候,对每一个字节进行一个反操作(这里是-3),然后再交给虚拟机去执行。这个‘3’就是key,我们平时在使用付费软件的时候需要提供一个序列码,序列码就是key,不过他们使用的算法并不是简单的运算,是一套成熟的加密算法。原创 2011-04-05 10:01:00 · 1751 阅读 · 2 评论 -
Java平台的局部升级
<br /> <br />我们可以在不升级整个Java 平台的情况下,将一些最新jar包放到某个路径下,覆盖Java平台自带的比较陈旧的相关包。<br />不过并不是Java平台的所有模块都可以被升级,只有两类模块可以被这样的方式升级:<br /> <br /> 1. 一类是被Java平台自带的,但是支持升级的包。<br />2. 一类是Java平台本来没有自带的,一些独立技术包。<br /> 升级支持的包:endrorsed packages<br />javax.rmi.CORBAorg.omg.C原创 2011-04-04 22:15:00 · 870 阅读 · 0 评论 -
java学习中常见比较模糊的部分
“==”和“equals”的用法 在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型。 “==”是比较两个变量的值是否相等,“equals”是比较两个对象变量所代表的对象的内容是否相等,它是Object类中的一个方法 当我们声明一个引用类型变量时,系统只为该变量分配转载 2008-09-17 17:50:00 · 3440 阅读 · 0 评论 -
由基本数据类型和引用类型想到的
基本数据类型包括byte、int、char、long、float、double、boolean和short。 引用数据类型包括:类,数组,接口 基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的。 由此,我们分析一下”==“和equals()的区别。首先,我定以两个String对象String a="abc";String b="a原创 2008-09-17 18:14:00 · 1105 阅读 · 0 评论 -
经典!java的堆和栈
java中的栈和堆Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自转载 2008-10-29 20:16:00 · 556 阅读 · 0 评论 -
Formatter处理中文时候出现的问题
//:wx/Formatter/Receipt.javapackage wx.Formatter;import java.util.Formatter;public class Reciept { private double total = 0; private Formatter f = new Formatter(System.out); public void printTitl原创 2009-03-15 17:41:00 · 2561 阅读 · 0 评论 -
synchornized关键字的理解
synchronized实现了管程的机制,所谓管程,在《现代操作系统》p66~p68有介绍:管程是一种高级同步原语。管程中包括过程、变量即数据结构。你可以访问它的过程,但是不能在管程以外的过程中访问他的数据结构。(可以认为这些数据结构是private的)它由一个主要特征:当一个进程调用管程过程时,该过程的前几条指令将检查在管程中是否有其他进程,如果有,调用进程阻塞,如果没有,调用进程进原创 2009-03-15 10:44:00 · 1083 阅读 · 0 评论 -
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();出现空指针异常的问题
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();可以获得环境下边的编译器的引用,但为什么我们在debug到这一语句的时候,查看到此函数返回的是一个null值,即没有编译器。。。。 我们知道,jre是java runtime environment,我们在运行java程序的时候其实就是调用jre里面的java.exe或原创 2009-05-10 17:43:00 · 5972 阅读 · 2 评论 -
Java类被加载时执行的顺序问题
public class Parent{ //1 static int a = 1; //2 static { a = 10; System.out.println("parent static code"); } //4 public Parent() { System.out.println("P原创 2009-05-17 15:41:00 · 2626 阅读 · 2 评论 -
位运算与乘除运算的对比实验
Java 的JDK中存在很多位运算的使用,其目的是为了让代码跑的更快一些,我们做一个实验,看看到底可以节省多少计算时间。原创 2015-07-13 11:37:24 · 11519 阅读 · 0 评论