自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 2021-03-19

微信抢红包神器红包助手原理介绍,其实真的很简单 有些人觉得,抢红包神器有多牛,瞬间对IT男产生膜拜,比如我这样的,哈哈,低调低调。其实,稍微了解一些Android相关技术的人,就会了解,其实抢红包神器没有那么难。会写一点代码,so easy。 下面从原理的角度,分析一下红包助手的设计。有些地方会涉及到代码,觉得难的多看看文字,技术宅可以多看代码。毕竟代码更能说明一些东西。 市面上的抢红包软件有两种,一种是云平台的,一种是需要安装在客户端的一个APP。作为技术人员来说,云平台这个...

2021-03-19 10:32:31 521

原创 线程池参数解析

线程池的构造方法public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,...

2018-07-19 16:57:06 253

原创 Android中 图片压缩常用方法

总的来看,图片的压缩,可以从尺寸、质量两个方向来操作。1、质量压缩2、尺寸压缩(2的幂次方比例、任意比例、任意尺寸)一、质量压缩-改变图片的位深以及透明度:1、质量压缩需要注意,改变的是图片的质量quality,本身由于没有改变图片的分辨率以及图片格式性质(RGB_565、ARGB_8888、ARGB_4444)等,所以图片在内存中占有的大小不变,但是输出文件保存时,文件确实变小了。private...

2018-06-07 11:04:08 305

原创 Android中 Context的用法

具体如下表所示:注意:Dialog的contex只能是Activity的context在Application以及Service中也可以启动Activity,但是必须要重新开辟一个Task

2017-07-19 17:55:00 249

原创 Android Touch事件传递流程

1、dispatchTouchEvent路由,是否事件往下传递。返回super.dispatchTouchEvent,则事件交给自身的onInterceptTouchEvent(ViewGroup)或者onTouchEvent(View)来对事件进一步处理。2、onInterceptTouchEvent(只有Activity、ViewGroup才会有)事件是否拦截,事件再不再往下传递

2017-07-19 17:30:45 391

原创 Java逆向工具汇总

1、jd-guiA、可以将apk文件解压,解压之后,可以查看AndroidManisfast文件的源码。B、可以讲dex文件转换为jar文件,查看java源代码2、jclasslibA、可以查看class文件的结构,比如方法区、常量池、Fields等。B、定位到需要修改的常量,可以通过class文件替换的方式(需要自己读取class文件、修改、覆盖到对应的jar包),修

2017-07-19 14:12:35 3788

原创 Java逆向技术

1、工具A、jd-gui    反编译jar,查看class文件的对应的源码,通过命令 apktool d my.apk 反编译apk文件,解压之后,可以查看AndroidManisfast.xml文件等配置信息,res资源,asset资源等。通过命令sh dex2jar.sh classes.dex将apk文件中解压出来的dex文件转换为jar文件。然后通过jd-gui可以打开j

2017-07-18 16:11:13 1321

原创 Android APP与AMS交互

概念:1、ActivityThread: 我们平常所说的主线程2、ApplicationThread :  ActivityThread的内部类,主要接受AMS发送的指令。3、ActivityManagerNative:AMS在APP进程中的代理,APP中StartActivity的指令是直接发送给AMS在APP端的代理,然后通过该代理,通过Binder的方式,将数据发送给AMS,AM

2017-07-14 16:20:41 1045

原创 Android开发中的一些UI使用技巧

1、tools 命名空间作用:布局设计时使用,实际在运行时,不作为有效元素显示。(打包时忽略该属性?)tools可以告诉Android Studio,哪些属性在运行的时候是被忽略的,只在设计布局的时候有效。tools属性可以覆盖android所有的属性。即替换“android”为“tools”,属性就可以使用了用法:在跟布局中添加xmlns:tools="http://sc

2017-06-22 10:31:12 306

原创 AMS APP进程间通信

1、APP进程ActivityThread客户端(APP进程)的比较重要的类,也就是我们常说的主线程。是一个进程中第一个线程。含有main方法,是一个APP进程的入口。当我们调用context的startActivity()的时候,实际上调用了ContextImpl的getInstrumentation的excuteStartActivity()。ActivityThread中含有

2017-06-01 10:25:39 384

原创 APK 加固原理

1、源APK A.apk2、源APK解压之后得到的源dex文件3、加解密工具。思路:1、 将A.apk解压,得到A.dex2、将A.apk(加密)以及A.dex 以及A.apk的size 以二进制的形式写入到数组,最终将数组转换为new.dex(实际上名称还是class.dex文件,后边替换用到)文件3、工zip工具或者rar工具,替换A.apk中的dex文件为上边

