摘要:
在使用多线程的时候,经常需要多个线程进行协作来完成一件事情。在前面两章分析了Java多线程的基本使用以及利用 来实现多个线程同步调用方法或者执行代码块。但上面两章的内容涉及到的例子以及使用的多线程代码都是独自运行,两个程序除了竞争同一个对象以外,没有任何联系。<! more 这次内容将讲解当多个线程 阅读全文
摘要:
Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息。通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Class对象 构造器 变量 方法 私有变量与私有方法 注解 泛型 数组 本文也将从上面几个方面来介绍Java反射。本文涉及的所有代码 阅读全文
摘要:
这篇文章主要讲解Java在创建对象的时候,初始化的顺序。主要从以下几个例子中讲解: 继承关系中初始化顺序 初始化块与构造器的顺序 已经加载过的类的初始化顺序 加载父类,会不会加载子类 创建子类对象会不会创建父类对象 例子1——继承关系中初始化顺序 先看简单的情况,看下面的例子: 其执行的结果如下: 阅读全文
摘要:
在开发多线程程序时,如果每个多线程处理的事情都不一样,每个线程都互不相关,这样开发的过程就非常轻松。但是很多时候,多线程程序是需要同时访问同一个对象,或者变量的。这样,一个对象同时被多个线程访问,会出现处理的结果和预期不一致的可能。因此,需要了解如何对对象及变量并发访问,写出线程安全的程序,所谓线程 阅读全文
摘要:
这篇是Java多线程基本用法的一个总结。 本篇文章会从一下几个方面来说明Java多线程的基本用法: 1. 如何使用多线程 2. 如何得到多线程的一些信息 3. 如何停止线程 4. 如何暂停线程 5. 线程的一些其他用法 所有的代码均可以在 "char01" 如何使用多线程 启动线程的两种方式 Jav 阅读全文
摘要:
回调在维基百科中定义为: 在计算机程序设计中,回调函数,是指通过函数参数传递到其他代码的,某一块可执行代码的引用。 其目的是允许底层代码调用在高层定义的子程序。 举个例子可能更明白一些:以Android中用 进行网络请求为例,这个是异步回调的一个例子。 在发起网络请求之后,app可以继续其他事情,网 阅读全文
摘要:
retrofit 英文名字是改装的意思,也就是说他是对网络请求的一种改装,他不负责进行网络请求,他是对请求方式的一种封装。真正进行网络请求的是okhttp。 以下所有内容在Android Studio已经导入retrofit为基础。导入方式如下: 利用Retrofit进行简单的GET请求 retro 阅读全文
摘要:
这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 1. 用IDEA自带的打包形式 2. 用Maven插件 打包 3. 用Maven插件 打包 用IDEA自带的打包方式: 打开IDEA的 ,进入项目配置页面。如下图: 点击 ,进入 配置页面,点击 + ,选择如下图的 阅读全文
摘要:
泛型是JavaSE5引入的一个新概念,但是这个概念在编程语言中却是很普遍的一个概念。下面,根据以下内容,我们总结下在Java中使用泛型。 1. 泛型使用的意义 2. 什么是泛型 3. 泛型类 4. 泛型方法 5. 泛型接口 6. 泛型擦除 7. 通配符 泛型使用的意义 一份好程序的一个特点就是这个程 阅读全文
摘要:
什么是事件分发 我们在写自定义ViewGroup或者自定义View的时候经常要处理用户的点击事件,如果我们的View在最底层,他在很多ViewGroup里面,我们如何让我们的点击事件准确传递到View里面,这就涉及到一个View很重要的知识点,View的事件分发。事件分发,分开来讲就是事件+分发,所 阅读全文