Java
键盘舞者113
你的star就是我的动力,https://github.com/979451341
展开
-
Java 线程调度我就写一篇(Object与Semaphore、Lock、Callable、Future、FutureTask)
一.Object一般来说Synchronized 同步锁就能解决大部分线程同步问题,但是如果情况比较复杂就不行了,这就得用Object的wait(),notify(),notifyAll()。但是这个三个函数只能实现不公平锁,Semaphore能够实现公平锁和不公平锁,后面再说。概念Synchronized:同步锁,指的是他能锁住对象、类、函数、代码块,使得同一时间不同线程这些东西只能...原创 2018-03-17 10:11:49 · 1537 阅读 · 0 评论 -
阿里推荐的线程使用方法 ThreadPoolExecutor
阿里推荐原因:使用线程池可以减少创建和销毁线程上所花的时间以及系统资源的开销,然后之所以不用Executors自定义线程池,用ThreadPoolExecutor是为了规范线程池的使用,还有让其他人更好懂线程池的运行规则。先说一下关于线程的概念任务:线程需要执行的代码,也就是Runnable任务队列:线程满了,就任务就放入任务队列里等待,等其他任务在线程里执行完,这个线程就空出来了,任务队列就将最...原创 2018-03-03 15:53:07 · 6908 阅读 · 0 评论 -
Android APT开发教程 六 使用注解替代setOnClickListener还有注释给String赋值
github项目代码地址https://github.com/979451341/TestAPT1.注释代替setOnClickListener这个注解能够通过绑定控件id和函数,使点击这个控件的时候触发这个函数如下图 @OnClick(R.id.tv1) public void click(){ c++; tv原创 2018-01-24 16:22:39 · 1453 阅读 · 0 评论 -
Android APT开发教程 五 使用注释完成findViewById和setContentView
github项目代码地址https://github.com/979451341/TestAPT之前我们做了一个能够给int赋值的apt,这个时候我想到好像控件类似TextView的id值也是int类型,所以我也可以给控件id赋值不过有一个问题就是如何去分辨哪个是int类型,哪个是控件的id但是我们可以去试一下获取这两种元素的信息有何不同比如我这样一弄,就可以打原创 2018-01-23 14:18:04 · 1417 阅读 · 0 评论 -
Android APT开发教程 四 apt生成代码与所注释元素之间的交互
github项目代码地址https://github.com/979451341/TestAPT怎么配置环境上篇文章说了http://blog.csdn.net/z979451341/article/details/79126413我准备写一个apt通过注解给int类型的变量赋值在annotation中,创建两个注解,为何要有两个呢,第一个是为了获取整个acti原创 2018-01-22 15:32:50 · 1268 阅读 · 0 评论 -
Android APT开发教程 三 AbstractProcessor和apt环境配置
github项目代码地址https://github.com/979451341/TestAPTAbstractProcessorAbstractProcessor是抽象处理器,开发apt时都必须实现这个类来生成java文件,实现这个类后叫做注解处理器,他是在编译时搜索注解并给与相应处理并生成相应的代码。对个注解的处理,是重点,重要在它能够获取所注解的元素的信息。不过这原创 2018-01-22 10:46:46 · 1795 阅读 · 0 评论 -
Android APT开发教程 二 JavaPoet生成 .java源文件的Java API
github项目代码地址https://github.com/979451341/TestAPT这篇说如何生成Java文件,所使用的就是JavaPoet这个API提供的代码,让我们来学习如何去使用它。1.添加定死的代码比如我想要生成如下代码的java文件package com.example;public final class TestClass {原创 2018-01-20 15:38:28 · 1542 阅读 · 0 评论 -
Java反射一篇讲完
想用完成反射得一步一步的来,需要Class、实例、还有想要调用的函数地址,传入的参数获取Class TestClass testClass = new TestClass(); Class<?> cls = testClass.getClass(); try { cls = Class.forName("com....原创 2018-03-12 13:59:53 · 1294 阅读 · 0 评论