自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA动态代理源码分析

1. 代理模式的作用:为真实类提供一个代理,在一些不方便直接让其他对象操作真实类的场景下,其他对象可以直接操作代理类进而调用真实类。 基本原理是: 代理类 = 真实类的引用 + 对真实类功能的扩展 例如有一个学校类 School.java, 提供了三个基本功能:语文课,数学课,英语课 ; 然后校长想尝试一下增加体育类课程,但不知道效果如何,如果效果不好可能会取消体育课程, 从编程角度,如果直接往School类中添加 一个体育...

2020-10-12 22:55:19 189

原创 JAVA 设计模式

设计模式是以开闭原则(对扩展开放,对修改关闭)为基础,针对不同场景使用不同的设计模式来提高程序的扩展性和易读性,方便后续对于现有程序的二次开发以及其他人对于程序的理解JAVA中一共23种设计模式;主要分为三大类:一. 创建型模式二. 结构性模式三. 行为型模式一. 创建型模式主要包括1. 单例模式 最常见的设计模式之一,确保程序运行...

2020-03-26 12:33:57 155

原创 JAVA 中子类调用父类函数的执行顺序

JAVA中的子类如果重写了父类方法,那么调用子类的方法就直接运行子类中的方法。如果子类没有重写父类中的方法,那么子类对象仍然可以调用父类的非私有方法,但是这时方法中的相关属性使用的都是父类的属性;而如果被子类调用的该父类方法中又调用了子类已重写的方法,那么会执行子类中的方法,相关属性使用的是子类的属性;例如:class A { int x = 6; private...

2020-03-25 16:55:30 640

原创 Android Handler常见问题

Handler 作为Android中最常用的类,主要负责线程间通信。 相关联的类有Looper, MessageQueue, Message;这篇主要记录一下Handler导致内存泄漏,以及一些常见的问题。一. Handler 导致的内存泄漏 内存泄漏的现象是不再需要的对象无法被GC回收;例如一个Activity已经退出了,却无法被GC回收,严重时会导...

2020-03-23 21:02:16 526

原创 JAVA中的锁

之前面试被问到JAVA中锁的问题,这块没有花时间去学习,于时查阅了一些资料整理一下平时项目中多线程同步一般使用synchronized关键字,了解这个关键字的用法属于初级技术。如果面试官自身懂技术便会追问不同锁类型之间的区别,如果回答不清楚很难被定义为高级开发人员。几种主要的锁的类型:1. 悲观锁/乐观锁2. 可重入锁/不可重入锁3. 无锁/偏向锁/自旋锁/轻量锁/重量锁...

2020-03-20 18:37:39 120

原创 JAVA 动态代理 和 反射

最近工作中接触到了JAVA的动态代理模式;其原理是利用JAVA的反射机制在程序运行时去生成代理类,动态代理相比静态代理的好处是当需要被代理的类数量较多时,可以减少在程序开发阶段预先定义大量的代理类,而把生成代理类的工作放在程序运行阶段让JVM处理。 静态代理在AIDL开发中会用到,AIDL服务端程序定义好接口,然后AIDL客户端程序通过代理类调用服务端程序的接口达到通...

2020-03-19 11:19:42 124

原创 浏览器,webkit,JavaScript Core 等浏览器概念

     随着微信公众号,小程序,小游戏越来越普及,前端 HTML5 开发需求也逐渐变大。虽然笔者工作中不直接参与HTML5开发,但经常与前端打交道,故对其中的一些概念打算整理一下。     不管是前端开发人员还是前端用户,最常接触的就是“浏览器”, 主要包括了手机端的 Chrome( android 平台); Safari( IOS平台); FireFox , IE ( Windows平台)...

2019-02-22 11:13:47 318

原创 java中主要的数据结构

一. 数组相同类型元素的集合;在内存上给出了连续的空间。相比较链表而言,优缺点:优点:1)查询速度快,因为数组是一块连续且大小固定的内存空间,查询某个元素只需要在某一块特定内存上查找;而链表是非连续的内存空间,通过指针关联前后顺序,链表查询元素的速度比较慢 缺点:1)大小固定,不方便动态添加数据(动态添加或删除数据会影响大部分数组元素,效率较链表低);(链表可以动态添加...

2019-02-14 10:27:45 177

原创 关于安卓屏幕适配

一. 非drawable 适配     对于非drawable(例如 textview, button等控件)的适配,建议使用相对布局,按比例适配。     在相对布局中,首先获取手机的宽度和高度,然后指定每个控件在手机中所占的比例,再设置margin值,从而保证在不同分辨率和dpi的手机上控件显示的效果是相同的。二. drawable适配     一般为图片资源。

2016-11-04 16:04:38 286

转载 Android常用第三方支付

移动支付用户使用移动的终端完成对所购买商品或者服务的支付功能;分为近场支付(蓝牙支付,刷卡,滴卡),和远程支付(网上支付,短信支付)app支付模块常见的支付厂商-->常见的支付方式支付宝:阿里公司微信:腾讯公司银联:联合起来的结构财付通:腾讯公司支付宝钱包:阿里公司百度钱包:百度公司支付安全吗?都是比较安全.都是大公司的产品.而且这个和金钱之

2016-09-13 11:18:58 934

原创 IntentService的实际应用场景

IntentService相比父类Service而言,最大特点是其回调函数onHandleIntent中可以直接进行耗时操作,不必再开线程。其原理是IntentService的成员变量 Handler在初始化时已属于工作线程,之后handleMessage,包括onHandleIntent等函数都运行在工作线程中。    如果对IntentService的了解仅限于此,会有种IntentSer

2016-09-06 09:12:40 4466 2

转载 Android中IntentService与Service的区别

Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR。那么我们当我们编写的耗时逻辑,不得不被service来管理的时候

2016-09-06 08:34:00 278

转载 Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?

今天给大家带来一篇简单易懂的微技巧文章,并没有什么高深的技术点,但重点仍然是在细节,相信还是可以给不少朋友带来帮助的。Dialog和Toast所有人肯定都不会陌生的,这个我们平时用的实在是太多了。而Snackbar是Design Support库中提供的新控件,有些朋友可能已经用过了,有些朋友可能还没去了解。但是你真的知道什么时候应该使用Dialog,什么时候应该使用Toast,什么时

2016-09-05 09:49:49 249

转载 Android状态栏微技巧,带你真正理解沉浸式模式

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴

2016-09-05 09:42:47 205

转载 Android 中 https使用

前言最近有一个跟HTTPS相关的问题需要解决,因此花时间学习了一下Android平台HTTPS的使用,同时也看了一些HTTPS的原理,这里分享一下学习心得。HTTPS原理HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP

2016-09-04 09:51:20 781

原创 HandlerThread 类的使用

最近遇到一个问题,在Handler的handleMessage()函数中,如何处理耗时操作 。        一开始的思路是在handleMessage()函数中开工作线程,执行完耗时操作后再发消息给自身。这种方式可能会造成线程过多,影响效率,甚至数据的不准确。       犯这种错误的原因在于对Handler的构造函数理解不深,平时用的最多的是无参构造函数 Handler handler

2016-08-31 09:03:16 310

转载 JVM虚拟机工作原理

一、类加载器首先来看一下java程序的执行过程。                         从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plain copy print?javac YourClassName.java  jav

2016-08-30 15:55:48 580

转载 动画框架

http://blog.csdn.net/fancylovejava/article/details/45787729/

2016-08-30 13:05:52 277

原创 开源框架

1.数据库开源框架: http://blog.csdn.net/guolin_blog/article/details/385569892.缓存框架:http://blog.csdn.net/guolin_blog/article/details/2886365115个通用框架:http://www.oschina.net/news/73836/15-android-g

2016-08-30 08:17:03 517

转载 Android_第三方登录使用详解

项目中不泛使用第三方登录 常用的有QQ、新浪微博、微信等原理基本都是一样的,就是客户端通过按钮去点击 吊起第三方应用AIDL等用第三方账号密码授权 确认授权后返回token/code等唯一标识(证明这个这个第三方账号是你本人)的字符串,把字符串在客户端按type区分,如:手机登录type=0,qq登录type=1,微信登录type=2……然后把这个唯一标识和type发给服务器去校验

2016-08-29 18:22:13 2278

转载 APK 安装过程 及 原理 详解

APK为AndroidPackage的缩写Android应用安装有如下四种方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由 packageinstaller.apk 应用处理安装及卸载。--

2016-08-10 15:18:17 574

转载 Android 6.0及以上版本的运行时权限介绍

运行时权限(Runtime Permission)是Android 6.0( 代号为 Marshmallow,API版本为 23)及以上版本新增的功能,相比于以往版本,这是一个较大变化。本文将介绍如何在代码中加入并配置运行时权限功能。如需阅读英文原文,请您点击这个链接:《Everything every Android Developer must know about new Andro

2016-08-01 15:13:05 404

转载 【Android每周专题】Android中maxSdkVersion、minSdkVersion、targetSdkVersion、以及project.properties中的target

本系列文章均为A2BGeek原创,转载务必在明显处注明:转载自A2BGeek的【Android每周专题】系列,原文链接:http://blog.csdn.net/a2bgeek/article/details/8203583maxSdkVersion和minSdkVersion1、maxSdkVersion程序被安装的时候,如果目标设备的API版本大于maxSdkVersi

2016-08-01 14:30:14 384

转载 线程间通讯机制——深入浅出实现原理

前言:这一篇博文主要是和大家讲解一下线程间通讯机制的内部实现原理,即Handler、Message、MessageQueue、Looper、HandlerThread、AsyncTask类的实现以及之间的关系。如果还没有接触过Handler+Message+Runnable、HandlerThread、AsyncTask的朋友可以先看看基础篇:【Android开发】线程间通讯机制(

2016-07-29 14:49:03 278

转载 Java:按值传递还是按引用传递详细解说

前天在做系统的时候被Java中参数传递问题卡了一下,回头查阅了相关的资料,对参数传递问题有了新的了解和掌握,但是有个问题感觉还是很模糊,就是Java中到底是否只存在值传递,因为在查阅资料时,经常看到有人说Java只有值传递,但有人说既有值传递,也有引用传递,对于两个观点个人觉得应该是站的角度不同而得出两个不同的说法,其实两个说法其中的原理是一样的,只要咱们懂得其中的原理,那么至于叫什么也就无所谓了

2016-07-26 17:30:19 234

转载 Android面试汇总(百度+360+Tencent+淘宝+Qualcomm+HTC)

汇总笔者经历了一些来自百度,360,淘宝,腾讯,高通中国,htc上海的电话面试及现场面试,还有笔试相关题目百度:百度在北京中关村上地七街奎科科技大厦,不大但是很安静的一个办公地点。百度技术面试分为两轮,第一轮基础技术面试,一般为项目负责人,主要考察基本知识及知识广度,第二轮面试一般为部门负责 人,主要考察技术深度。基础面试感觉个人答的还不错,主要询问了一些关于android基本知识

2016-07-14 20:05:20 341

转载 Date类学习总结(Calendar Date 字符串 相互转换 格式化)

[java] view plain copy print?1.计算某一月份的最大天数        Calendar time=Calendar.getInstance();    time.clear();    time.set(Calendar.YEAR,year); //year 为 int    time.set(Calendar.MONTH,i-1);//注意,

2016-07-14 19:54:32 344

空空如也

空空如也

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

TA关注的人

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