1. join()介绍join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。这句话可能有点晦涩,我们还是通过例子去理解:// 主线程 public class Father extends Thread {public void run() {Son s = new Son();s.start();s.join();...} } // 子线程 public class Son extends Thread {public void run() {...} }说明:上面的有两个类Father(主线程类)和Son(子线程类)。因为Son是在Father中创建...
public static void main(String[] args){ Thread t = null; try{ FutureTask<Boolean> task = new FutureTask<Boolean>(new Callable<Boolean>() { public Boolean call() throws Exception { Thread.sleep(10*100); return true; } }); t = new Thread(task); t.start(); boolean bl = task.get(10*10, TimeUnit.MILLISECONDS); System.out.println(bl); System.out.println(t.getState()); }catch(Exception e1){ e1.printStack...
public boolean equals(Object otherObject) {if(this == otherObject) { // 检測this与otherObject是否引用同一个对象return true;}if(null == otherObject ) { // 检測otherObject是否为空return false;}if(!(getClass() == otherObject.getClass())){ // 比較this与oherObject是否属于同一个类,假设equal的语义在每一个子类中有所改变,就用此推断System.out.println("-----------------getClass----------------");retu...
摘自:http://www.cnblogs.com/dolphin0520/p/3933551.html#undefined在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 以下是本文目录大纲: 一.ConcurrentModificationException异常出现的原因 二.在单线程环境下的解决办法 三.在多线程环境下的解决方法 若有不正之处请...
近期学习java,发现String有很多好用并且常用的方法,这里取几个较为常用的做下笔记! 1. length() 获得字符串长度String a = "Hello World!"; System.out.println(a.length());输出结果为:122. CharAt() 获取一个字符String a = "Hello World"; System.out.println(a.charAt(1));输出结果为:e3. getchars() 获取连续的几个字符,并存在char数组中String a = "Hello World"; char[] b = newchar[10]; a.getChars(0, 5, b, 0); S...
关键信息如下。javascriptfunction Encrypt() { var key = CryptoJS.enc.Utf8.parse(‘8080808080808080‘); var iv = CryptoJS.enc.Utf8.parse(‘8080808080808080‘); var varIn = document.getElementById("txtIn").value; var varOut = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(varIn), key, { keySize: 128 / 8, ...
一、抽象方法和抽象类的概念和使用在之前的课程中学习了方法的覆写(子类覆写父类的方法),也就是子类可以重写父类的方法,但是这是可选的(你可以覆写也可以不覆写在语法上都不会出现问题的),如果有一个需求:要求父类的某个方法必须被子类覆写,那么就需要将父类的这个方法定义为抽象方法(强制要求被覆写),如果一个类中出现了抽象方法那么这个类必须定义为抽象类,抽象类和抽象方法的定义语法:●定义抽象类: public abstract ...
为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行。在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任务的执行内容。模板方法可以应用在上述场景中:将工作流系统的4个核心任务封装到抽象类当中,如果任务可以被自定义,则将可自定义的任务推迟到子类中实现。代码实现:/** * Abstract Workflow system */ abstract class WorkflowManager2{p...
1、 把int数组拼接成字符串的案例 需求:把数组中的数据按照指定个格式拼接成一个字符串 举例: int[] arr = {1,2,3}; 分析: A:首先定义一个空的字符串 B:其次先给这个字符串拼接一个"[" C:遍历所给的数组的数据,并对数据进行判断 a:正在遍历的这个数据是否是数组中的最后一个元素 是: 给字符串拼接这个元素和"]" ...
package test;import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;/*** 加密工具类* @author gxd**/ public class EncriptUtil {public static void main(String[] args) {String str = "我爱你23" ;System.out.println(EncriptUtil.getMd5("MD5",str));}public static String getMd5(String type , String str){String md5str = null ;try {//获取报文摘要算法即散列算法 传入的字符串不区分大...
方法成员方法成员方法也叫实例方法。必须先有实例即对象,然后才能通过实例调用该实例方法。 类方法和类变量一样,有关键字static修饰,可以不用实例,直接用类就可以调用类方法。 变量成员变量也叫叫成员变量,即创建对象才能访问的变量 类变量有关键字static修饰,可以不用实例,直接用类就可以调用类变量。 局部变量指方法体内的变量,该变量只在方法内有效,出了方法哪怕是同类也访问不到。故不写私有的它也是该方法私有的,所...
1.基本数据类型比较用:==2.引用数据类型比较用:equals方法如果引用数据类型使用==比较的话,比较的是地址值 toString类对象调用toString()需要重写本方法: 在封装类中,否则输出的是地址 equals方法‘对象‘ 调用equals()需要重写本方法: 在封装类中重写,否则进行比较时比较的是地址 String类 String有一个切割split,按一个字符串进行切割,返回切割之后的字符串数组 String[] split(String regex) public int leng...
java 反射调用反射方法使用: />Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->(Boolean) invokeMethod(LockPatternUtils.class, mLockutils, "savedPasswordExists", new Class[] {int.class}, new Object[] {UserHandle.myUserId()});(Boolean) invokeMethod(LockPatternUtils.class, mLockutils, "checkPattern", new Class[] {L...
简单的总结了一下java方法继承,方法重载,方法覆盖的内容,如下: 1、方法覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。 子类的方法名称返回类型及参数签名 必须与父类的一致 子类方法不能缩小父类方法的访问权限 子类方法不能抛出比父类方法更多的异常 方法覆盖只存在于子类和父类之间,同一个类...
public static void main(String args[])public:表示此方法可以被外部所调用。static:表示此方法可以由类名称直接调用。void:主方法是程序的起点,所以不需要任何的返回值。main:系统规定好默认调用的方法名称,执行的时候,默认找到main方法名称(String arg[]):表示的是运行时的参数参数的传递形式:java 类名称 参数1 参数2 参数3 。。。system.exit(1);只要传入了一个非零数字,程序退出;可以用“”作为分割参数。“”里...