- 博客(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
5229
原创 自定义跑马灯,可以绑定任意布局
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
415
转载 用命令行使用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
870
原创 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
287
原创 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
1285
转载 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
374
转载 大整数和大浮点数的使用
Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数:1.valueOf(parament); 将参数转换为制定的类型比如 int a=3;BigInteger b=B
2017-12-26 16:33:32
704
原创 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
239
原创 希尔排序
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
165
原创 插入排序
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
151
原创 归并排序
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
172
原创 快速排序
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
184
原创 二分查找法
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
186
原创 汉诺塔
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
273
原创 菲波那切数列
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
423
原创 选择排序
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
147
原创 冒泡排序
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
312
原创 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
413
原创 gradle android的task任务配置
/** * 创建任务 */task A{ //后执行 doLast{ println 'last' } //先执行 doFirst{ println 'first' } doLast{ println 'last1' } doFirst{ print
2017-09-30 14:42:41
702
原创 gradle android的依赖配置dependencies
/** * 配置仓库 */repositories{ //本地扁平目录仓库 flatDir{ dir('libs') } jcenter()}/** * 自定义dependencies过滤组 * 因为dependencies只支持基本的风味分组 比如free x86 arm等 不支持组合 * 这样定义后就支持组合了 */con
2017-09-26 20:24:19
2489
原创 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
1752
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
438
原创 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
706
原创 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
777
原创 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
3325
原创 Groovy方法注入
//分类注入//1class Req{ static def get(String self){ self.toURL().text }}use(Req){ println "https://www.baidu.com/".get()}//2@groovy.lang.Category(String)class StringUtil{
2017-08-31 16:24:44
979
原创 Shell语句 for、while、case、if、输出重定向、grep查询用法
shell脚本Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令。Shell脚本和编程语言很相似
2017-08-29 15:44:21
1600
原创 阿里云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
396
原创 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
423
原创 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
193
原创 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
198
原创 groovy元编程 方法拦截 动态改变
//元编程/** * 只要实现了 GroovyInterceptable接口 * 调用所有方法时 都会先调用invokeMethod方法 *//*class Person1 implements GroovyInterceptable{ def name def dream(){ System.out.println('i have a dream')
2017-08-24 15:36:39
1251
原创 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
5633
原创 groovy动态语言
import groovy.transform.CompileStaticimport groovy.transform.TypeChecked//动态语言测试/** * @TypeChecked 检测语法 * respondsTo 检测是否实现了某个方法、 * hasProperty 检测是否含有某个属性 * @CompileStatic 静态加速运行速度 */clas
2017-08-23 18:39:40
772
原创 C++ 基础 命名空间 类头文件 类的实现写法
//命名空间 ::namespace TestNameSpace { struct Teacher{ int a; };}using namespaceTestNameSpace;int main(){ TestNameSpace::Teacher teacher; teacher.a =10;}
2017-08-22 11:30:29
804
原创 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
504
原创 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
3321
原创 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
595
原创 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
2924
原创 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
934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人