自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【微信抢红包】红包助手-修改版

全新【微信/QQ红包】发布,下载请看下面备注/评论,或点击以下链接。支持Android5.0以上-------------------------------------------------------------------------------------------------------------------------------------------...

2019-11-28 21:09:11 3320 1

原创 ProtoBuffer的使用

一、ProtoBuf Protocol Buffer是Google的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀

2018-01-24 00:43:13 1319

原创 学习整理——Java注解

注解注解(也被称为 元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在后续某个时刻非常方便地使用这些数据。注解在Java SE5中引入,在一定程度上是在把元数据与源代码文件结合在一起,而不是保存在外部文档中这一大的趋势之下所催生的。它们可以提供用来完整地描述程序所需的信息,而这些信息是无法用Java来表达的。因此,注解使得我们能够以将由编译器来测试和验证的格式,存储有关程序的的

2017-04-18 01:04:16 556

原创 Python2.7 编码与解码理解

Python 网络编程

2017-03-11 21:32:20 3319

原创 Android解决h5退出后继续播放视频问题

问题:    Android webview有一个bug,就是当承载webview的Activity被停止后(onStop),该webview的进程还会持续一段时间。这个问题在网页正在播放视频或音频时十分明显,退出Activity之后还会继续播放一段时间的声音。该问题在http://www.2cto.com/kf/201501/366465.html中也提了出来,并提供了一些解决方案。

2017-02-12 20:11:05 5373

原创 学习整理——Python中内置方法

内置方法类似Java,Python中声明每一个类系统都会加上一些默认内置方法,提供给系统调用该类的对象时使用。比如需要实例化一个对象时,需要调用该类的__init__方法;使用print去打印一个类时,其实调用的是__str__方法;等等。__init__(self, ...):初始化对象,在创建新对象时调用。在方法里,可以初始化该对象的属性,否则调用其他时可能出“现has no attr

2016-10-16 01:31:07 2557

原创 学习整理——C++ virtual虚函数与多态

多态与动态绑定多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。另一个与多

2016-10-07 17:54:02 3459 1

原创 配置整理——Ubuntu下配置Java Spring开发环境

Spring是一个基于Java的开源框架,最近需要使用它来完成一个项目,现在将在Ubuntu下的开发环境配置过程记录一遍。安装JDK在Linux下,除了常用的Oracle的JDK外,还有一个OpenJDK选择。一般情况下使用哪一个都没有太大的问题,都考虑到通用性移植性等问题,还是使用Oracle JDK。下载JDK:http://www.oracle.com/technetwo

2016-10-04 22:32:57 5596 1

原创 算法整理——2017欢聚时代校招编程题

题目给定一个无序整数数组,其中一个数只出现一次,其余数都出现三次,请找出只出现一次的那个数。输入:第一行输入一个数N,表示数组的大小,接下来输入N个数,确保每个数都在int范围内。输出:只出现一次的数。思路如果这道题描述的是其余数都出现2次,相信很多人都能够想到将所有数一起异或,最后的结果将是要求的那个数。但是这里讲的是出现三次,所以并不能用异或的方法将其余数抵消掉。这

2016-09-29 00:02:38 1228

原创 学习整理——Java内存区域划分

内存区C编译器在划分内存区域将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。Java的运行时jvm也会将内存区划分为不同的部分,包括了虚拟机栈、本地方法栈、程序计算器、堆区、方法区。虚拟机栈虚拟机栈也叫Java栈,存放的是一个个的栈帧,与C中的栈类似。每个栈帧对应一个被调用的方法,在栈帧中包括局部变量表、操作数栈、指向当前方法所属的类的运行时常量池

2016-09-26 23:37:48 443

原创 学习整理——正则表达式

正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、检查一个串是否匹配一个种类、将匹配的子串做替换、从某个串中取出符合某个条件的子串等。构造正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或

2016-09-21 16:04:28 421

原创 学习整理——Java集合Collection

参考:http://blog.csdn.net/snail_rao/article/details/7617810        http://developer.51cto.com/art/201105/264691.htm使用C++时,非常喜欢使用STL里面的数据结构,基本上是拿来主义。换到Java上,由于Java的引用与泛型,提供的便利更是有过之而无不及,jdk在java.util包中包

2016-09-21 00:48:15 578

原创 学习整理——Java序列化

能否将一个对象持久化,下次启动的时候能够获得之前保存的状态,而不是需要对象从零开始?能否在网络上直接传送一个对象,接收方在接收对象后直接使用?Java为这种场景提供了原生的支持——序列化。通过序列化,对象可以被编译成字节码储存在文件中,同时也可以从文件中还原出一个对象。Java序列化与反序列化Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复

2016-09-18 00:32:07 453

原创 项目的开发架构

由于没有参与一个大型的、要求性高的项目,自己之前对项目的架构不甚了解,很多时候是基于功能方面思考。但是对于一些项目,如果对项目本身有一个明确的架构认识,可以帮助自己从更高的层面上思考问题和具体实现方式,而不是仅仅完成当前功能那么简单。当别人问起的时候,没有一个架构打底,即使项目本身再优秀,当你说出来的时候,别人都不知道你在说什么。所以应当及时地记录下自己参与项目的架构、以及它的演变之路。

2016-09-16 13:47:44 1949

原创 Android Fragment学习

参考自:http://blog.csdn.net/lmj623565791/article/details/37970961FragmentFragment的出现是对Acitivity的解耦,提供更灵活的、易移植修改的界面方案。Fragment相当于Activity的一个组成部分,可以静态、动态地添加不同Fragment。Fragment还拥有自己的生命周期和接收、处理用户的事件,

2016-09-15 10:54:11 300

原创 Linux进程间通信

参考自——http://blog.csdn.net/21aspnet/article/details/7479469进程间的通信是操作系统中非常重要的知识,也是面试中经常涉及到的内容。这部分的内容比较羞涩难懂,只有动过手写一下才会更好地理解其中的原理和概念,当然本文涉及的是各个方法中基础的部分,旨在理解。Linux系统进程间通信方式有:1.信号;2.信号量;3.

2016-09-13 18:21:22 362

原创 学习整理——Java四种引用类型

参考:http://www.pocketcn.com/forum-viewthread-tid-1661-fromuid-1477.html从jdk1.2开始,Java把对象引用分为四个等级——强引用、软引用、弱引用、虚引用,每一种引用都有其应用的地方,提供高度灵活性给程序。强引用实际程序当中,强引用是使用最普遍的。一个对象拥有强引用,垃圾回收器绝不会回收它。当内存空间

2016-09-13 10:17:44 394

原创 学习整理——Java同步synchronized关键字

本文总结自:Java线程同步:synchronized锁住的是代码还是对象结论:1.synchronized修饰的非static方法其实是在执行方法前,先获取this对象的锁,如果对象锁被其他线程获取了,则进入阻塞状态;2.synchronized(mutex)修饰的代码段是先获取mutex对象的锁,然后再进入代码段,否则进入阻塞;3.对于synchronized修饰sta

2016-09-12 09:14:49 451

原创 学习整理——Java线程池

线程VS线程池为什么要使用线程池?我们知道,在Java创建并运行一个线程只需要实现run()方法并在合适时间点上调用start()方法即可。但是无法再表面看到的是,Java的Thread类调用native方法创建并运行一个线程需要多大的开销。如果在程序中需要有大量的线程执行,对于每一个线程都调用native去创建并运行,势必会造成很大的资源消耗,更多的计算资源集中在创建线程上,而这时线程池的出

2016-09-11 21:04:38 361

原创 学习整理——Java设计模式

Java设计模式,面试高频率问题,了解一下吧。参考:23种设计模式简单工厂模式:适用需要简单使用工厂的场景当中。简单工厂模式属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特

2016-09-09 14:37:50 577

原创 算法整理——2015腾讯开发岗笔试题

春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。打擂算法:传送门该算法很好地将一般需要O(nlogn)时间复杂度得到的结果减少成O(n),但是前提条件是出现最多的数的出现次数大于(不包括等于)集合中个数的一半。float mostEleme

2016-09-08 20:46:56 2126

原创 学习整理——Java类初始化顺序

Java类初始化顺序是一道典型的面试笔试题目,经常会遇到。由于记忆力不好,所以总是忘记刚学习的知识,简单验证一下增加印象。先说结论一个类被引入以及被创建实例,类内部执行的顺序是:父类静态变量、代码块——>子类静态变量、代码块——>父类成员变量、代码块——>父类构造方法——>子类成员变量、代码块——>子类构造方法。总结1.所有关于静态的数据、代码需要先被执行,包括父类

2016-09-08 16:24:54 382

原创 LCS阿里巴巴移动客户端笔试题

问题给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为 "acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。分析最长公共子串问题(Long Common String)

2016-09-05 00:45:02 432

原创 2016 CVTE 笔试编程题

问题给定一个有序数组和一个目标值,找出该目标值在这个数组里面的区域,若目标不存在于数组中,返回[-1, -1];例如:有序数组 1 2 3 4 5 6 6 6 6 给出目标值6,应当返回[5, 8] ;要求:时间复杂度O(Llogn)。思路看到有序数组和时间复杂度O(logn)时,第一反应就是二分查找。1.先二分查找出第一个与目标值相等的位置;2.在(1)的基础

2016-09-04 22:17:06 1158

原创 Linux下JNI尝试

Windows下Java调用本地方法采用的是dll(Dynamic Link library),而Linux下用的是.so文件,以下描述下调用的步骤。假设我在/home/jreffery/JavaTest/lib下,下面有目录结构cc/appweb/www/JniTest.java1.编写包含native方法的Java类:package cc.appweb.www;publ

2016-09-02 01:40:21 392

原创 算法整理——通过树的遍历顺序重建树

遍历前序遍历:对于树的每一个节点而言,先输出该节点的key,然后遍历左子树,最后遍历右子树;中序遍历:对于树的每一个节点而言,先遍历完左子树之后,才输出该节点的key,最后遍历右子树;后序遍历:对于树的每一个节点而言,先遍历完左子树,再遍历完右子树之后,最后才输出该节点的key。总结:序词(前,中,后)修饰的是根节点输出的位置,而右子树一定是后于左子树遍历。举例:前

2016-07-29 10:45:09 831

原创 算法整理——非对称密钥加密RSA数学相关与简单实现

RSA   RSA公钥加密算法是1977年由Ron Rivest、Adi Shamir和Leonard Adleman一起提出的,是目前最有影响力的公钥加密算法,能够抵抗到目前为止已知的绝大多数密码攻击。RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。加密方式是发送者采用

2016-07-28 08:55:34 1032

原创 数据结构——实现key为int类型的AVL树

AVLAVL在计算机科学中最先发明的自平衡二叉树,得名于它的发明者G.M. Adelson-Velsky, E.M. Landis。主要特点:AVL树种任何节点的两个子树的高度最大差别为1。为了保持该特点,AVL可以在进行插入或删除时,采用四种方式进行旋转,分别是LL, LR, RR, RL。说明1.该代码没有采用模板的形式实现,采用的key为int类型。事实上,任何能

2016-07-26 15:01:59 807

原创 算法整理——常用排序算法

CSDN的名言——编程之久,除算法和数据结构,啥都不属于我们。做完一些项目发现,编程最重要的还是算法还有数据结构,无关语言、框架。所以有感需要重拾一下一些算法。作为入口,希望排序带我不断地探索出去。——————————————以下实现均实现为升序排序————————————————冒泡排序算法思想很简单,通过两两比较,不断把较大的那个挤向边沿,形成有序序列。是稳定的排序,即

2016-07-24 12:28:39 395

原创 学习整理——html+css+js可拖动进度条

问题实现可拖动的进度条,类似于播放器那样。由于主要是应用在手机上,所以某些接口会因为浏览器内核的不同有所不同,没有做兼容性测试。Demo的平台为Android4.4,webview内核的话应该是chromium。模型在参考了网上一些代码后,决定实现模型如下(html):html 用的嵌套布局。

2016-06-22 13:20:14 16974

原创 日常开发——Service, Notification显示下载进度

最近做的一个小demo,启动Service并在Service里面创建一个线程来监听下载进度,更新notification的UI。当然,demo里面的下载并非是真正的下载文件,而是一个循环累加的数值,有兴趣的朋友可以添加真正的下载线程来调试。Demo做得比较简单,没有设置点击响应事件,所以是没有取消下载的,只能算是个小demo吧,有机会时再实现更多功能。MainActivity.java

2016-05-27 17:09:25 673

原创 日常开发——Android请求自定义证书的https

有时候为了app的数据安全,开发者会考虑使用https来进行数据传输。在安卓上,原生的HttpsURLConnection和WebView只支持那些得到安卓系统承认的证书的站点。如果请求那些使用未通过系统认证的证书的站点,则系统会报错。对于个人开发者来说,申请正规的证书性价比不高,每年都需要不少的费用,而且开发阶段会被申请流程阻塞,所以使用自定义的证书就好。现在的问题是怎么让app绕过系统的证书认

2016-05-24 11:15:22 1757

原创 日常开发——Android网络请求openConnection()源码分析

问题        最近项目需要一个下载的功能,所以在安卓端实现了一个普遍的下载功能模块。但Protal admin端发来信息说,怎么安卓端cal了l两次下载接口,当时以为是代码写错了,改了几次之后发现问题还在。经过网上搜索以及源码分析之后,才知道这是安卓或者说Java封装API的原因。安卓端,使用Thread实现一个http get请求普遍方法:@Override publi

2016-05-13 13:25:29 4137

原创 学习整理——多进程和多线程概念理解

进程一个进程,包括了代码、数据和分配给进程的资源(内存)。在计算机系统里直观地说一个进程就是一个PID,操作系统保护进程空间不受外部进程干扰,即一个进程不能访问到另一个进程的内存。有时候进程间需要进行通信,这时可以使用操作系统提供进程间通信机制。通常情况下,执行一个可执行文件操作系统会为其创建一个进程以供它运行。但如果该执行文件是基于多进程设计的话,操作系统会在最初的进程上创建出多个进程出来,

2016-05-06 10:12:14 7178

原创 学习整理——以太帧、ip帧、udp/tcp帧、http报文结构

从最简单的一个http请求开发,根据TCP/IP协议,分开来看每一层的数据帧结构,以及它们是怎样承担起网络服务得。协议栈因特网协议栈共有五层:1.应用层,是网络应用程序及其应用层协议存留的地方。因特网的应用层包括许多协议,常见的有HTTP(它为web文档提供了请求和传送)、SMTP(它提供了电子邮件报文的传输)和FTP(它提供了两个端系统之间的文件传送)。2.传输层,负责为信源和信

2016-04-28 09:56:24 38968 3

原创 学习整理——从安卓源码上看Activity

安卓开发的四大组件是Activity, service, broadcast receiver, 和content provider。作为业余的开发者,可能不需要太深入理解这些组件的内部实现,以及运行机制。但是如果想要在这方面有所进阶的话,这些实现的源码还是要啃的。本文将从官方源码上讲一下对activity的理解。官方对Activity的开头描述为:

2016-04-27 13:45:15 2712

原创 配置整理——ubuntu下配置网络抓包库libpcap

TcpDump可以将网络中传送的数据包完全截获下来分析。它支持网络层、协议、主机、网络和端口号的过滤,并提供and, or, not等逻辑语句来帮助你去掉无用的信息。在Linux下,TcpDump依赖的是一个强大的网络抓包库——pcap。这个抓包库给抓包系统提供一个高层次的接口。所有网络上的数据包,包括发给其他主机的,通过使用该库,都能够抓获下来。开发者/使用者需要熟悉各种层次下的各种协议,如果深入到Linux内核,可以发现系统中网络程序的是怎样运行,以及pcap抓包的原理。以下简单讲一下怎么在Ubuntu

2016-04-23 17:46:17 1628

原创 算法整理——非递归归并排序

递归是个好东西,可以将一个大问题分拆成多个小问题。只要处理好每一个小问题、以及小问题合并成大问题的操作,基本就算是完成了,而程序需要写解决小问题的代码即可。但递归有时候也会有缺陷,如果递归层数控制不好、或者递归过程中生成了大量变量,容易造成栈溢出。尤其在工程中,栈溢出的问题是需要极力避免的。      常用的归并排序是使用递归的方式,将排序序列一层一层拆分成一半,完成一层的排序后再回调给上一层

2016-04-21 13:28:22 1052

原创 学习Java垃圾回收机制

Java垃圾回收的意义与缺点不像C/C++语言一样,Java为创建对象申请的内存不需要编程人员进行显式的删除,而是由JVM进行内存监测并自动为无用的对象释放内存。

2016-04-20 17:05:03 451

原创 使用Crypto++加解密类库实现密码管理系统

Crypto++是一个免费的加解密类库,集成了很多的加解密算法,如des, aes, rsa等基础加密算法。本文主要一下本人最近实现的一个密码管理器,编译环境是32位Ubuntu,主要实现了多用户系统,可以创建用户、创建完成之后将密码经过HMAC存入用户文件、用户登录后需要对用户文件进行完整性检测保证外部修改、添加删除修改查看密码记录、记录以(域名、aes加密后密码、前两者结合的HMAC)形式存入

2016-04-19 22:26:39 2176

抢红包Android端助手

红包提醒、群红包区分、群红包预测、常亮模式、记录助手,后续还有更多的功能开发中,有什么意见都可以通过App上进行反馈,期待你的下载!

2020-02-04

红包助手-修改版1.2

自动抢微信红包,不错过任何手气。

2017-04-11

红包助手-修改版1.1

自动抢红包。

2017-03-28

红包助手-修改版

本插件是红包助手的修改版

2017-02-19

空空如也

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

TA关注的人

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