2017-05-26 10:32:53 763

原创 JAVA 内存划分

1、总体结构图(图来自网络)2、运行时介绍A、程序计数器(线程私有)由于一个CPU可以有多个线程执行,每一个时刻,仅仅有一个线程得到执行,其他线程保持 切换之前的状态(比如线程下一条执行指令的行号等),便于线程得到时间片之后,恢复执行。那么,用于保存线程执行状态的就是程序计数器。每一个线程都有一个独立的程序计数器。是线程私有的内存单元。当线程执行的是java程序时,

2017-05-09 11:05:42 255

原创 Java 内存模型

1、内存分类A、主内存(可以理解为内存条)B、线程的工作内存C、处理器的高速缓存方法的参数、局部变量,仅仅保存在线程的工作内存中。使用的对象变量,也是主内存对象的副本。不同的线程之间的工作内存 不能直接访问。线程之间的变量,必须传递到朱内存中,才能完成数据传递。2、内存操作此处说得操作,设计到主内存、线程工作内存A、lock(锁) 概念适用于主内存,表示

2017-05-08 16:09:09 160

原创 类装载

类装载过程解析

2017-05-05 17:54:10 226

转载 MAC下 WinShark 的Android抓包方法

转载:http://www.myhack58.com/Article/48/67/2013/39798.htm下载并安装tcpdumptcpdump链接:http://www.tcpdump.org/选择一个版本下载并解压提取出其中呃tcpdump文件,然后push到你的手机上去:1adb push c:\tcpdum

2016-01-07 18:07:44 2198 1

转载 关于HTTP keep-alive的实验

转载:http://www.cnblogs.com/kobe8/p/3702071.html前面一篇文章提到,HTTP1.1中持久连接已经是默认配置,除非设置Connection为close,否则默认都会进行持久连接。但是我们知道事实标准跟教科书还是可能会有一定差距的,所以不妨自己尝试一下。   我们知道,TCP建立连接时会进行三次握手,而握手是以一方发送一个SYN为开始的。下载抓

2016-01-07 17:54:51 373

转载 android 解决输入法键盘遮盖布局问题

/**     * @param root 最外层布局,需要调整的布局     * @param scrollToView 被键盘遮挡的scrollToView,滚动root,使scrollToView在root可视区域的底部     */    private void controlKeyboardLayout(final View root, final View scrol

2016-01-07 17:42:37 282

转载 Android View的onTouchEvent和OnTouch区别

还是以自定义的TestButton为例。我们可以通过重写onTouchEvent方法来处理诸如down move up的消息: 123456789101112131415161718public 

2016-01-07 17:39:55 262

转载 【Android开发】如何实现android和服务器长连接呢?推送消息的原理

转自:http://blog.csdn.net/q376420785/article/details/8653958前言:现在的大多数移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接受消息的被动权。例如:微信,QQ,天气预报等等,相信好处和用户体验相信大家都知道吧。提出问题:这种功能必须涉及client(客户端)和server(服务器),所以到底clien

2016-01-07 17:28:14 300

微信支付源码 Demo v3版本

微信支付V3版本 框架Demo,内附Work格式的说明文档,一张张截图引导大神们集成。附件中含有源码,可以直接复制到项目中集成

2016-05-12

二维码扫描动画

不错的一个二维码扫描动画,移植性较高.扫描的动画为绿色的边框以及一条绿色的扫描线,可以根据需要更改。

2015-02-28

Kafka集群配置样例_3节点_源码

经过Linux上配置测试。3节点集群。重点看一下config目录下server.properties文件的zookeeper.connect配置

2014-12-28

MySQL经典教程

一个关系表必须符合某些特定条件,才能成为关系模型的一部分: 1、贮存在单元中的数据必须是原子的。 每个单元只能存贮一条数据,这也叫信息原则(Information Principle )。尽管在过去 的数年中按某些违反这一条的方式已经建立了许多系统,但违反这一条将不能运用良好的 设计原则。当一个单元包含多于一条的信息时,这叫做信息编码(information coding )。 在这样的情况下,是否采用违背理论的方案是一个设计的选择问题,尽管在多数情况下, 结果证明这对数据的完整性是一不利的。 2、贮存在列下的数据必须具有相同数据类型。 3、每行是唯一的(没有完全相同的行)。 4、列没有顺序。 5、行没有顺序。 6、列有一个唯一性的名称

2012-03-29

静态区、堆、栈 区别

1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放。 4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 。 5、程序代码区—存放函数体的二进制代码。

2012-03-29

Spring说明文档

Spring说明文档,常用语web设计!这个说明比较详细!

2012-03-29

空空如也

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

TA关注的人

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