自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个热爱编程的少年

一点一点积累

  • 博客(22)
  • 问答 (4)
  • 收藏
  • 关注

原创 极验滑动验证码geetest.6.0.1破解

极验滑动验证码geetest.6.0.1破解目前在某小公司的大数据组实习,第二个爬虫练习就是工商的爬虫gsxt.gov.cn。与第一个爬虫练习不同,第一个的爬虫练习,验证码是图片,思路就是下载图片下来,人工输入验证码,提交参数,继续爬虫。而这个涉及到了滑动验证码,验证的参数并不是那么容易获取。于是站在前人的肩膀上,找到了以下超详细的教程,前面重复的东西就不写了,直接看大佬的文章吧。但是,该教程的验证

2017-11-25 19:25:46 9703 13

原创 Handler机制源码解析

Handler提供了两种方式解决问题(在一个新线程中更新主线程中的UI控件),一种是调用sendMessage方法,一种是通过post方法。sendMessage方法通常会重写handleMesaage方法在另一个线程下调用sendMessage方法(或者其他sendMessageXXX系列方法)在handleMessage方法中处理信息post方法调用post系列的方法,传入参数是Runnab

2017-04-01 14:24:26 1152

原创 Android studio下使用 NDK 之 Hello world

最后结果目的:1.学会如何使用Android studio创建一个native project2.学会如何在Android studio下使用Java调用本地语言(C/C++)1、首先创建一个普通的Project一值next,直到最后直接运行,是最开始的HelloWorld打开设置->Build,Execution,Deploym->Gradle选择”Use Default Gradle wrapp

2017-03-26 17:05:31 1252

原创 死锁

死锁腾讯一面被问到死锁的问题,回答不好,基础知识还不够扎实没有牛逼的项目,没有牛逼的获奖经历,那就需要好的发指的基础来撑了补一下基础:在计算机系统中有很多独占性资源,在任一时刻它们都只能被一个进程使用大部分死锁跟资源相关。资源分为可抢占资源和不可抢占资源,总的来说,死锁和不可抢占资源有关。因为可抢占资源潜在的死锁通常可以通过在进程之间重新分配资源而化解。所以重点应该是不可抢占资源。若请求资源不可用时

2017-03-26 15:20:08 426

原创 算法排序总结

