自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 java反射机制

java 反射机制一、概述1.1定义1.2 java类加载、对象创建过程1.2.2 类的加载过程1.2.3 对象初始化过程1.3 反射用途一、概述1.1定义  JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。1.2 java类加载、对象创建过程1.2.2 类的加载过程JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如

2020-09-14 17:56:02 162

原创 java 类的加载机制

java 类的加载机制概述Java语言的类型可以分为两大类:基本类型和引用类型。JVM架构图一、什么是类加载1.1类的加载机制在整个java程序运行期间处于一个什么环节1.2 在什么时候才会启动类加载器?1.3从哪个地方去加载.class文件二、类加载的过程2.1加载2.2 连接-验证2.3 连接-准备2.4 连接-解析2.5 初始化三、类加载器3.1、Java语言系统自带有三个类加载器:3.2 类加载的三种方式四、双亲委派原则五、自定义类加载器总结类的加载机制:概述Java语言的类型可以分为两大类:基

2020-09-02 17:14:44 213

原创 java 注解

java 注释

2020-08-31 17:11:15 173

原创 常用排序算法(java实现)

常用排序算法一、冒泡法排序二、插入排序三、希尔排序五、归并排序:六、快速排序一、冒泡法排序冒泡排序思想:两两比较相邻的关键字,如果顺序相反则交换,知道没有反序的记录为止。每遍历一次,将一个最小的元素冒到顶。数据从a[0]开始存储。 public static void BubbleSort1(int[] arr) { int i, j; for (i = 0; i < arr.length - 1; i++) { // for (j = arr.length - 2;

2020-08-28 14:13:49 145

原创 常用编码方式(android)

常用编码方式一、简介二、unicode码2.1 Unicode版本12.1.1 UTF-8 、UTF-162.1.2.举个例子.2.2 Unicode版本22.3 对比分析2.3.1 UTF-162.3.2 UTF-82.3.3如何选择三、Base643.1 base64简介3.1.1 例子3.2 Base64 java 加解密3.2.1 早期做法3.2.1 Java8 操作3.2.2 Apache Commons Codec做法四、ASCII 码五、 ISO-8859-1六、 GBK 《汉字内码扩展规范》

2020-08-28 11:28:54 2022

原创 butterknife 依赖注入框架:

butterknife框架:一、butterknife原理:二、源码分析:三、框架说明:3.1、简介3.2、ButterKnife优点:3.3、ButterKnife注意事项:四、ButterKnife 使用方法:五、ButterKnife的基本使用5.1▲ 绑定View:5.2▲ 绑定资源:绑定string 字符串:@BindString()绑定string里面array数组:@BindArray()绑定Bitmap 资源:@BindBitmap( )绑定一个颜色值:@BindColor( )5.3▲ 事

2020-08-26 16:57:52 314

原创 EventBus:事件总线框架

EventBus框架一、使用场景:二、eventbus 优势三、eventBus原理:四、EventBus 使用:1.创建一个事件类型2.在需要订阅事件的模块中,注册eventbus。3、 EventBus的注册问题,注意事项:4、 @Subscribe 注解介绍4.1threadMode 参数4.2 sticky参数:4.3 priority参数:一、使用场景:应用程序的各组件、组件与后台线程间进行通信,比如在子线程中进行请求数据,当数据请求完毕后通过Handler或者是广播通知UI,而两个Fragm

2020-08-26 16:27:34 716

原创 Android Retrofit2+Rxjava2+OKHttp3 网络请求框架 (一)

Android Retrofit+Rxjava+OKHttp 网络请求框架(一retrofit 2.0)一、retrofit 2.0简介二、retrofit使用:Retrofit 集成retrofit注释:三、Okhttp新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你

2020-08-26 14:25:20 2954

原创 Glide 图片加载框架(Android)

Glide图片加载框架常用图片加载框架:Glide用法一、 Glide集成二、 Glide常用方法三、Target(bitmap操作)四 Modules篇常用图片加载框架:Android上的图片加载框架非常成熟,常用图片加载框架UniversalImageLoader,Google推出的Volley,后来google所推荐的图片加载库Glide,Facebook推出的Fresco。易用性方面,Glide和Picasso应该都是完胜其他框架的,这两个框架大多数情况下加载图片都是一行代码就能解决的。Gli

2020-08-14 18:23:06 428

转载 抽象类 接口 区别

抽象类和接口的区别  抽象类里面可以有非抽象的方法,接口里只能有抽象方法。  抽象类中的抽象方法声明时不能有大括号,而接口中的所有方法都没有大括号。抽象类(abstract class):  a.抽象类是仅供派生的类,无法实例化一个抽象类,只能实例化从它派生的类。  b.抽象类的主要特征在于它包含抽象成员(abstract member),抽象成员是不具

2017-07-26 17:26:37 278

转载 Android四大组件

这个文章主要是讲Android开发的四大组件,本文主要分为一、Activity详解二、Service详解三、Broadcast Receiver详解四、Content Provider详解外加一个重要组件 intent的详解。一、Activity详解Activty的生命周期的也就是它所在进程的生命周期。 一个Activity的

2017-07-07 15:55:34 407

转载 Android Application的作用

Android Application的作用标签: applicationandroidhashmapcacheserviceobject2016-11-25 03:47 50910人阅读 评论(42) 收藏 举报 分类:android开发(12) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]

2016-12-06 10:19:37 358

转载 Android常用的四种布局(或者说是五种)

Android常用的四种布局(或者说是五种)一、FrameLayout(帧布局):显示特点:所有的子控件默认显示在FrameLayout的左上角,会重叠在一起显示。常用属性:layout_gravity(设置给子控件,调整控件在容器内的重心)常用值:left(左)、 right(右)、top(上)、 bottom(下)、cen

2016-12-06 09:18:42 1223

转载 android 间 通信

android开发中文站:http://www.androidchina.net/5028.html通信 ,顾名思义,指的就是信息的传递或者交换看完本文能收获什么?按目录索引,你可以学习到1. 组件间的通信,Activity,fragment,Service, Provider,Receiver2. 进程间的通信,AIDL3. 线程间的通信,Handler,Ansy

2016-11-08 10:53:17 440

转载 Android_Service多线程断点下载

Android中实现单线程下载文件是比较容易的,可是要使得自己的应用支持多线程断点下载就要考虑到很多细节了,今天我们一起来探讨一下多线程断点下载时怎么实现的。首先先画一张图说明一下Android中下载文件的大致流程:上面的图介绍的是比较清楚的,我们要下载一个文件,首先需要在Activity中选择需要下载的目标,然后把下载的任务交个Service中(这里为什么要交给Servi

2016-11-08 10:49:55 440

转载 .Retrofit简介

.Retrofit简介Retrofit无疑是当下最流行的Android网络请求框架了,是Square提供的开源产品。官方网站是这样介绍Retrofit的—-A type-safe HTTP client for Android and Java,为Android平台的应用提供一个类型安全的HTTP客户端。Retrofit 是一套注解形式的网络请求封装库,它的强大在于让代码结构更加清

2016-11-08 10:48:28 386

转载 java多线程面试题

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用

2016-11-08 10:40:33 287

转载 JSON 解析

JSON:JavaScript 对象表示法(JavaScript Object Notation)。独立于语言和平台,比 XML 更小、更快,更易解析。如今JSON数据已经成为了互联网中大多数数据的传递方式,所以必须要熟练掌握。Android平台自带了JSON解析的相关API,可以将文件、输入流中的数据转化为JSON对象,然后从对象中获取JSON保存的数据内容。Android的JSON

2016-11-08 10:37:46 276

转载 http 协议入门

HTTP 协议入门 新手入门 AndroidChina  2个月前 (09-04)  578浏览  0评论HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主

2016-11-08 10:34:52 291

转载 android 事件分发机制

事件分发是Android中非常重要的机制,是用户与界面交互的基础。这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制。一、必要的基础知识1、相关方法Android中与事件分发相关的方法主要包括dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三个方法,而事件分发一

2016-11-08 10:33:30 423

转载 git 简明教程

Git简明教程 Java基础 AndroidChina  1个月前 (10-05)  332浏览  0评论1. git四大域git四大域:工作目录,暂存区,仓库,远程仓库。git对文件的操作都是在四大域上进行的,文件可以在四大域内与四大域间进行各种操作。(有一个例外,进行“git stash”系列操作时,文件可能被保存到四大域外的堆栈中)2. git常用命令

2016-11-08 10:23:33 362

转载 Android Proguard混淆打包经验总结

Android Proguard混淆打包经验总结 开发进阶 AndroidChina  3周前 (10-19)  432浏览  0评论作为一名Android开发,应该了解并尝试给自己的项目进行Proguard混淆打包。项目经过Proguard混淆打包后,会发现apk包体积会变小,也就是混淆可以使得apk瘦身;并且反编译apk的时候会发现, 项目中的源码都被处理过,进一步保障了a

2016-11-08 10:19:15 639

转载 android事件机制

Android的事件机制 新手入门 AndroidChina  6天前  187浏览  0评论一、理论概述最基本的操作类型:down 手指按下move 手指在屏幕上移动up 手指从屏幕上离开触屏操作的顺序:down->move->move->…->up对屏幕的任一操作,系统都会产生一个MotionEvent对象来对应这个对象。注:点击和长按可以同

2016-11-08 10:15:26 1690

转载 Android:onNewIntent()触发机制及注意事项

一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestroy  onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:Uri uri = Uri.pa

2016-11-04 11:05:25 293

转载 对称加密、非对称加密

对称加密和非对称加密介绍和区别 什么是对称加密技术?  对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有

2016-10-28 15:48:10 378

转载 内存溢出、内存泄漏区别。

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会

2016-10-28 13:30:09 230

转载 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)

前言SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,

2016-10-27 15:22:37 1257

转载 希尔排序

package 排序;//希尔排序public class ShellSort {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub}/**思想:将一组数据按某个增量分成若干组(每组记录的小标相差d),每组进行

2016-10-27 15:13:06 232

原创 快速排序

package 排序;public class QuickSort {public static void main(String[] args) {// TODO Auto-generated method stub}/** 快速排序:通过一趟排序将待排序记录分割成独立的两半部分,* 其中一部分记录的关键字均比领一部分的关键字小,则可分别对这两

2016-10-27 15:12:11 270

原创 归并排序

package 排序;public class MergeSort {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub}/**归并排序:将两个或两个以上有序合并成一个新的有序序列。即把待排序的序列跟个城若干个

2016-10-27 15:11:24 200

原创 插入排序

public class InsertSort {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub}public static void InsertSort(int[] arr) {for (int

2016-10-27 14:34:37 234

原创 堆排序

public class HeapSort {/** 注意:堆是完全二叉树,结点比左子树都大,比右子树都小。* 堆排序思想:先将序列组成完全二叉树,然后利用大顶堆,将待排序的序列构造成一个大顶堆,此时这个序列的* *最大值即为根节点。将根节点移走(就是讲根节点与堆数组的为元素交换* ,此时*尾元素变成最大值。),将剩下的n-1个元素重新构建成一个堆,这样就会得到n* *个元

2016-10-27 14:32:51 203

原创 冒泡排序

public class BubbleSort {public static void main(String[] args) {// TODO Auto-generated method stub}/** 冒泡排序思想:两两比较相邻的关键字,如果顺序相反则交换,知道没有反序的记录为止。* 每遍历一次,将一个最小的元素冒到顶。数据从a[0]开始存储。

2016-10-27 14:31:00 234

原创 java 对象初始化

一、对象的初始化 (疯狂java160)1、父类静态初始化块   子类初始化块   (静态只执行一次,仅在第一次初始化对象时调用,第二次不再调用)2、父类普通初始化块   父类无参构造函数   父类有参构造函数3、子类普通初始化块   子类构造函数   二、 类的加载  是由类加载器完成的,类加载器包括:根加载器( BootStrap )、扩

2016-10-26 21:33:38 422

转载 装饰者模式

七、装饰模式    动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。(与建造者模式不同,建造者模式要求建造过程必须是稳定的(按顺序),但是装饰模式完全可以不按照特定顺序,是一种组合)。装饰模式以对客户透明的方式动态的给一个对象附加上更多的职责。客户端并不会感觉对象在装饰前和装饰后有什么不一样。装饰模式可以在不是用创建更多子类的情况下,将对象的功能加以扩展。

2016-10-26 21:13:03 245

转载 代理模式

六、代理模式(Proxy)代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象时,客户端实际上不关心是否准确得到该对象,它只要一个能提供该功能的对象即可,此时我们就可返回该对象的代理(Proxy)。代理就是一个Java对象代表另一个Java对象来采取行动代理模式角色:l Subject类:定义了RealSubject和Proxy(代理)的共用接口,这样就在任何使用过Rea

2016-10-26 21:12:30 238

转载 建造者模式

五、Bulide(建造者模式)是将一个复杂的对象的构建与它的表示分离(同构建不同表示),使得同样的构建过程可以创建不同的表示。5.1建造者模式通常包括下面几个角色:①Builder:一个抽象接口,用来规范产品对象的各个组成成分的建造。② ConcreteBuilder:实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建,在建造过程完成后,提供产品的实例。③

2016-10-26 21:12:01 292

转载 观察者模式

四、Observer(观察者模式、发布/订阅模式)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。观察者就是解决这类

2016-10-26 21:11:28 234

转载 适配器模式

3、适配器模式将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。模式中有三个角色:l  需要适配的类(Adaptee):需要适配的类。l  适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。l  目标接口(Target):客户所期待的接口。可以是具体的或抽象的类,也可以是接口 

2016-10-26 21:10:53 216

转载 工厂模式

2、工厂模式工厂模式专门负责将大量有共同接口的类实例化,工厂模式可以动态决定将哪个类实例化,不必事先知道每次实例化哪个类。普通工厂模式:类创建型模式,在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,简单工厂模式

2016-10-26 21:09:35 310

空空如也

空空如也

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

TA关注的人

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