JAVA
zhandoushi1982
这个作者很懒,什么都没留下…
展开
-
java匿名内部类
记得JAVA中抽象类是不能创建实例的,但是在代码中总会看见new 抽象类名的用法。如果不太清楚这个原因,需要了解匿名抽象类这个概念。 匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。Java中内部匿名类用的最多的地方也许就是在Frame中加入Listner了吧。如下:import java.awt.*; import jav转载 2013-04-09 17:10:59 · 4991 阅读 · 1 评论 -
MD5和RSA
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了。但这两种算法使用环境有差异,刚好互补。(1)MD5转载 2014-09-01 11:45:53 · 17687 阅读 · 1 评论 -
error与Exception区别 && sleep()和wait()有什么区别
(1)Error类和Exception类都继承自Throwable类。Error的继承关系: java.lang.Object-> java.lang.Throwable-> java.lang.ErrorException的继承关系: java.lang.Object-> java.lang.Throwable-> java.lang.Exception(2)二者的不同之处:转载 2010-05-20 22:08:00 · 1651 阅读 · 0 评论 -
JAVA的枚举enum类型 && JAVA的JSON示例
(1) 关于Java Enum:学过C/C++等语言的人,应该都对Enum类型略知一二。JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代。有了JavaEnum之后,可以更贴近的表示这种常量。(2)如何使用Java Enum。 简单的用法:JavaEnum简单的用法一般用于代表一组常用常量。如:性别:public enum SexEnum {转载 2013-03-07 23:44:04 · 15425 阅读 · 0 评论 -
JAVA工程结构 && CMD使用javac提示非有效命令怎么办
由于大家对package的使用存在太多困惑,我在这里将自己对于package的使用的领悟进行一点总结:package中所存放的所有文件,不过一般就分这三种:1,java程序源文件,扩展名为.java。2,编译好的java类文件,扩展名为.class。3,其他任何文件,也称为resource.例如图片文件,xml文件,mp3文件,avi文件,文本文件……1,package是什么 packa转载 2010-03-31 19:37:00 · 4405 阅读 · 0 评论 -
Java的内存泄漏和垃圾回收机制 && 正则表达式
JAVA会产生内存泄露吗?首先,答案是肯定的。Java虽然有垃圾回收器,但依然存在泄漏。 Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源,最后没有free掉,内存没有回收,这个是真正意义上的内存黑洞;而Java的泄漏则可能是别的原因,Java对象的存在对程序已经没有意义,但是对象在程序周期内一直存在,这个可能会导致Jav转载 2010-05-20 21:17:00 · 3746 阅读 · 0 评论 -
JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
abstract修饰符可以修饰类和方法。(1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型。抽象类就相当于一类的半成品,需要子类继承并覆盖其中的抽象方法。(2)abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明而没有实现,需要子类继承实现(覆盖)。(3)注意的地方:转载 2013-01-01 22:26:42 · 28590 阅读 · 2 评论 -
JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明。(1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 非静态对象 拥有属性:转载 2012-12-30 20:45:46 · 249426 阅读 · 21 评论 -
override和overlode的区别 && @Override的作用
override(重写)和overload(重载)是Java多态性的不同表现,也是JAVA多态性的实现方式。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (override)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个转载 2010-05-21 19:40:00 · 2633 阅读 · 0 评论 -
JAVA线程之一:实现一个线程的两种方法
Java通过java.lang.Thread类完成多线程。我们通过同一个例子,看线程的两种创建方法,以及运行方法:(1)一种是声明 Thread 的子类,重载 Thread 类的方法 run(Extend java.lang.Thread and override the run method)class MyThread extends Thread{ public void r转载 2010-04-19 13:51:00 · 2038 阅读 · 1 评论 -
JAVA的泛型 && JAVA的几种for循环方式
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才转载 2013-01-06 22:05:50 · 5416 阅读 · 0 评论 -
Java异常处理及异常机制介绍 && long,int,short与byte数组之间的转换
(1)什么是异常 当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用...)时,JAVA就会用异常对象来描述。 JAVA中用2种方法处理异常:1.在发生异常的地方直接处理;2.将异常抛给调用者,让调用者处理。JAVA异常可分为3种: A,检查性异常:java.lang.Exception.检查性异常------程序正确,但因为外在的转载 2010-04-14 10:49:00 · 1552 阅读 · 0 评论 -
JAVA的回调函数 && JAVA的反射机制
在C或者C++中回调函数的定义:程序A在调用一个函数B时,将自己的函数的地址作为参数传递给程序调用的函数B时(那么这个自己的函数A称回调函数)。图示如下: Java中没有指针,不能传递方法函数的地址,一般采用接口回调实现。原理简介如下:首先创建一个回调对象,然后再创建一个控制器对象,将回调对象需要被调用的方法告诉控制器对象。控制器对象负责检查某个场景是否出现或某个条件是否满足转载 2013-02-03 23:55:52 · 4316 阅读 · 0 评论 -
package与import && Java Application与Java Applet
有些人写了一阵子Java,可是对于Java 的package 跟import 还是不太了解。很多人以为原始码.java 文件中的import 跟C/C++ 的#include 相似,实际上这是错误的观念。 让我们先了解一下,Java 的package (套件)到底有何用处。其实,package 名称就像是我们的姓,而class 名称就像是我们的名字。package 名称可以有很多,就好像是复转载 2010-03-31 17:20:00 · 1618 阅读 · 1 评论 -
JAVA的数组 && 原始类型和引用类型以及String与int long相互转化 && String与byte[]相互转化
(1)创建声明 一维数组的声明方式:type var[]; 或type[] var;声明数组时不能指定其长度,Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]。示例:public class TestNew { public static void main(String[] args) { // TODO转载 2012-12-29 22:22:46 · 7296 阅读 · 0 评论 -
JAVA的关键字:final && synchronized
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。(1)final类不能被继承,没有子类,final类中的方法默认是final的。 (2)final方法不能被子类的方法覆盖,但可以被继承。 (3)final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 (4)final不能用于修饰构造方法。 注转载 2010-04-08 14:58:00 · 4438 阅读 · 0 评论 -
JAVA的public,private,protected访问权限
Java中的访问权限有public,private,protected和默认的包访问权限,如果类中的属性方法没有显示的指明访问权限,则具有包访问权限,也称它为packeged权限,很多人也称它为friendly访问权限,而packaged和friendly这两个关键字在实际中都是不存在的。 为了条理清晰,分三种不同情况来总结。(1)访问权限修饰符修饰成员变量和方法public转载 2010-04-09 20:49:00 · 3754 阅读 · 0 评论 -
JAVA线程之七:线程的生命周期及死锁
一,线程的四个主要周期状态是“创建”,“可执行”,“非可执行”,“消亡”,状态转换关系如下图:(1)创建。当实例化一个thread对象并执行start()方法后,线程进入“可执行”状态开始执行。虽然多线程给用户一种同时执行的假象,但事实上在同一时间点内,只有一个线程在执行,只是线程之间切换的动作非常快,所以看起来跟同时执行一样。(2)可执行。当线程启用start()方法之后,进入“可执原创 2010-04-19 17:13:00 · 4533 阅读 · 0 评论 -
JAVA线程之五:线程的同步
如果程序是单线程,执行起来不必担心此线程会被其他线程打扰,就像在现实中,同一时间只完成一件事情,可以不用担心这件事情会被其他事情打扰。但是如果程序中同时使用多线程,就好比现实中“两个人同时进入一扇门”,此时就需要控制,否则容易阻塞。为了避免多线程共享资源发生冲突的情况,只要在线程使用资源时给该资源上一把锁就可以了,访问资源的第一个线程为资源上锁,其他线程若想使用这个资源必须等到锁解除为转载 2010-04-21 10:28:00 · 1492 阅读 · 0 评论 -
JAVA线程之四:线程状态检查,后台线程及线程组
一,线程状态的检查 一般情况下无法确定一个线程的运行状态,对于这些处于未知状态的线程,可以通过isAlive()方法用来确定一个线程是否仍处在活动状态。当然即使处于活动状态的线程也并不意味着这个线程一定正在运行,对于一个已开始运行但还没有完成任务的线程,这个方法返回值为true。二,后台线程 后台线程,即Daemon线程,它是一个在背景执行服务的线程,例如操作系统中的隐转载 2010-04-20 14:49:00 · 12838 阅读 · 0 评论 -
JAVA线程之二:线程的调度及优先级
与线程休眠类似,线程的优先级无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。 如下的实例sss.java:public class sss{ pu转载 2010-04-19 15:04:00 · 1504 阅读 · 0 评论 -
JAVA线程之三:线程的挂起和恢复
(1)概述:线程的挂起操作实质上就是使线程进入“非可执行”状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行。在线程挂起后,可以通过重新唤醒线程来使之恢复运行。 run() 和start() 是大家都很熟悉的两个方法。把希望并行处理的代码都放在run() 中;stat() 用于自动调用run(),这是JAVA的内在机制规定的。当一个线程进入“非原创 2010-04-20 13:43:00 · 52379 阅读 · 3 评论 -
JAVA线程之六:线程的通信(以安卓定时器实验为例)
当应用程序启动时,Android首先会开启一个主线程(也就是UI线程) ,主线程管理界面中的UI控件,进行事件分发。如果此时需要一个耗时的操作,例如:联网读取数据,或者读取本地较大的一个文件的时候,如果你放在主线程中的话,界面会出现假死现象。如果5秒钟还没有完成的话,会收到Android系统的一个错误提示“强制关闭”。 所以我们需要把这些耗时的操作,放在一个子线程中。这个时候,H转载 2010-04-21 13:49:00 · 2897 阅读 · 0 评论 -
Java的WeakReference和SoftReference
在Java 1.2中就引入了java.lang.ref这个包,WeakReference就属于这个包。WeakReference是干嘛的呢,一言弊之,它是和Java中的垃圾回收相关的。如果一个对象只有WeakReference引用它,那么这个对象就可能被垃圾回收器回收。 在什么场合下应用WeakReference呢?(1) 有时我们会碰到一些不能继承的类,如final cla转载 2013-04-01 09:32:39 · 4666 阅读 · 0 评论 -
JNI之一:基础 && JAVA调用win dll实例
JNI是Java Native Interface的缩写,译为Java本地接口。它允许Java代码和其他语言编写的代码进行交互。在android中提供JNI的方式,让Java程序可以调用C语言程序。android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中。以下这个图可以很好的说明问题: android主要的JNI代码放在以下的路径中:fr转载 2010-02-11 16:19:00 · 2554 阅读 · 0 评论 -
JAVA的extends用法
理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。(1)继承class Animal{ void eat(){ System.out.println("Animal eat"); } void sleep(){ System.out.println转载 2010-04-01 13:20:00 · 138307 阅读 · 7 评论 -
System.currentTimeMillis() 设置安卓系统时间 && Timer和TimerTask && java的File相关 && java的IO相关
System.currentTimeMillis():可以提取到当前时间的毫秒数,产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数。常见作用:一般都是用2个时间的差值来得到运行时间。比如:long start = System.currentTimeMillis(); // 这里可以加上你要运行的内容long end = System.currentTi转载 2013-01-10 10:52:56 · 10254 阅读 · 0 评论