自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

看风景的博客

点滴积累,量的不断增加,一定会发生质的变化

  • 博客(70)
  • 收藏
  • 关注

原创 获取DNS解析时间

结论:在6.0及一下的系统中,系统代码中没有hook点,所有解析dns的方式都是通过调用静态方法的方法完成的,所以6.0及以下系统是拿不到dns的解析时间的,但是在7.0及以上系统中 拿到了dns的解析时间方法:在7.0手机尝试 通过设置错误的host 找到系统解析dns的方法,如下图 发现系统进行dns解析的主要方式是利用InetAddress类中的方法getAllByName(S...

2018-09-20 16:43:19 5097

原创 自定义跑马灯,可以绑定任意布局

package com.biyao.ui;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.ViewFlipper;import java.u...

2018-05-17 18:57:40 365

转载 用命令行使用7z压缩

import android.content.Context;import android.os.AsyncTask;import com.dongnao.a7zipandroid.command.CommandUtils;import java.io.BufferedReader;import java.io.File;import java.io.IOException;imp

2018-02-07 15:56:21 812

原创 apk反编译工具

反编译常用工具:apktoolhttps://ibotpeaches.github.io/Apktool/平常开发中,主要资源文件的获取(AndroidManifest/res等)解包:java -jar apktool_xx.jar d *.apk -o out重打包:java -jar apktool_xx.jar b out -o *.apkdex2jarht

2018-01-22 15:37:35 262

原创 Android长图处理

package kui.lin.longimage;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapRegionDecoder;import android.graphics.

2018-01-17 17:52:37 1248

转载 App启动速度优化

https://segmentfault.com/a/1190000007406875#articleHeader20启动定义当手指点击app图标 到加载第一个页面为止trace文件分析http://www.ituring.com.cn/article/273967启动类型http://www.jianshu.com/p/c967653a9468工欲善其

2017-12-28 17:32:49 326

转载 大整数和大浮点数的使用

Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数:1.valueOf(parament); 将参数转换为制定的类型比如 int a=3;BigInteger b=B

2017-12-26 16:33:32 656

原创 RSA加解密

import org.junit.Test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.security.Key;import

2017-12-26 16:32:10 200

原创 希尔排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 希尔排序 * Created by linyaokui on 17/12/8. */public class ShellSort { @Test public void test(){ int[] array=new int[]{3

2017-12-08 16:35:20 137

原创 插入排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 插入排序 * Created by linyaokui on 17/12/8. */public class InsertSort { @Test public void test(){ int[] array=new int[]{

2017-12-08 16:12:24 112

原创 归并排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 归并排序 适合链表性数据 * Created by linyaokui on 17/12/4. */public class MergeSort { @Test public void testMerge(){ int[] arra

2017-12-04 20:15:40 137

原创 快速排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 快速排序 * Created by linyaokui on 17/12/4. */public class QuickSort { @Test public void testQuickSort(){ int[] array=ne

2017-12-04 20:10:30 143

原创 二分查找法

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 二分查找法 * Created by linyaokui on 17/12/4. */public class BinarySearch { @Test public void testBinarySearch(){ int[] a

2017-12-04 17:55:10 155

原创 汉诺塔

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 递归实现汉诺塔 * * Created by linyaokui on 17/11/28. */public class Hanoi { @Test public void test(){ hanoi(3,1,2,3);

2017-11-28 20:03:17 242

原创 菲波那切数列

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 递归实现菲波那切数列 * * Created by linyaokui on 17/11/28. */public class Fibonacci { @Test public void test(){ System.out.pr

2017-11-28 19:53:39 383

原创 选择排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 选择排序 * * Created by linyaokui on 17/11/28. */public class SelectSort { @Test public void test(){ int[] array = {5,4

2017-11-28 19:47:41 123

原创 冒泡排序

package lsn1.sjjg.cct.cn.lsn1;import org.junit.Test;/** * 冒泡排序 * 适合所有排序数量小于8的排序 * Created by linyaokui on 17/11/28. */public class BubblingSort { @Test public void test(){ i

2017-11-28 19:30:24 233

原创 Android流式布局

import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.List;/** * 流式布局 * * 用法 *

2017-11-06 15:55:55 383

原创 gradle android的task任务配置

/** * 创建任务 */task A{ //后执行 doLast{ println 'last' } //先执行 doFirst{ println 'first' } doLast{ println 'last1' } doFirst{ print

2017-09-30 14:42:41 636

原创 gradle android的依赖配置dependencies

/** * 配置仓库 */repositories{ //本地扁平目录仓库 flatDir{ dir('libs') } jcenter()}/** * 自定义dependencies过滤组 * 因为dependencies只支持基本的风味分组 比如free x86 arm等 不支持组合 * 这样定义后就支持组合了 */con

2017-09-26 20:24:19 2429

原创 gradle android基本配置详解

apply plugin: 'com.android.application'android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { /** * 属性的配置 */ applicationId "cct.cn.g

2017-09-24 21:19:37 1705 1

转载 cmake语法简介

转自:https://my.oschina.net/u/1046919/blog/477645已hello.cpp为源文件,构建一个CMakeLists.txtcmake_minimum_required(VERSION 2.8)project(hello)add_executable(hello hello.cpp)在目录中的build 文件夹中进行cmake ..和make ,

2017-09-17 20:20:55 403

原创 Groovy xml生成和解析

import groovy.xml.MarkupBuilderimport groovy.xml.StreamingMarkupBuilder//生成器//1def fw = new FileWriter(new File("normal.xml"))def builder = new MarkupBuilder(fw)builder.html{ head("hello",m:

2017-09-01 16:53:25 668

原创 Groovy Json生成器和解析器

import groovy.json.JsonBuilderimport groovy.json.JsonOutputimport groovy.json.JsonSlurper//Json生成器def builder = new JsonBuilder()builder.json { first 'lance' last 'haha'}println builde

2017-09-01 15:49:13 697

原创 Groovy动态创建类、方法合成、方法委托

/** * 动态生成类 */def expando = new Expando(name : 'hello',fun1:{int a,int b -> a*b})expando.height = 100expando.fun2 = { int a,int b-> a+b}println expando.nameprintln expando.heightp

2017-08-31 18:00:24 3242

原创 Groovy方法注入

//分类注入//1class Req{ static def get(String self){ self.toURL().text }}use(Req){ println "https://www.baidu.com/".get()}//[email protected](String)class StringUtil{

2017-08-31 16:24:44 910

原创 Shell语句 for、while、case、if、输出重定向、grep查询用法

shell脚本Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令。Shell脚本和编程语言很相似

2017-08-29 15:44:21 1459

原创 阿里云tomcat配置 jdk下载 环境变量配置

下载jdk wget http://mirrors.linuxeye.com/jdk/jdk-8u121-linux-x64.tar.gz下载tomacatwgt http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz解压tar

2017-08-29 15:35:18 364

原创 Shell语句 基本用法

清空命令行:reset文件操作:显示列表ls -l ls -la 所有ls -l ja* 通配符查找创建文件touch today.c复制文件cp src.txt dest.txtcp -i src.txt dest.txt 询问cp src.txt . 复制到当前目录cp -R 目录 dest 复制整个目录到指定路径cp c_?1

2017-08-29 15:31:25 395

原创 C++ 模板函数 和 模板类

#include using namespacestd;//模板函数template typename T>void mySwap(T &a, T &b){    T temp;    temp = a;    a = b;    b = temp;    cout"模板T"endl;}//模板类template typename

2017-08-24 17:09:26 145

原创 C++ 友元函数 友元类

#include #include using namespacestd;//友元函数class Girl{public:    friendvoid changeAge(Girl *girl,int age);// 友元函数    friendclass Boy; //友元类    int tell();private:

2017-08-24 16:21:53 175

原创 groovy元编程 方法拦截 动态改变

//元编程/** * 只要实现了 GroovyInterceptable接口 * 调用所有方法时 都会先调用invokeMethod方法 *//*class Person1 implements GroovyInterceptable{ def name def dream(){ System.out.println('i have a dream')

2017-08-24 15:36:39 1174

原创 groovy调用脚本方法

import groovy.transform.TypeChecked//脚本作用域//def name = 'aa'//pwd = 123args = []args[0] = 'email.groovy'println binding.variables//在另一个脚本中调用一个脚本evaluate(new File('script.groovy'))//类中调用

2017-08-23 18:43:33 5569

原创 groovy动态语言

import groovy.transform.CompileStaticimport groovy.transform.TypeChecked//动态语言测试/** * @TypeChecked 检测语法 * respondsTo 检测是否实现了某个方法、 * hasProperty 检测是否含有某个属性 * @CompileStatic 静态加速运行速度 */clas

2017-08-23 18:39:40 730

原创 C++ 基础 命名空间 类头文件 类的实现写法

//命名空间 ::namespace TestNameSpace {    struct Teacher{        int a;    };}using namespaceTestNameSpace;int main(){    TestNameSpace::Teacher teacher;    teacher.a =10;}

2017-08-22 11:30:29 740

原创 groovy运算符重写

//操作符重载class Rmb { def number //重写+ def plus(o) { if (o instanceof Number) { new Rmb(number: number + o) } else if (o instanceof Rmb) { new Rmb(nu

2017-08-18 15:38:45 461

原创 groovy方法调用

//类的方法调用 可以用闭包代替接口class Person{ def name def age public def getName() { return name + "_lin" } public void setName(def name) { this.name = name } def ex

2017-08-18 15:30:21 3241

原创 groovy闭包基本用法

//闭包 基本用法def closure_my = { println 'groovy'}//调用闭包closure_my.call()closure_my()//闭包能默认接收一个参数closure_my('hello closure')//闭包接收多个参数def closure1 = { i,j -> println 'groovy' p

2017-08-17 16:12:45 558

原创 groovy map集合使用

def map = [a:'aa',b:'bb',c:11]println map.aprintln map['a']println map.'c'/** * 遍历元素 * 返回 * a=aa * b=bb * c=11 */map.each { key,value-> println "${key}=${value}"}/** * 取出集合

2017-08-16 18:01:20 2889

原创 groovey list集合使用

//创建 调用 修改 def lst = [] //创建ArrayList def lst1 = [] as LinkedList //创建LinkList def lst2 = [1,2,3,2,3,2] println(lst2[1]) println(lst2[-1]) // -1倒过来取值 def lst3 = lst2[0..2] lst3[2] = 100 print

2017-08-16 18:00:27 880

空空如也

空空如也

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

TA关注的人

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