自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

转载 Android智能下拉刷新框架-SmartRefreshLayout

https://www.wanandroid.com/blog/show/2043

2020-10-23 20:29:33 181

转载 Android OpenGLES渲染MediaCodec解码数据

http://zengzhaowen.cn/Android%20OpenGLES%E6%B8%B2%E6%9F%93MediaCodec%E8%A7%A3%E7%A0%81%E6%95%B0%E6%8D%AE.html

2020-06-21 22:25:24 438

原创 android open failed: EACCES (Permission denied)

动态权限申请都点击允许了,还特么报错!!!最后在AndroidManifest中,添加了如下属性后就没问题了<application android:requestLegacyExternalStorage="true"

2020-06-17 12:18:52 262

转载 Android ExoPlayer播放音视频的使用指南 

一、简介在安卓设备上播放视频和音乐是很受欢迎的活动。Android框架提供了MediaPlayer作为一个快速的解决方案,可以用最少的代码来播放媒体。Android还提供低级别的媒体api框架,如MediaCodec、AudioTrack和MediaDrm,可用于构建自定义媒体播放器解决方案。ExoPlayer是一款开源的应用级媒体播放器,基于Android的低级媒体API构建。本指南描述了ExoPlayer库及其使用。它是指ExoPlayer的主要演示应用程序中的代码,以提供具体的示例。该指南介绍

2020-06-02 11:33:45 4266

转载 git pull --rebase 详解

转载:https://www.cnblogs.com/wangiqngpei557/p/6056624.html有一种场景是经常发生的。大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个。然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周。在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交。这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码。甚至是会面临很多冲突需要解决,而这个时候你可能还需要对冲突的

2020-05-14 20:47:37 2970

原创 git HEAD~n 到底是第几个提交

总结:HEAD~n是指向前N个,例如HEAD~1是指向前1个提交, 是指当前提交的前面一个提交!以下是乔恩·勒利杰的一个例子。提交节点B和C都是提交节点A的父节点。

2020-05-14 20:24:06 448

转载 双数组Trie树(DoubleArrayTrie)Java实现

https://www.hankcs.com/program/java/%e5%8f%8c%e6%95%b0%e7%bb%84trie%e6%a0%91doublearraytriejava%e5%ae%9e%e7%8e%b0.html

2020-04-26 17:44:44 124

转载 双数组Trie树(DoubleArrayTrie)Java实现

https://www.hankcs.com/program/java/双数组trie树doublearraytriejava实现.html双数组Trie树(DoubleArrayTrie)是一种空间复杂度低的Trie树,应用于字符区间大的语言(如中文、日文等)分词领域。双数组Trie (Double-Array Trie)结构由日本人JUN-ICHI AOE于1989年提出...

2020-04-16 10:10:31 764

转载 android点击桌面App图标activity启动流程

1、点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;2、system_server进程接收到请求后,向zygote进程发送创建进程的请求;3、Zygote进程fork出新的子进程,即App进程;4、App进程,通过Binder IPC向sytem_server进程发起attachApplicatio...

2020-03-27 15:43:23 426

转载 看懂UML类图和时序图

看懂UML类图和时序图转自:https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,...

2020-03-09 11:19:23 278

原创 插入排序(一次For循环)、冒泡排序、希尔排序、快速排序、归并排序

