自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (22)
  • 问答 (3)
  • 收藏
  • 关注

原创 Java-FutureTask

//Runnable封装一个异步运行的任务,可以把它想象成为一个没有参数和返回值的异步方法。public interface Runnable { public abstract void run();}//Callable与Runnable类似,但是有返回值。Callable接口是一个参数化的类型,只有一个方法call。public interface Callable<V> {

2017-06-30 19:27:50 386

原创 Android-volley

推荐阅读:Android 异步网络请求框架-Volley如上官方给出的Volley架构图,蓝色为主线程,绿色为缓存线程,橙色是网络线程。 总的来说,就是一个请求队列和三种线程,UI线程(1个),Cache线程(1个)和Network线程(默认是4个)。其中蓝色部分代表主线程,绿色部分代表缓存线程,橙色部分代表网络线程。我们在主线程中调用RequestQueue的add()方法来添加一条网络请求,这

2017-06-29 17:12:29 329

原创 Java-算法分析及其优劣判断

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。1、时间复杂度算法的时间复杂度是指执行算法所需要的时间。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做  T(n)=Ο(f(n))因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,

2017-06-25 18:10:52 2569

原创 android - 提交代码前的Review 清单

清理操作1.页面退出时,是否完成必要的清理操作 1) 是否调用 Handler 的 removeCallbacksAndMessages(null) 来清空 Handler 里的消息; 2) 是否取消了还没完成的请求; 3) 在页面里注册的监听,是否反注册; 4) 假如自己用到观察者模式,是否反注册; 5) 假如用了 RxJava 的话,是否解除订阅;2.数据库的游标是否已经关闭 这个点

2017-06-25 17:57:35 477

原创 java-素数(质数)

