自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

怪咖先森的博客

小蜗牛,慢慢爬

原创 写给还在迷茫中挣扎的你

有一天你将破茧成蝶,成长的比人们期待的还要美丽,但这个过程会很痛苦,会很辛苦,有时候还会觉得很灰心。面对汹涌而来的现实世界,觉得自己渺小无力,这也是生命的一部分,做好现在你能做的,然后一切都会好的。...

2016-11-25 22:47:45 491 0

原创 Android gradle 编译加速

gradle.properties: org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true #...

2020-05-27 09:49:49 41 0

原创 .aar 文件修改

1. 背景 1.1 升级 gradlePlugin version 后编译报错 项目中 gradlePlugin version 从3.5.3 升级到 3.6.0 之后编译报错: jarfile\res\mipmap-xhdpi-v4\allimage_gotoback.png: AAPT: er...

2020-05-14 13:30:35 41 0

原创 Git checkout remote branch

执行 git fetch origin 使用如下 git 命令查看所有远程分支 git branch -a checkout git checkout -b xxxx(本地分支名称) yyyy(上条命令查找到的远程分支的名称) 检查下 本地分支是否创建成功 git branch...

2020-04-23 10:57:41 189 0

原创 Android -- ARGB 的透明度16进制参考表

Android——ARGB的透明度A的16进制参考表 <color name="base_color_fff8f8f8">#FFF8F8F8</color> # 号后面的前两个值就代表透明度 透明度 16进制 0% FF (不透明)...

2020-04-21 21:22:03 58 0

原创 初识 Kotlin (七) ---- kotlin 与 Java 代码互调

1. Java 与 Kotlin 交互的语法变化 1.1 Java 调 Kotlin Utils.kt -> 这是 kotlin文件 fun echo(name:String){ println("$name") } Main.java public static v...

2019-12-25 12:54:01 57 0

原创 初识 Kotlin (六) ---- 类成员初始化

