java
CCCCCCCC777
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android解压zip文件
1. 引入第三方工具类库implementation 'com.blankj:utilcode:1.29.0'2. 调用压缩工具类方法List<File> unzipFileList = ZipUtils.unzipFile(zip文件路径地址, 要解压到哪个目录下);返回值是解压的文件列表原创 2020-11-25 22:38:35 · 721 阅读 · 0 评论 -
fragment getActivity()为空
复写Activity的onSavaInstanceState()方法@Overridepublic void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {}不要调用其父类的方法,不要让Activity保存Fragment的状态原创 2016-06-07 16:53:37 · 773 阅读 · 0 评论 -
抽象类
当多个类中出现相同功能,但是功能主体不同这时可以进行向上抽取这时,只抽取功能定义,而不抽取功能主体关键字abstract抽象类的特点:1.抽象方法一定在抽象类中2.抽象方法和抽象类都必须被abstract关键词修饰3.抽象类不可以用new创建对象,因为调用抽象方法没有意义4.抽象类中的方法要被使用,必须由子类复写所有抽象发发后,建立子类对象调用原创 2016-06-01 23:19:05 · 251 阅读 · 0 评论 -
多态
多态:可以理解为事物存在的多种形态1.多态的好处 父类的引用指向了自己的子类对象 父类的引用也可以接受自己的子类对象2.多态的前提 必须类与类之间有关系,要么继承,要么实现 存在覆盖3.多态的好处 提高了程序的扩展性4.多态的应用5.多态的弊端: 但是只能使用父类引用访问父类中的成员原创 2016-06-01 23:18:30 · 271 阅读 · 0 评论 -
多线程
创建线程的第一种方式1.定义类继承Thread2.复写Thread类的run方法 目的:将自定义代码存储在run方法中,让线程运行3.调用线程的start方法 该方法两个作用:启动线程,调用run方法发现每次运行结果都不同因为多个线程都获取cpu执行权,cpu执行到谁,谁运行。明确的一点,某一时刻,只有一个程序在运行(多核除外)我们可以形象的把多原创 2016-06-01 23:18:01 · 256 阅读 · 0 评论 -
线程锁
synchronized(obj){ //同步代码块}同步函数使用的锁是this必须两个或两个以上线程必须是同一个锁如果同步函数被静态修饰后,使用的锁不再是this静态进内存时内存中没有本类对象,但是有该类对应的字节码对象类名.class 该对象的该类是Class静态的同步方法,使用的锁是该方法所在类的字节码对象原创 2016-06-01 23:17:25 · 254 阅读 · 0 评论 -
多线程-单例设计模式懒汉 饿汉
饿汉 class Single{ private static final Single s = new Single(); private Single(); private static Single getInstance(){ return a; }}懒汉class Single{ private static S原创 2016-06-01 23:16:50 · 548 阅读 · 0 评论 -
多线程通讯-等待唤醒机制
wathnotifynotifyAll都是用在同步中,因为要对持有监视器(锁)的线程操作所以要使用在同步中,因为只有同步具有锁为什么这些操作线程的方法要定义在Object类中呢因为这些方法操作同步中线程时,必须要标识他们它们所操作线程只有的锁不可以对不同锁中的线程进行唤醒。也就是或,等待唤醒必须是同一个锁而锁可以是任意对象,所以可以i被任意对象调原创 2016-06-01 23:15:55 · 260 阅读 · 0 评论 -
多线程(停止线程)
使用interrupt(中断方法)该方法是结束线程的冻结状态,使线程回到运行状态中来stop方法过时如何停止线程只有一种,run方法结束多线程运行,运行代码通常是循环结构。只要控制住循环,就可以让run方法结束,也就是线程结束特殊情况:当线程处于冻结状态就不会读取到标记,那么线程就不会结束原创 2016-06-01 23:15:17 · 381 阅读 · 0 评论
分享