package baidu.com.lib;public class MyClass { public static void main(String[] args) { int[] arr = new int[] {8,4,6,7,9,5}; int[] arrCopy = new int[arr.length]; MergeSort...

2019-11-29 20:48:26 213

原创 vscode 编译so库,并且引用so库调试

刚刚自学接触C++,上周看了一个星期的C++ Primer,需要记忆的东西特别多!本周就IDE选择、cpp程序编译、so库引用、jni编译方面走了一遍,从C++程序编写、编译调试,引用so库走了一遍,基本还好,没碰到什么难点!1. IDE选择VsCode,只要下载几个插件就可以进行开发了: 2.在Vscode 中打开一个新建文件夹,进行程序编写,一个头文件、两个cpp...

2019-08-29 13:30:04 9658 3

原创 ThreadPoolExecutor的几个参数理解

new ThreadPoolExecutor(int coreSize,int maxSize,long time,int timeUnit,BlockingQueue&lt;Runnable&gt; taskQueue,ThreadFactory  threadFactory):参数含义如下:coreSize:核心线程数maxSize :线程最大数time,t...

2018-08-11 13:21:10 4527

原创 TabLayout 获取Tab的宽度_解决点击Tab从头滑动问题

package com.tablayout;import android.support.design.widget.TabLayout;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import andr...

2018-07-19 11:42:38 593

原创 java 软引用、弱引用、虚引用

软引用 :用SoftReference类来标记,被软引用标记的对象,只有在内存不足的时候,GC才会回收该对象。弱引用:用WeakReference类来标记,被弱引用标记的对象,在GC时,无论内存是否充足,都会被回收掉。虚引用:用PhantomReference来标记,虚引用需要有一个与之关联的引用队列,GC回收虚引用的对象时,会将虚引用放到引用队列中,来表示该对象将要被回收。程序可以检测引...

2018-07-17 11:39:11 122

原创 java5之后创建线程池的几个API 以及区别

newCachedThreadPool();newCachedThreadPool(ThreadFactory factory);创建一个可根据需要创建新线程的线程池,但是在之前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。调用 execute 将重用之前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中...

2018-07-14 11:31:18 349

原创 java 读写锁 , 官方自带示例读解,ReentrantReadWriteLock

以下示例为 java api并发库中 ReentrantReadWriteLock自带的实例,下面进行解读 class CachedData { Object data; volatile boolean cacheValid; ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); void process...

2018-07-14 11:25:59 125

原创 ArrayBlockingQueue<E> 笔记

ArrayBlockingQueue是一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列获取操作则是从队列头部开始获得元素。这是一个典型的“有界缓存区”,固定大小的数组在其中保持生产者插入的元素和使用者提取的元素。一旦创建了这样的缓存区,就不能再增加其容量。试...

2018-07-14 11:24:36 268

原创 Callable Future 以及CompletionService

java5线程库中,使用Callable提交任务,可以获得任务的运行完后的一个返回值。使用线程池的submit方法提交Callable任务,submit方法将返回一个Future对象,此对象的get方法是线程阻塞的,直到任务运行结束后才会返回任务的返回值。 多个任务提交到线程池后,想要多个获取任务的运行完后的结果,可使用CompletionService类,此类可以获取按执行完顺序返回的结果。下面...

2018-07-14 11:24:00 116

原创 java 线程之间通信以及notify与notifyAll区别

jvm多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/notifyAll组成。下面来实现一个启用多个线程来循环的输出两个不同的语句。package com.app.thread;import javax.swing.plaf.SliderUI;/** * 看出问题来 * @author Gordon * */public class LockDemo { publi...

2018-07-14 11:23:11 454

原创 CountDownLath 倒计时器

CountDownLath,可以理解为倒计时器,是一个线程同步的辅助类,用指定的数值来初始化 倒计时器初始值(new CountDownLath(100)),调用对象的countDown的方法,将会使计时器减1,当减到0后,那么此对象会唤醒调用对象await方法所正在等待的线程,如果计数器已经为0,后续线程调用await方法的时候,会立即返回,不会阻塞。下面模拟一个跑步计数器:import jav...

2018-07-14 11:22:15 214

原创 CyclicBarrier 线程的一个辅助类,就称它为 线程等待器

CyclicBarrier是一个线程辅助类,在初始化时,指定所要等待的线程等待数,调用await方法会使线程处于等待状态,直到等待的线程数达到指定的数。下面是小实例:import java.util.Random;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import ...

2018-07-14 11:21:41 195

原创 Exchanger 线程数据的交换器

Exchanger类实现了多个线程数据之间的安全交换。以下是小示例:import java.util.Random;import java.util.concurrent.Exchanger;/** * 线程数据交换器 * @author YangBaoBao * */public class ExchangerDemo { public static void main(String[] arg...

2018-07-14 11:21:11 165

原创 Semaphore 线程信号灯

Semaphore是一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore只对可用许可的号码进行计数,并采取相应的行动。Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目.小实例:i...

2018-07-14 11:20:23 207

转载 java 并发库之间的不同

这篇文章很好。。。http://dongxuan.iteye.com/blog/901689

2018-07-14 11:19:31 116

转载 Android框架大全

http://www.cnblogs.com/jincheng-yangchaofan/articles/7018780.html

2017-06-29 17:40:18 304

转载 Android图形图像动画的生成

http://www.linuxidc.com/Linux/2011-08/40058.htm

2012-02-21 19:17:57 534

原创 APK反编译过程

前提需要反编译工具jui  一、更改apk文件的后缀名,例如:name.apk-->name.zip二、用zip解压缩abc.zip文件,并从解压缩的文件夹中  取出classes.dex  并放到dex2jar.bat所在目录三、运行cmd命令,进入dex2jar.bat所在的目录,输入dex2jar.bat classes.dex即可生成classes.dex.de

2012-02-21 19:17:07 738

转载 自定义标题

点击打开链接

2012-02-21 19:13:50 408

原创 Android延时任务方法

第一种:      new Thread(new Runnable(){      public void run(){          Thread.sleep(XXXX);          handler.sendMessage();----告诉主线程执行任务      }  }).start    第二种:TimerTask task = new TimerTas

2012-02-21 19:10:28 560

Android Framework进阶全套视频资源

Android Framework,从入门到精通全套视频,欢迎下载!

2019-05-27

Editplus文本编辑器

文本编辑器工具,欢迎大家下载使用,需要注册码,网上很多都能搜到!

2015-12-01

Android网络通信

android网络编程,网络通信,梳理网络编程的各种方法方式,希望能给大家提供帮助。

2015-07-03

24中设计模式

java是高度面向对象的语言,如何设计才能使得项目更容易维护和扩展变得非常重要,此文档详细描述了,24中设计模式的一些原则,和使用场景,希望可供各位技术人员参考!

2011-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除