质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。import java.util.Scanner;/** * Created by Administrator on 2017/6/23. */public class SuShu { public static void main(String[] args) { Scanne

2017-06-23 23:38:17 2374

原创 java-完数

若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数。简称“完数”   例如,   6=1+2+3   28=1+2+4+7+14   496=1+2+4+8+16+31+62+124+248   8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064 import java.util.Scanner;/*

2017-06-23 23:25:52 772

原创 Java-判断回文数

import java.util.Scanner;/** * 回文数:一种数字,如:12321, 这个数字正读是12321,倒读也是12321, * 即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。 * Created by Administrator on 2017/6/23. */public class HuiWenTest { public static...

2017-06-23 23:10:15 5662

原创 LRU和LFU的区别

LFU和LRU算法的不同之处:LRU的淘汰规则是基于访问时间, 而LFU是基于访问次数的。LFULFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。具体实现如下: 新加入数据插入到队列尾部(因为引用计数为1);队列中的数据被访问后,引用计数增加,队列重新排序;当需要淘汰数据时,将已经排序的

2017-06-21 17:48:16 3116

原创 Android框架

从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及linux内核层,分别介绍如下:1)应用程序层(Application)Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是 用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其

2017-06-21 16:57:54 1766

原创 java-反射获得泛型参数

public class Person<T> { } import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;/** * Created by Administrator on 2017/6/20. */public class Student extends Person<String> {

2017-06-20 18:21:23 332

原创 android-OKHttp

Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP 可以让您的应用运行更快、更节省流量。而OkHttp库就是为此而生。OkHttp是一个高效的HTTP库: 支持 SPDY ,共享同一个Soc

2017-06-20 18:19:01 552

原创 android-Activity生命周期

public class HelloActivity extends Activity { public static final String TAG = "HelloActivity"; /** * 第一个被运行的方法 * 初始化页面 * Bundle恢复上次的状态 */ @Override public void on

2017-06-20 13:37:54 378

原创 Android存储对象到本地(SharedPreferences方式和file方式)

Android中能够被保存的对象都是被序列化过的对象。SharedPreferences存储对象请参考: Android-存储:SharedPreferences使用及其存储类型file存储对象存入的对象必须序列化, 实现Serializable接口, 然后用对象流进行IO操作.在Android平台下,一个应用程序中所有的数据都是私有的。当应用程序被安装到系统中后,其所在的包会有一个文件夹用于存放

2017-06-20 00:14:56 2970

原创 Android-存储:SharedPreferences使用及其存储类型(aidl支持的数据类型 / bundle传值类型)

日常开发中我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态、配置信息,实现记住密码功能等等,都是以键值对的形式进行的文件读取。 但是每存储一个数据都要提供一个key,如果要存储多个数据那岂不是要写多个k...

2017-06-19 21:28:31 33849 1

原创 ListView高效刷新——刷新单条数据

对于ListView数据的刷新大家都知道,改变Adapter的数据源,然后调用Adapter的notifyDateSetChanged()方法即可。用的listview展示所有正在下载的内容。因为下载进度要实时更新,所以要不停的调用notifyDateSetChanged刷新数据。这样会不停的重新绘制整个listview的界面,性能开销非常大。而且如果每个item有图片的话,每个item的图片都需要

2017-06-19 20:29:21 10885

原创 android- API 级别 SDK版本

参考:Develop API Guides

2017-06-17 11:14:59 321

原创 Android-AsyncTask

AsyncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.优点:简单,快捷 AsyncTask是封装好的线程池,比起Thread+Handler的方式,AsyncTask在操作UI线程上更方便,因为onPreExecute()、onPostExecu

2017-06-17 11:01:42 396

原创 java-线程的终止和调度

终止线程的三种方法 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。 3. 使用interrupt方法中断线程。1、使用退出标志终止线程:在Activity开启的子线程并不会自动随Activity的destroy而关闭,所以必须手动去关闭子

2017-06-17 09:13:11 502

原创 Java-线程的运行状态

参考: 学习java线程状态和看懂thread dump文件中的线程信息 Java线程中wait状态和block状态的区别?1,线程状态为“waiting for monitor entry”: 意味着它 在等待进入一个临界区 ,所以它在”Entry Set“队列中等待。 此时线程状态一般都是 Blocked: java.lang.Thread.State: BLOCKED (o

2017-06-17 08:45:44 2310

原创 Android---多线程:继承Thread 类和实现Runnable 接口的区别

参考: Java线程中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1、通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中。多个线程分别完成自己的任务。 2、通过实现Runnable接口,实例化Thread类。多个线程共同完成一个任务。有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 1、j

2017-06-16 22:06:11 2205

原创 Android - 全局异常捕获

今天就来说说作为程序猿的我们每天都会遇到的东西bug,出bug不可怕可怕的是没有出bug时的堆栈信息,那么对于bug的信息收集就显得尤为重要了,一般用第三方bugly或者友盟等等都能轻易收集,但是由于公司不让使用第三方,而安卓正好有原生的异常收集类UncaughtExceptionHandler。UncaughtExceptionHandler见名知意,即他是处理我们未捕获的异常,具体使用分两步

2017-06-16 09:42:48 551

原创 android - AMS及相关概念、唤醒崩溃

Android是基于Linux的一个操作系统,它可以分为五层,下面是它的层次架构图Android的五层架构从上到下依次是应用层,应用框架层,库层,运行时层以及linux内核层。Linux是基于C的,而Android是基于Java的(当然底层也是C)。所以这里就会fork出一个Zygote Java进程用来fork出其他的进程。Zygote进程是所有Java进程的父进程。ActivityManager

2017-06-16 09:34:26 674

原创 java-Collections

1.Collections(注意不是Collection,而是Collections,多了一个s) 2.它是一个集合工具类 3.方法分类: 常规操作(查找,最大,最小等)、 排序、 线程安全(同步)操作、 不可变集合import java.util.*;/** * Created by Administrator on 2017/6/15. */public class Colle

2017-06-15 22:45:27 308

原创 GitHub-fork/star/watch/follow

fork:将【开源项目】拷贝一份到自己的账号下 fork就相当于在原本的项目分支上建立一个分支,这个分支属于你自己,你也可以任意修改。如果想将你修改后的代码整合到原有的项目中,需要做pull request操作,当然这得经过作者同意。star:给【项目】点赞watch:收听【开源项目】的动态follow:关注【作者】的动态总结:star 的作用是收藏,目的是方便以后查找。 watch 的作用是关

2017-06-15 00:23:29 2547

原创 Android三种网络通讯方式/网络通讯机制

1.标准Java接口java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。 比如:创建URL,以及URLConnection/HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。HttpURLConnectionpackage java.net;abstract public

2017-06-13 16:56:48 2463

原创 进程的优先级

1、 前台进程 -Activte/Foreground processActive (前台) process是包含(与用户交互的)控件的那种应用程序。这些是android通过回收资源来极力保护的进程。Active process包括: (1)处于“active”状态的Activity,它们运行在前台来响应用户的事件。 (2)Activity Service或者正在执行onReceive事件处理

2017-06-13 16:21:39 249

原创 android-ViewPager的轮播

viewpager的轮播实现需要 1、定时切换:每隔一定时间自动播放,也支持手动切换 2、无限播放:最后一张切到第一张重新播放第一步:主界面布局activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and

2017-06-13 15:57:14 650

原创 Alpha、Beta、RC、GA版本的区别

Alpha:内部测试版。是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。Beta:公开测试版。也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。RC:(Release Candidate)顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。GA:General Availability,正式发布的版

2017-06-10 08:38:59 2162

原创 Android-IM即时通讯:环信

参考:基于环信即时通信云V2 SDK开发的聊天demo Android基于环信SDK开发IM即时聊天(一) android-使用环信SDK开发即时通信功能及源码下载IM :即时通信系统(IM,Instant Messenger)。Android第三方即时聊天SDK的有:网易云信、环信和融云等。参考:3款IM云服务产品对比 即时通讯云产品横向评测这里以环信来做即时通讯demo达到两个效果:

2017-06-09 20:41:01 5829 1

原创 android - context

public abstract class Context {...}public class ContextWrapper extends Context {...}//Application public class Application extends ContextWrapper{...}//Service public abstract class Service extends

2017-06-08 12:28:49 264

原创 java堆、栈、堆栈的区别

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令),用new的方式是生成不同的对象。每一次生成一个。只有通过new()方法才能保证每次都创建一个新的对象。 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本

2017-06-06 23:40:56 2434

原创 TCP、UDP、HTTP、SOCKET、WebSocket之间的区别

TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层, 每层都有相应的协议,如下图IP:网络层协议;(高速公路)TCP和UDP:传输层协议;(卡车)HTTP:应用层协议;(货物)。HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。SOCKET:套

2017-06-05 22:56:19 37249 10

原创 闹钟实例与远程机制AIDL工具android:process=":remote"结合应用

由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。这里通过与闹钟实例来实现这一机制的简单实现:

2017-06-03 01:49:38 756

原创 Android-service之aidl

相关类关系:public interface IBinder {...}public class Binder implements IBinder {...}//BookManager为自定义的aidl接口public interface BookManger extends IInterface { //Stub为内部类 public static abstract clas

2017-06-03 01:30:30 483

原创 Android -序列化 : Serializable / Parcelable

一、简介● 序列化   由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列化。● 反序列化   反序列化恰恰是序列化的反向操作,也就是说,把已存在在磁盘或者其他介质中的对象,反序列化(读取)到内存中,以便后续操作,而这个过程就叫做反序列化。  概括性来说   序列化是指将对象实例的状态存储到存储媒体(磁盘或者其他

2017-06-02 19:50:30 633

原创 android-布局优化:merge+include

介绍:1.merge布局 和FrameLayout类似,相同的效果.不同的是 merge布局只能被<include>标签包含. 或者Activity.setContentView所使用.当LayoutInflater遇到能被其他layout用<include>包含进去,并不再另外生成ViewGroup容器,本元素也特别有用这个标签时,它会跳过它,并将<merge />内的元素添加到<merge />

2017-06-01 18:32:53 457

原创 android - 布局优化-viewstub

ViewStub是Android中view的一种优化方案,它的目的是在不需要显示view的时候不去加载view,这样在view的创建时期,减少了加载的资源,优化了view。invisible 、gone 、 viewstub的区别:1、invisible view设置为invisible时,view在layout布局文件中会占用位置,但是view为不可见,该view还是会创建对象,会被初始......

2017-06-01 17:19:13 626

原创 android studio + NDK + JNI

推荐:android studio 中 添加.so 文件JNI介绍:Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。  JNI是J...

2017-06-01 11:13:56 821

当前Activity1.4.1

当前Activity1.4.1

2023-01-06

CPU Monitor 8.0.2

CPU Monitor 8.0.2

2023-01-06

TranslationPlugin-3.1.1.zip

Android studio 翻译插件

2021-08-09

projector-plugin-agent-v1.5.1.zip

projector-plugin-agent-v1.5.1.zip

2021-08-09

GsonFormat.zip

GsonFormat.zip android studio4.1之后过期不可用修复包

2021-08-06

BCompare-zh-4.3.3.24545.exe

BCompare-zh-4.3.3.24545.exe,

2020-01-14

SourceTreeSetup-3.3.6.exe

SourceTreeSetup-3.3.6.exe,SourceTreeSetup-3.3.6.exe,

2020-01-14

gsonformat和butterknife的jar包

butterknife.jar , gsonformat.jar 。

2018-10-08

android studio (as)主题theme

ladies night2.jar ,cobalt.jar ,visual studio.jar, monokai sublime text3.jar

2018-10-08

jadx android反编译集成工具

jadx反编译apk,一键可以查看资源文件(apktool的作用)、java源码(dex2jar和jd-gui作用)

2018-06-05

android反编译工具

最新android反编译工具 apktool :这个工具拆解Apk文件,反编译其中的资源文件,将它们反编译为可阅读的AndroidManifest.xml文件和res文件。 dex2jar :这个工具用于将dex文件转换成jar文件 jd-gui :这个工具用于将jar文件转换成java代码

2018-06-04

等额本金、等额本息的计算

等额本金和等额本息的计算,以及折线图的对比,使用excel的公式

2018-05-28

httpClient4.5.3+Jsoup1.10.2

httpClient4.5.3+Jsoup1.10.2 commons-codec-1.9.jar commons-logging-1.2.jar httpclient-4.5.3.jar httpcore-4.4.6.jar jsoup-1.10.2.jar

2018-02-23

httpclient-4.5.3完整jar包

httpclient4.5.3完整jar包: commons-codec-1.9.jar commons-logging-1.2.jar httpclient-4.5.3.jar httpcore-4.4.6.jar httpmime-4.5.3.jar等等

2018-02-23

jq星星评分打分

jq星星评分打分

2017-04-28

联系人列表

listview联系人

2017-01-12

listview的各种二级分类列表

各种二级分类列表

2017-01-12

decp2 dbutils pool2 mysql

数据库相关所有jar包:commons-dbcp2-2.1.jar commons-dbutils-1.3.jar commons-pool2-2.4.2.jar mysql-connector-java-5.1.30.jar commons-logging-1.2.jar

2016-11-15

httpclient-4.3.3.jar和httpcore-4.3.2.jar

httpclient-4.3.3.jar和httpcore-4.3.2.jar两个

2016-11-15

Python for eclipse

使用eclipse开发Python需要的feature和plugin

2016-11-09

resign.jar

resign.jar 重签名工具

2016-10-26

zxing的jar包

zxing需要的核心jar包

2016-10-26

gson的jar包

gson.jar

2016-10-26

postman插件

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。常见用于get、post请求的测试

2016-10-26

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

TA关注的人

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