排序算法总结算法的稳定性:如果待排序表中有两个元素Ri、Rj,其对应的关键字Ki=Kj,且在排序前Ri在Rj前面,如果使用某一排序算法排序后,Ri仍然在Rj的前面,则称这个排序算法是稳定的,否则称排序算法是不稳定的。首先,需要用到的一些公共函数,放在一个抽象父类里面public abstract class BaseSort { //可传入任何实现Comparable接口的数据类型

2017-03-26 15:13:40 332

原创 AsyncTask源码分析

AsyncTask源码分析当使用到线程处理网络操作或者其他需要用到线程的时候,经常会用到AsyncTask来进行异步操作.以下是常用的几个方法./* * 第一个参数类型,是doInBackground所接收的参数类型 * 第二个参数类型是onProgressUpdate所接收的参数类型 * 第三个参数类型是doInBackground返回的参数类型,也是onPostExecute接收的参数类

2017-03-22 00:26:05 313

原创 golang 建立web服务器 http包源码详解

golang 建立web服务器 http包源码详解首先,熟悉http协议的都知道,http协议是基于TCP实现的。http服务器的工作方式大概就是监听socket端口,接受连接,获取到请求,处理请求,返回响应。所以,对应的会有几个部分Request:用户请求的信息。post、get、url等这些信息Response: 返回给客户端的信息Conn: 用户每次的连接请求Handler:处理

2017-02-16 04:21:04 4213

原创 关于Service的使用

Service是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。服务基本上分为两种形式:启动 当应用组件(如 Activit

2016-08-28 23:19:54 593

原创 Android成长之路(8)——ListView优化和自定义Adapter的应用

最近,在一个小项目中,发现ListView绝对是最常用的控件之一。通常,有ListView的地方,就会有自定义的Adapter。在这里,顺便就梳理一下ListView的使用和优化还有了解Adapter中的一些方法。简单的效果图 简单来说,在主界面添加好ListView之后就是下面几步 1、定义一个类。根据面向对象的思想,把List中的一个项抽象成一个类。 2、ListView的布局。比如说每一

2016-05-26 23:49:38 509

原创 Android成长之路(7)——关于隐式Intent的用法

Android其中最重要的特性之一,就是一个应用可以基于“action”来切换到另一个应用。比如,你的应用想要查找地方,在地图上显示。但是不一定要创建一个activity来显示地图,可以使用Intent发起一个请求来查看地址,然后Android系统会启动一个可以显示地图的应用。之前,会使用到显式的Intent来让一个activity跳转到另一个activity。但是,当想要跳转到一个独立的应用时,比

2016-05-20 15:03:43 8318

原创 Java技术核心卷I学习笔记——继承

——类、父类、子类关键字extends表示继承。 在Java中,所有的继承都是公有继承。 子类中的方法不能直接访问父类的私有域super关键字: 1.调用父类的方法 2.调用父类的构造器如果子类的构造器没有显式地调用父类的构造器,则将自动地调用父类的默认构造器。如果父类没有不带参数的构造器,而子类的构造器中又没有显式地调用父类的其他构造器,则Java编译器将报告错误。一个对象变量可以引用多种

2016-05-18 10:55:00 450

原创 Android成长之路(6)——数据持久化处理

保存key-value对——SharedPreferences 如果有比较小的数据是key-value的关系,这些数据需要储存,那么就可以用到ShardPreferences。一个SharedPreferences对象指向一个包含key-value对的文件,它提供一些简单的方法读和写。每个SharedPreferences文件,可以是私有的也可以是共享的。

2016-05-15 01:04:55 6050

原创 Android成长之路(5)——了解Fragment

简单的效果图如下:现在利用碎片实现一个简单的动态UI,点击左边标题栏的标题,然后左边正文栏显示对应的文章1、在activity_main.xml布局中添加两个Fragment。 一个对应左边的标题栏,一个对应右边的正文栏LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andr

2016-05-09 23:03:30 1796 2

原创 Java技术核心卷I学习笔记——类与对象

——封装对象中的数据称为实例域,操纵数据的过程称为方法 实现封装的关键在于绝对不能让类中的方法直接访问其他类的实例域。“黑盒”特征,这是提高重用性和可靠性的关键。类之间最常见的关系: 依赖(”uses-a”) 如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类 应该尽可能地将相互依赖的类减至最少,就是让类之间的耦合度最小 聚合(”has-a”) 聚合关系意味着类A的对象包含

2016-05-03 13:59:18 565

原创 Java的对象是采用值传递还是引用传递?

关于Java中的值传递我一开始是有点搞混的值传递表示传递的是调用者的值 引用调用表示传递的是调用者提供的变量地址所以重新再梳理一下package Test;public class Test { public static void main(String[] args){ Test test = new Test(); Student stu_a = tes

2016-04-30 13:59:58 1351

原创 Android成长之路(4)——Activity的生命周期(2)

停止和重新启动Activity适当地停止和重新启动Activity在生命周期里是非常重要的,这确保了用户回到app时感觉它一直都还在,并且不会丢失过程中的进度。关于Activity被停止或者重新启动有以下几种情况: 1、用户从当前发app切换到另一个app,那么当前在前台的Activity就会被停止。如果用户从其他app回到你的app或者点击界面图标回到你的app,那么app中的Acti

2016-04-26 16:27:32 435 2

原创 Java技术核心卷I学习笔记——基本的程序设计结构

——数据类型Java对大小写敏感类名必须以字母开头,后面跟字母和数字随意组合。标准命名规范,类名是以大写字母开头的名词4种整型: int 4字节 short 2字节 long 8字节 byte 1字节2 种浮点类型: float 4字节 double 8字节char类型 在Java中,char类型用UTF-16编码描述一个代

2016-04-25 20:42:10 449

原创 Android成长之路(3)——Activity的生命周期(1)

当用户在用一个App的时候,Activity会在生命周期不同的状态下转换。当用户离开或重新回到一个Activity,我们可以在生命周期的回调函数中来写一些相关的操作。比如,如果用户打开了一个视频播放器,当他直接切换到另外一个App,这时候应该使播放器暂停,断开获取视频资源的网络连接。当用户回来,我们要重新连接网络获取视频资源,让用户在刚才暂停的位置开始重新观看。接下来,开始去了解非常重要的生命周期的

2016-04-24 23:09:23 3424 4

原创 Android成长之路(2)——简单地使用Intent

接下来会在MainActivity里面添加代码,当按下一个Send按钮就可以开始一个新的activity 上一次已经写好了一个布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xm

2016-04-10 16:57:15 655

原创 Android 成长之路(1)——创建第一个App

创建一个Android Project本人使用的是Android Studio。 按照指示一步步,最后finish就好了。不过这过程中有一步需要选择 Minimum SDK 这里我选择了API 8: Android 2.2 (Froyo),为了支持多种版本的设备,选择可以使app提供它的核心特性的最低版本。然后我们先来看看目录结构和build.gradle文件app/src/main/res/l

2016-04-09 13:15:46 898

原创 Android-oauth2.0

最近需要用到oauth2.0来实现第三方登录,也就是我们常用的QQ登录其他软件,这几天也是看了很多资料,也看了很多其他大神的博客,略懂了一些。oauth2.0是什么?(一开始不了解,一脸懵逼。。。) 官网的解释: 什么?英文不好?!!四六级没过?!没关系百度的: OAuth(即Open Authorization,开放授权),它是为用户资源授权提供了一种安全简单的标准,也就是说用户在访

2016-03-21 17:11:21 2482 1

原创 关于Java小项目——图书管理系统的总结

关于Java小项目——图书管理系统的总结一、开发环境eclipse + widowbuilder二、涉及到的技术Java MVC模式SwingMySQLJDBCJava MVC模式M——Model(模型)。用于处理应用程序数据逻辑的部分。建立相关的类来连接数据库存储数据,例如用户类,图书类,图书类别类,把能够抽象化成一个一个的类写在这一部分 V——View(视图)。所有用户看到的界

2016-02-19 23:02:39 11681 4

空空如也

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

TA关注的人

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