- 博客(11)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
原创 Java/Android多线程/进程通信
(1)多线程通信(1)Android层面(1)runOnUiThreadrunOnUiThread(new Runnable() { @Override public void run() { //更新UI } });(2)View.post和View.postDelayedView默认带一个Handler属于mainLooper的,View.post相当于这
2017-12-27 17:30:17 389
原创 Java多线程编程(四)
(1)线程组和异常捕获 //构造器 ThreadGroup(String name) ThreadGroup(ThreadGroup parent, String name) (2)线程异常捕获 //当给定线程因给定的未捕获异常而终止时,调用该方法 uncaughtException(Thread t, Throwable e) Thread类包含以下方法: //指定线程
2017-12-26 17:49:24 223
原创 Java多线程编程(三)
线程间通信 (1)Object类的等待/通知 Object类提供的wait(),notify(),notifyAll(); (1)wait()导致当前线程等待,直到其他线程调用同步监视器notify()和notifyAll()来唤醒,在调用wait()前,线程必须具有该对象的锁,如果没有锁将抛出IllegalMonitorStateException异常,执行完wait后当前线程释放锁;
2017-12-26 16:14:01 189
原创 Java多线程编程(二)
(1)synchronized线程同步 synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,作用的对象是调用这个代码块的对象; 修饰一个方法,被修饰的方法称为同步方法,作用的对象是调用这个方法的对象; . 修改一个静态的方法,作用的对象是这个类的所有对象; 修改一个类,作用的对象是这个类的所有对象; publ
2017-12-26 11:15:47 226
原创 Java多线程编程(一)
(1)多线程的创建方式 (1)继承Thread类 public class AThread extends Thread { @Override public void run() { super.run(); } } new AThread().start(); (2)实现Runnable接口 public class AThread im
2017-12-25 17:18:07 238
原创 Java多线程编程-volatile关键字
(1)背景 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。 (2)内存模式相关概念 大家都知道,计算机在执行程序时,每条指令都是在
2017-12-22 15:20:40 238
原创 Java异常
(1)定义Java异常分为三大类:1、Checked异常: 只有java语言提供了Checked异常,Java认为Checked异常都是可以被处理的异常,所以Java程序必须显示处理Checked异常。如果程序没有处理Checked异常,该程序在编译时就会发生错误无法编译。处理方式: (1)当前方法知道如何处理该异常,则用try…catch块来处理该异常; (2)当前方法不知道如何处理,则在定
2017-12-15 17:42:03 215
原创 Java枚举
(1)枚举类定义和API public enum EnumTest{ SPRING,SUMMER,FALL,WINTER; } 枚举类可实现一个或多个接口,使用enum定义的枚举类默认继承java.lang.Enum,枚举类不能继承其他父类,Enum类继承自Object类; 使用enum定义非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类; 枚举类的构造器只能使用pri
2017-12-15 15:53:22 225
原创 Java对象垃圾回收
(1)Java垃圾回收状态 垃圾回收只负责回收堆内存中的对象,不回收任何物理资源(数据库链接,IO流); 程序无法精准控制垃圾回收的运行,垃圾回收会在合适的时机运行; 垃圾回收在回收任何对象之前,会调用该对象的finalize方法,该方法可能会使对象重新复活,从而取消垃圾回收; 当一个对象在堆内存中时,存在三种状态: 可达状态:对象创建后,有一个以上的变量引用它; 可恢复状态:某个对象不再有任何引用
2017-12-15 15:52:43 995
原创 Java深入泛型
泛型:允许在定义类,接口,方法时使用类型形参,这个类型形参将在声明变量,创建对象,调用方法时动态指定(类型实参),Java5为集合框架的全部类和接口增加了泛型支持,可以在声明集合变量,创建集合对象时传入类型实参,就是我们经常看到的List和ArrayList。 (1)定义泛型接口,类 public interface ListE> extends CollectionE> { Ite
2017-12-08 15:54:41 381
原创 Android ANR产生的原因和分析
ANR的全称是application not responding,意思就是程序未响应,类似于我们在windows上见到的程序未响应。ANR发生会使用户觉得我们的程序不友好,那么什么情况会导致ANR的发生呢?首先ANR的发生是有条件限制的,分为以下三点:1.只有主线程才会产生ANR,主线程就是UI线程;2.必须发生某些输入事件或特定操作,比如按键或触屏等输入事件,在BroadcastReceiver
2017-12-07 17:20:07 805
Eclipse 反编译插件
2013-03-23
Android的GridView滚动速度计算
2015-09-17
有没有人可是实现以下图片中红框的效果,图片可以滚动
2015-08-06
关于Android方面的json解析问题
2014-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人