
java
litefish
never stop,never give up
展开
-
泛型的点点滴滴
泛型继承public class MainPage<T extends Apple> extends Page<T>原创 2022-01-19 16:49:55 · 220 阅读 · 0 评论 -
java泛型通配符
泛型 generics协变 co-variant逆变 Contra-variance通配符类型 wildcard type数组是协变的我们可以把一个dog的数组,赋值给Pet数组,因为Pet是Dog的基类。Dog[] dogs = { new Dog() };Pet[] pets = dogs;在pets这里,他已经不知道数组里的内容是Dog了,他可能会执行如下操作。pets[0] = new Cat();这个时候编译是没问题的,但是运行会报错,抛出ArrayStoreExcepti原创 2022-01-17 17:17:52 · 497 阅读 · 0 评论 -
线程同步之wait和notify、notifyall原理
线程同步的时候比较普世的方法就是wait和notify/notifyall来搭配使用,如下所示,这段非常的经典,用于同步过程绝对安全。package com.company;public class A { private boolean condition; private Object lock; public void work() { ATh...原创 2019-07-07 22:44:36 · 1153 阅读 · 1 评论 -
java对象构造过程
今天碰到了个构造器的问题,在此谨记。如下所示,Child类继承自Parent。那么一个Child对象内部有哪些东西呢?首先他既然是继承自Parent,那么他必然有Parent内部的各个成员。然后他有自己的成员,比如y和member。对象构造那么这些成员是怎么初始化的?public class Child extends Parent { private Member member = new原创 2017-07-20 22:45:13 · 956 阅读 · 1 评论 -
解决SimpleDateFormat的线程不安全问题的方法:ThreadLocal
http://bijian1013.iteye.com/blog/1873336http://blog.youkuaiyun.com/vking_wang/article/details/14225379原创 2015-05-28 11:40:51 · 4042 阅读 · 5 评论 -
instance of,isInstance,isAssignableFrom
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。形象地:自身实例或子类实例 instanceof 自身类 返回true例: String s=new String("javaisland"); System.out.println(s instanceof Str转载 2016-07-14 22:30:22 · 474 阅读 · 0 评论 -
JAVA线程池
JAVA线程池先来看个基本用法ExecutorServiceexecutor=Executors.newFixedThreadPool(3);executor.execute(newRunnable() { @Override public void run() { //do something }}); 上边代码创建了一原创 2016-02-26 14:49:38 · 609 阅读 · 0 评论 -
String的format用法
看到一种format用法,记录下String 的format用法可以用Object数组 String s="fudian%f zhengxing%d"; Object[] aa= new Object[2]; aa[0]=new Float(3.2f); aa[1]=new Integer(38); Stri原创 2015-10-13 23:02:23 · 463 阅读 · 0 评论 -
null类型强转
看到代码 public BitmapDrawable() { mBitmapState = new BitmapState((Bitmap) null); }把null转化为了Bitmap,这有神马用呢?看下面 BitmapState(Bitmap bitmap) { mBitmap = bitmap; mP原创 2015-06-09 21:33:15 · 1110 阅读 · 0 评论 -
java之final
final方法无法被重写。同时告诉编译器,这个方法可以考虑inline,可以提高效率除了final属性或者变量之外,很多资料上也会提到final方法对程序的性能也是由帮助的。但是本文没有谈到final方法,因为编译器对final方法能够做的优化很有限,可以说基本是干不了什么事情的。这是由继承引起的问题,由于子类在覆写父类的方法时,是可以将final关键字抹去的,因此编译器是没有足够多的原创 2015-04-21 10:10:29 · 541 阅读 · 0 评论 -
泛型之类型推导
概述编译器判断泛型方法的实际类型参数的过程叫做类型推断,类型推断的实现方法是一种非常复杂的过程.根据调用泛型方法时实际传递的参数类型或返回值类型来推断,具体规则如下:如果某类型变量只在方法参数列表或返回值的一处被调用了,那根据调用该方法时该处的实际类型来确定,即直接根据调用方法时传递的实际类型或方法返回值的类型来确定泛型方法的参数类型.例如: swap(new String原创 2015-05-11 10:47:23 · 1066 阅读 · 0 评论 -
Class对象与反射
Class 对象Java中所有类型(包括基本类型)都对应一个Class对象,这个Class就是java.lang.Class。即每一个类型,都有一个Class对象跟它对应.Class 没有公共构造方法。注意不是没有,是没有公共的.换言之,每次写一个新类时,同时也会创建一个Class 对象(更恰当地说,是保存在一个完全同名的.class 文件中)。在运行期,一旦我们想生成那个类的一个对象原创 2015-04-21 11:55:28 · 790 阅读 · 0 评论 -
java逆向
jclasslib是一个看字节码的工具下了jclasslib_win32_4_3_1和jclasslib_win64_4_3_1安装后都说磁盘空间不够,后来在SourceForge.上找到了jclasslib_windows_3_1,成功安装,下载地址http://download.youkuaiyun.com/detail/litefish/8619693原创 2015-04-22 12:25:36 · 728 阅读 · 0 评论 -
Java中int和String互相转换的多种方法
1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转载 2015-03-06 10:36:33 · 921 阅读 · 0 评论 -
String的equal与hashcode
equals()为true的两个对象,hashcode()一定相等;equals()为false的两个对象,hashcode()可能相等也可能不相等。原创 2015-03-11 10:20:04 · 585 阅读 · 0 评论