类成员初始化 订单类Order class Order (var orderId:String){ } 用户类User open class User(username: String, age: Int) { //lateinit代表延迟初始化 lateinit var us...

2019-12-19 14:06:15 39 0

原创 python 删除指定文件夹下特定格式文件的方法

#!/usr/bin/python # -*- coding: utf-8 -*- import os def del_files(path): for root, dirs, files in os.walk(path): for name in files: ...

2019-12-08 21:20:16 94 0

原创 继承和接口的区别,抽象类和接口的区别

文章目录1. 继承和接口的区别1.1 面向对象的角度1.2 继承和接口使用上的区别示例2. 抽象类和接口之间的区别2.1 什么是抽象类和接口2.2 特点与区别抽象类的特点接口的特点区别参考链接 主要需要解决的问题: 继承和接口的区别 抽象类和接口之间的区别? 什么时候创建抽象类?什么时候创建接...

2019-11-21 15:37:03 58 0

原创 ButterKnife 源码解析 (三) -- 手写 ButterKnife 实现无性能损耗的编译时框架

2. ButterKnife 为什么执行效率为什么比其他注入框架高? ButterKnife 使用了注解处理技术,可以自动生成相应代码,一是为了提高编码的效率,二是避免在运行期大量使用反射,通过在编译期利用反射生成辅助类和方法以供运行时使用。 3. 自定义注解处理器 了解了基本的知识点后,我们应该...

2019-11-13 14:04:22 30 0

原创 ButterKnife 源码解析 (二)-- Java 文件结构化文本详解

文章目录1. APT (Annotation Processing Tool)2. 结构体语言2.1 PackageElement2.2 ExecuteableElement2.3 TypeElement2.4 VariableElement2.5 需要掌握的 API 1. APT (...

2019-11-12 17:18:04 30 0

原创 ButterKnife 源码解析 (一)

文章目录1. ButterKnife 的优势2. APT 和 IoC 架构的区别3. ButterKnife 用法4. ButterKnife 原理4.1 代码中简单使用示例4.2 源码分析4.3 再从生成的 MainActivity_ViewBinding 类分析 1. ButterKnife...

2019-11-12 11:30:06 118 0

原创 初识 Kotlin (六) ---- Kotlin 中的主构造方法和从构造方法

Kotlin的构造函数分为主构造器(primary constructor)和次级构造器(secondary constructor)。下面我们来看看他们的写法 1. Primary Constructor 1.1 写法规则 class 类名 constructor(形参1, 形参2, 形参3){...

2019-11-06 16:15:35 37 0

原创 初识 Kotlin (五) ---- Kotlin 中 的单例模式

六种单例模式 饿汉模式 懒汉模式 线程安全的懒汉模式 双重校验锁式 静态内部类式 枚举式 1. 饿汉模式: static final field 既然饿,那么在创建对象实例的时候就比较着急,于是在装载类的时候就创建对象实例 这种方法非常简单,因为单例的实例被声明成 static 和 final...

2019-11-06 15:30:47 25 0

原创 初识 Kotlin (四) ---- 获取 Kotlin 中 class 的实例

Kotlin的类 class Lizi { var name: String = "" var age: Int = 0 companion object { } } 对于 Kotlin 的 class 要知道获取的到底是什么,可以利用 A...

2019-11-06 14:47:46 1179 0

原创 初识 Kotlin (三) ---- 零散的一些知识点

1. 如何定义静态变量、方法 java public class Singleton{ private static Singleton instance = ...; public static Singleton getInstance(){ ... ...

2019-11-06 14:45:51 23 0

原创 初识 Kotlin (二) ---- lateinit vs lazy

Kotlin Property Initialization 在使用 kotlin开发中,因为各种原因,我们会经常需要使用到延迟加载的功能(不在构造函数中初始化属性),目前kotlin的延迟加载主要有两种:lateinit 和 lazy lateinit // 声明一个string变量 ...

2019-11-06 13:35:25 47 0

原创 初识 Kotlin (一)

1. kotlin 文档 官方文档 kotlin 菜鸟教程 2. from java to kotlin 2.1 打印日志 Java System.out.print("Amit Shekhar"); System.out.println("Amit Shek...

2019-11-06 11:58:31 29 0

原创 为什么子线程都不能刷新UI?

1. 理论上的原因 1.1 Android主线程是线程不安全的? 网上文章常常有说:Android主线程是线程不安全的。我就纳闷了,线程还有安全一说? 不能说主线程是线程不安全。线程没有安全不安全这一说。而是更新UI的方法不是线程安全的,即只能在单线程中完成UI的更新,不能使用多线程。(为什么...

2019-11-04 17:38:53 103 0

原创 SharedPreference.Editor 的 apply 和 commit 方法异同

1. apply方法在 官方SDK说明 如下: Commit your preferences changes back from this Editor to the SharedPreferences object it is editing. This atomically performs...

2019-11-04 11:40:38 23 0

转载 深入解析 SharedPreferences

一. 概述 SharedPreferences 是Android中很常用的数据存储方式,SP 采用 key-value形式, 主要用于: 轻量级的数据存储, 尤其适合保存应用的配置参数 不建议使用SP 来存储大规模的数据, 可能会降低性能 SP 采用 xml 文件格式来保存数据, 该文件所在...

2019-11-04 11:24:00 50 0

原创 findViewById 原理

有人问了 findViewById 到底做了什么事情,有点懵逼,在此深入研究以下 findViewById 流程图 1. Activity 的 findViewById 点进去看源码进入 Activity.class 类里的方法: /** * Finds a view tha...

2019-10-16 15:05:17 69 0

原创 Android Studio 项目提升编译速度

大多数 Android 工程都是基于 Gradle 工具进行构建和编译的,大型项目构建时间可能会耗时很久,这时候我们可以进行优化、减少构建时间。 1. 分析问题 Gradle 官方在最近的版本更新中推出了一个神器 build scan,可视化的深入分析和诊断所有构建相关的数据,并基于此分析结果帮助...

2019-10-15 20:06:59 27 0

原创 电脑最大支持内存

打开命令行查询: C:\Users\username>wmic memphysical get maxcapacity MaxCapacity 33554432 最大支持内存 33554432/1024/1024 = 32G

2019-10-11 16:27:27 26 0

原创 运行 .bat 脚本 命令行闪退

症状 安装 Tomcat 之后运行 startup.bat 命令行闪退 方案 打开 startup.bat 文件,在文件最后添加一行 pause,表示暂停,就可以看到命令行中的报错信息了

2019-09-23 10:54:28 1570 0

原创 mybatis入门 (一)

1. 环境配置 环境搭建 demo idea创建maven,maven的GroupId,ArtifactId IDEA Maven配置 IDEA中Maven配置浅析 Intellij IDEA 添加jar包的三种方式 2. 整体项目的 hello_world 代码 mybatis 初步使用(...

2019-09-22 22:19:24 31 0

原创 js 比较时间日期大小

逻辑思路 得到标准的字符串格式的日期,一般我们的字符串格式的日期,大多是这样:2015/01/12 or 2017-8-13,前者是比較标准的字符串格式,后者在火狐下直接使用 Date.parse() 方法会报错, 所以为了兼容所有的浏览器,我们先要把日期字符串格式全部转成前者统一下,...

2019-09-06 10:08:45 1198 0

原创 jQuery 获取内容、属性及相关设置操作

1. jQuery 获取 内容和属性 text() 设置或返回所选元素的文本内容 html() 设置或返回所选元素的内容(包括 HTML 标记) val() 设置或返回表单字段的值 attr() 用于获取属性值 //jQuery text() 和 html() - 获取文本和内容 ...

2019-08-15 09:37:52 35 0

原创 jQuery 选择器

0. 免费体验 jQuery 选择器文档 $(this).hide()//隐藏当前的 HTML 元素 $("p").hide()//隐藏所有 `<p>` 元素 $(".test").hide()//隐藏所有 `class="test...

2019-08-14 16:09:59 45 0

原创 DeepNude下载及使用

写在前面,这个软件对普通人是没影响的,所以才会放在这里分享相应的下载链接。 [系统底层] Deepnude算法原理分析及如何优化思路 DeepNude 2.0 Windows 版下载链接:DeepNude in MEGA for Business DeepNude pyqtlib 中 cm...

2019-08-05 11:23:56 27967 2

转载 Looper.loop 为什么不会阻塞掉 UI 线程 ?

文章目录问题概述1. Android中为什么主线程不会因为 `Looper.loop()` 里的死循环卡死?进程线程ActivityThread死循环问题2. 没看见哪里有相关代码为这个死循环准备了一个新线程去运转?3. Activity的生命周期是怎么实现在死循环体外能够执行起来的?4. 我的理...

2019-08-05 09:57:54 96 0

原创 Android app https 抓包,一定能抓到吗?

很多时候我们开发项目的时候,都需要抓包,很多情况下即使是 Https 也能正常抓包正常。那么问题来了: 抓包的原理是? 任何 Https 的 app 都能抓的到吗? 如果不能,哪些情况下可以抓取,哪些情况下抓取不到? 1.抓包的原理: 代理。 客户端请求 -> 经过代理 -> 到...

2019-08-01 14:19:14 313 0

原创 $(function() {}),什么时候执行?

1. 什么时候执行呢? (function() {}),即 $(document).ready(function(),什么时候执行? $(function() { //执行操作 }); $(function() {}) 是$(document).ready(function()的简写, 这个函...

2019-08-01 11:49:46 5193 0

原创 浅析 HTML console

1. 显示信息 // 1. 显示信息 console.log('hello'); console.info('信息'); console.error('错误'); console.warn('警告'); 2. 占位...

2019-07-30 15:01:05 419 0

原创 HTML 数字的处理方法(保留小数点两位、将数字转化为千分位格式)

可参考链接 js保留两位小数方法总结 代码 将 1234567.00 转换为 1,234,567.00 <!DOCTYPE html> <html> <head> <meta http-equiv="Content...

2019-07-30 14:26:10 5248 0

原创 HTML 垂直居中body中的应用

应用场景: 在body中书写一个代码块, 使其相对于body垂直居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> ...

2019-07-30 14:00:54 1125 0

原创 浅析 HTML input value

1. Input 获取 value <input type="text" value="请输入姓名" name="name" id="name"> <script> var name; ...

2019-07-30 13:52:40 670 0

原创 常用的 JS 正则表达式54种形式类型

1.由数字、26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3. 正整数: ^[0-9]*[1-9][0-9]*$ 4.非正整数(负整数 + 0): ^((-/d+)|(0+))$ 5. ...

2019-07-30 11:11:52 108 0

原创 jQuery 验证密码是6位或者8位纯数字

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo...

2019-07-30 11:10:22 1508 0

原创 AppCan 刷新前一个页面或者调用父页面方法

appcan增加新纪录完了如何刷新主页面 AppCan 窗口模块Window AppCan.window.open 打开的窗口 , 如何在打开的窗口中调用父窗口的方法

2019-07-30 10:43:48 220 0

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