
Java
fastsy
这个作者很懒,什么都没留下…
展开
-
接口的多继承跟抽象类的多实现
1. 接口可以实现接口吗?起初一看到这个问题,我在想接口不就是用来实现的吗?然后写代码已验证,发现并不行,答案是:接口只能继承接口,并且可以多继承,接口继承接口并不需要必须继承父类接口的抽象方法,这样就可以避免类似多继承带来的问题。比如下面:public interface B extends C ,D{ final static int a = 1 ; void b();}pub原创 2017-12-01 11:58:19 · 1453 阅读 · 0 评论 -
“==”与 equals的区别
“==”与 equals的区别在java中," == " 作为关系运算符,对于基本数据类型而言,"=="比较的是值的大小;对于引用数据类型而言,比较的则是内存中的地址,即是否为同一对象的引用。equals用于比较引用数据类型的具体内容是否相同,它不适用于基本数据类型的比较。“==”在基本数据类型与封装类型的不同表现int a = 10;int b = 10;System.out.pri...原创 2019-07-11 21:27:36 · 198 阅读 · 0 评论 -
深入理解动态代理02
关于动态代理的内部原理请看前面的文章 深入理解动态代理。这次我们来谈谈动态代理的封装。动态代理的封装java通过Proxy.newProxyInstance()方法来动态获取我们需要的代理类字节文件,比如我们需要获取ArrayList的代理类,可以这么写:List proxy = (List) Proxy.newProxyInstance(List.class.getClassLoader(...原创 2019-07-13 16:47:46 · 202 阅读 · 0 评论 -
泛型
泛型类型擦除jdk1.5提供了泛型这一新特性,它是给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住原程序中的非法输入,编译器编译带类型说明的集合时会擦除类型信息,使程序运行效率不受影响。 List<Integer> list1 = new ArrayList<>(); List<String> list2 = new Arr...原创 2019-07-13 00:47:26 · 194 阅读 · 0 评论 -
java多线程之-线程创建方式
线程创建的几种方式继承Thread类public class Thread01 extends Thread{ @Override public void run() { //耗时任务 }}实现Runnable接口public class Thread02 implements Runnable{ @Overr原创 2017-12-01 12:15:41 · 262 阅读 · 0 评论 -
原码、反码、补码
出处:http://www.cnblogs.com/zhangziqiu/原码, 反码, 补码 详解本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反...转载 2018-03-27 16:05:10 · 417 阅读 · 0 评论 -
深入理解动态代理
Java的动态代理相较于代理的思想更向前迈进了一步,因为它可以动态地创建代理并动态地处理对所代理方法的调用。在动态代理上所做的所有调用都会被重定向到单一的调用处理器上,它的工作是揭示调用的类型并确定相应的对策。一个简单的动态代理的例子:public class ProxyTest01 { public static void main(String[] args){ Syst...原创 2018-09-22 16:08:12 · 379 阅读 · 0 评论 -
深入理解枚举
枚举是java SE5中新增的特性,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。我们知道,在android中应避免使用枚举,尽量用静态常量来代替枚举的使用,为何?有人会说了,因为枚举占用更多的内存。那为何枚举就比景太常量要占用更过的内存呢?首先,我们来创建一个简单的枚举类EnumTest:public enum EnumTe...原创 2018-09-21 17:51:02 · 303 阅读 · 0 评论 -
Java中<? extends T>和<? super T>的理解
文章转自:http://blog.youkuaiyun.com/jdsjlzx ? 通配符类型- <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类;<? super T> 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Object;12上界<? extends T>不能往里存,只能往外取比如,我们现在定转载 2017-12-20 19:15:30 · 508 阅读 · 0 评论 -
java多线程之-死锁
当两个或多个线程竞争试图获取对方持有的同步锁时,它们都会处于阻塞状态,除非某个线程主动释放自己所持有的同步锁,这时,死锁就出现了。用下面这张图很好理解: 如图,线程Thread1和Thread2都有两个同步方法Operation1()、Operation2(),Operation1()中会调用Operation2().当某个时候,Thread1获取了A的对像锁,然后失去了CPU时间片,Thre原创 2017-12-02 11:17:51 · 354 阅读 · 0 评论 -
java多线程之-同步
多线程中的同步问题当多个线程同时访问同一资源时,由于对资源的读写操作并不是原子性的,因此可能会出现同步问题。 比如下面这样:class MyThread implements Runnable{ int a = 100 ; @Override public void run() { // TODO Auto-generated method stub原创 2017-12-01 17:13:22 · 396 阅读 · 2 评论 -
hashCode()与equals()
hashCode()作用按照先例,先上段代码:public class Person { public String name; public int age; public Person(String n, int a){ this.name = n; this.age = a; }}Collection collection = new ArrayList<...原创 2019-07-12 04:05:46 · 174 阅读 · 0 评论