自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (13)
  • 收藏
  • 关注

原创 Binder机制

Binder机制Binder是什么binder是什么?我们都在Activity通过getSystemService()方法获取系统的Service(例如:ActivityManagerService,WindowManagerService等),这些Activity一般都是客户端编写的,而系统的这些Service是属于服务端的。显然它们不会在同一进程(一般来说,一个APP单独在一个进程)。两个进程之间怎么通信?Binder就是两个进程通信的中间媒介。知识储备在讲解Binder前,我们先了解一些Lin

2022-01-29 20:57:06 3069

原创 Linux如何让一个.sh文件可双击执行 并设置桌面启动图标

Linux

2022-05-22 14:37:05 2011

原创 python 基础系列(十二) — python正则

python 基础系列(十二) — python正则1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。下图展示了使用正

2022-03-24 15:17:50 153

原创 shell脚本基本语法 - shell 变量

shell脚本基本语法 - shell 变量1. 变量定义定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:your_name=“runoob.com”注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线 _。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。有效的 Shell 变量名示例如下:RU

2022-03-16 20:51:01 187

原创 Git教程合集

Git教程合集目录文章目录Git教程合集目录**分支 (branch)**什么是分支?分支合并master分支分支的运用Merge分支Topic分支分支的切换HEADstash1. git stash 把现有的修改藏起来2. 使用 ‘git stash save “desc”’ 把现有的修改藏起来,并且添加一个注释3. git stash list 查看所有藏起来的4. git stash pop --index {index} 删除 最近/指定 一个藏起来的,并还原回来代码5. git stash

2021-09-05 23:17:42 116

原创 Android 中 Canvas的功能

Android 中 Canvas的功能一. 如何在一屏幕上绘图三个概念:需要有画布Canvas需要有笔Paint需要有坐标系,画笔默认是在左上角(0,0)位置绘制的。我们可以通过移动画布坐标原点的形式,实现在不同位置绘制。1. 移动坐标原点 简单绘制一个图我们将画笔Canvas.translate(100,400)移动之后再进行绘制,这时画布的原点已经变化了。2. 视图坐标系理论上 Canvas 这张纸是没有边界的,但是我们的手机屏幕是有界的。我们可以理解为我们透

2021-07-28 16:31:54 624 1

原创 Java基础函数 - Java中getCanonicalName(), getName(), getSimpleName()的区别

Java基础函数 - Java中getCanonicalName(), getName(), getSimpleName()的区别1. 背景最近在整理设计模式用例的时候,发现一些需要注意的java关键字2. 总结1、getCanonicalName() 是获取所传类从java语言规范定义的格式输出。2、getName() 是返回实体类型名称3、getSimpleName() 返回从源代码中返回实例的名称。【实例】 public class TestCanonicalNa

2021-07-12 09:38:55 269

原创 Java基础关键字 - Java中instanceof和isInstance区别详解

Java基础关键字 - Java中instanceof和isInstance区别详解1. 背景最近在整理设计模式用例的时候,发现一些需要注意的java关键字2. 一次性搞定instanceof和isInstanceinstanceof和isInstance长的非常像,用法也很类似,先看看这两个的用法:2.1 obj.instanceof(class)也就是说这个对象是不是这种类型,1.一个对象是本身类的一个对象2.一个对象是本身类父类(父类的父类)和接口(接口的接口)的一个对象

2021-07-12 09:20:48 115

原创 设计模式 - 代理模式

设计模式 - 代理模式代理模式简介定义:目标对象为其对象提供一种代理对象,其他对象通过代理对象来控制对目标对象的访问。代理模式分为动态代理和静态代理,动态代理是在静态代理的基础上同过在Proxy层增加反射获取真正的被代理的对象来实现的。1. 静态代理1.1 使用场景代理模式适合隔离底层业务逻辑具体细节的场景,比如说我们封装了一个图片加载的框架,但是这个框架会有可能会在将来的一个时间段过时,我们需要变更,但是变更前后整体的调用方式保存基本不变,可以考虑使用代理模式,同时目标对象无法直接访问或

2021-06-29 23:05:39 59 2

原创 windows环境下安装tocat

windows环境下安装tomcat1.下载官网地址: https://tomcat.apache.org/选择自己喜欢的版本选择对机器对应的版本2.安装2.1 JAVA_HOME环境安装,没啥好说的 jdk 1.82.2 安装完成请配置环境 JAVA_HOME2.3 java 全局变量确认: 安装完成输入 java -version 如果得到下面的数据,恭喜安装配置成功2.4 tomcat安装,一路确认3.环境配置2.5 安装成功,配

2020-11-17 17:49:01 258

原创 ubuntu 解压文件

ubuntu 解压文件.tar // .tgz解包 .tar:tar xvf FileName.tar解包 .tgz:tar xvzf FileName.tgz打包: tar cvf FileName.tar DirName (注:tar是打包,不是压缩!).gz解压1: gunzip FileName.gz解压2: gzip -d FileName.gz压缩: gzip FileName.tar.gz 和 .tgz解压: tar zxvf FileNa

2020-08-05 18:50:16 133

原创 反射中getSuperclass与getGenericSuperclass区别

反射中getSuperclass与getGenericSuperclass区别kotlin官方文档 https://www.kotlincn.net/docs/reference/泛型的官方解释 https://www.kotlincn.net/docs/reference/generics.html声明三个类 class Person<T, V> { } class Teacher { } class Student extends Person<Student

2020-06-30 19:00:29 510

原创 python打包EXE文件

python打包EXE文件支持单文件和多文件环境:win10 64位 python3.7单*.py文件打包Python GUI:程序打包为exe一、安装Pyinstaller,命令pip install Pyinstaller,(大写的P,敲黑板,要考)二、打包exe步骤:cmd进入py程序项目目录,执行命令:pyinstaller -F -w --icon=xxx.ico main.py --noconsole。其中,-F表示生成单exe可执行文件,-w表示窗体程序,--icon是设

2020-06-12 17:26:24 478

原创 Kotlin基础 - 第十三章导出可执行的程序

Kotlin基础 - 第十三章导出可执行的程序#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####Kotlin导出可执行的程序一、在用Kotlin写完程序后,怎么导出使他成为可执行的程序。首先需要添加两行代码 /**添加两行代码,指出导出的是程序*/ apply plugin: 'application' apply plug

2020-06-12 11:46:51 176

原创 Kotlin基础 - 第十二章尾递归优化

Kotlin基础 - 第十二章尾递归优化#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####函数递归必然会损失一定的函数性能,相对来说函数循环的效率就会相对高很多了,于是我们如果可以将我们的递归函数优化成循环调用,岂不是美滋滋,其实在某种情况下,Kotlin底层为我们实现了这种优化。尾递归:在函数表达式前面增加关键字 `` 编译器会

2020-06-09 17:02:36 106

原创 Kotlin基础 - 第十一章高阶函数

Kotlin基础 - 第十一章高阶函数#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####高阶函数以另一个函数作为参数或者返回值的函数被称为高阶函数。高阶函数可以把函数作为参数传递或者返回值返回的函数。既然函数对象作为数值进行传递那么就会有如何引用函数的问题。函数引用的三种方式:1. 直接双冒号的方式,引用的是包级别的函数;####

2020-06-09 17:01:23 148

原创 Kotlin基础 - 第十章抽象类和接口

Kotlin中的对象和接口#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####Kotlin的类和接口与Java的类和接口是有一定的区别的。Kotlin编译器能够生成有用的方法来避免冗余。比如将一个类声明为data类可以让编译器生成若干标准方法,同时也可以避免书写委托方法(委托模式kotlin原生支持)。面向对象编程语言(kotli

2020-06-09 16:59:58 139

原创 Kotlin基础 - 第九章控制流:if、when、for、while

Kotlin中的控制流:if、when、for、while#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####1. if条件控制if的常规使用和java没有任何的区别fun main(args: Array) {//条件控制if测试var x = 0if(x>0){println(“x 大于 0”)}else if

2020-06-09 16:59:19 151

原创 Kotlin基础 - 第八章运算符重载

kotlin中的运算符重载#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####内容参考《Kotlin实战》什么是运算符重载?简单来说,就是 Kotlin 通过调用自己代码中定义特定的函数名的函数(成员函数或者扩展函数),并且用 operator 修饰符标记,来实现特定的语言结构,例如如果你在一个类上面定义了一个特定函数命名 plus

2020-06-09 16:58:37 133

原创 Kotlin基础 - 第七章lambda表达式

kotlin中的lambda表达式#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####lambda即lambda表达式,简称lambda。本质上是可以传递给其它函数的一小段代码。有了lambda,可以轻松地把通用代码结构抽取成库函数。lambda最常见的用途是和集合一起配合。kotlin甚至还拥有带接收者的lambda,这是一种特殊的la

2020-06-09 16:58:06 275

原创 Kotlin基础 - 第六章函数

kotlin基础 - kotlin中的函数#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####函数为了是程序简洁明了,更具有逻辑性,我们通常的做法就是把相似的功能模块整合到一起,并设计成函数。函数是执行特定任务模块的代码,每个函数都有一个类型,你可以像使用Kotlin语言中其他类型一样使用函数类型,将函数作为参数传递给其他函数,或者将函

2020-06-09 16:57:33 293

原创 Kotlin基础 - 第五章Kotlin中的包

kotlin中的包kotlin 中的区间Kotlin的包使用方法和Java差不多,但有些不一样的地方1.一般用法 package com.dong.demo.ui; public class ClassA { }在另一个文件中引入 import com.dong.demo.ui.ClassA import com.dong.demo.ui.* ClassA一切都可访问Java中com.dong.demo.ui一定要与文件目录对应,ClassA .java在com/don

2020-06-09 16:57:07 204 1

原创 Kotlin基础 - 第四章object、面向对象、静态成员

Kotlin基础 - object、面向对象、静态成员#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####kotlin中的 objectobject是Kotlin中的一个重要的关键字,也是Java中没有的。object主要有以下三种使用场景:对象声明(Object Declaration)伴生对象(Companion Obje

2020-06-09 16:55:51 169

原创 Kotlin基础 - 第三章基础语法语法(下)

Kotlin中语法#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####和java程序一样,kotlin程序经过编译器编译完成之后也是成字节码文件,我们可以通过 Androidstudio的 Tools -> Kotlin -> Show Kotlin Bytecode 查看对应的字节码,当然还可以点击 Decompile转换

2020-06-09 16:55:22 171

原创 Kotlin基础 - 第二章基本数据类型和基础语法

kotlin基础 - 基本数据类型和基础语法#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####基本类型1. Boolen val aBoolean: Boolean = true val anOtherBoolean: Boolean = false println(aBoolean) println(a

2020-06-09 16:54:19 180

原创 Kotlin基础 - 第一章kotlin环境搭建

Kotlin基础学习第一章-环境搭建#### [kotlin官方文档 https://www.kotlincn.net/docs/reference/](https://www.kotlincn.net/docs/reference/) ####在java的基础上,谷歌推出了Kotlin语言,增加IDEA 或者是为什么我们要转用Kotlin简洁 大大减少样板代码的数量。安全 避免空指针异常等整个类的错误。互操作性 充分利用 JVM、Android 和浏览器的现有库。工具友好 可用

2020-06-09 16:51:40 414 1

原创 AndroidStudio 模板 Template 生成代码 - 代码模板好,下班回家早

AndroidStudio 模板 Template 生成代码 - 代码模板好,下班回家早android 中模板定义有3种1.代码片段模板 (Live Templates)2.单文件模板 (File and Code Templates)3.多文件模板( Templates 主要用于具有通用样式的activity、fragment、mvp、MVVM代码创建)今天我们...

2020-04-15 16:10:39 1316

原创 Linux环境下的SVN的常用操作

Linux环境下的SVN的常用操作1.通过命令行查看所有仓库文件,其中蓝色部分是项目仓库登录Linux,cd 到svn仓库目录命令行可以查看所有的项目仓库目录和文件通过软件xShell登录服务器后,通过名命令 cd.. 执行命令 ls 列举文件获取svn安装目录 svndata 通过命令 cd svndata 进入版本控制目录,ls列举所有的版本库2. 配置全局仓库的账户和密...

2020-02-27 21:09:45 226

原创 python 基础系列(十一) — 使用PyCharm远程调试树莓派python代码

python 基础系列(十一) — 使用PyCharm远程调试树莓派python代码python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — P...

2020-02-12 23:53:50 855

原创 python 基础系列(十) — Windows CMD命令大全

python 基础系列(十) — Windows CMD命令大全python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — Python中的继承...

2020-02-03 13:22:22 2033

原创 python 基础系列(九) — Python中的vi -- 终端中的编辑器

python 基础系列(九) — Python中的vi – 终端中的编辑器python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — Python中...

2020-02-03 13:21:07 742

原创 python 基础系列(八) — Python中的文件操作

python 基础系列(八) — Python中的文件操作python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — Python中的继承pyth...

2020-02-03 13:20:26 261

原创 python 基础系列(七) — Python中的模块

python 基础系列(七) — Python中的模块python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — Python中的继承python...

2020-02-03 13:19:32 262

原创 python 基础系列(六) — Python的异常及其处理

python 基础系列(六) — Python的异常及其处理异常的概念捕获异常异常的传递自定义异常异常的捕获基本语法try: 可能会抛出异常的代码块except: 捕获到异常后的处理代码finally: 程序不论抛出异常还是没有抛出异常后要执行的代码,一般用于文件资源释放,内存回收等操作错误类型捕获异常基础语法try: 需要捕获异常的...

2020-02-03 13:18:47 200

原创 python 基础系列(五) — Python中的继承

python 基础系列(五) — Python中的继承python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(五) — Python中的继承python...

2020-02-03 13:17:38 372

原创 python 基础系列(四) — Python中的面向对象

python 基础系列(四) — Python中的面向对象python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(四) — Python中的面向对象python 基础系列(一) — Python介绍pytho...

2020-02-03 13:17:04 413

原创 python 基础系列(三) — Python中的变量进阶

python 基础系列(三) — Python中的变量进阶python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(三) — Python中的变量进阶python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基...

2020-02-03 13:05:06 440

原创 python 基础系列(二) — Python基本语法

python 基础系列(二) — Python基本语法python基础系列索引python 基础系列(一) — Python介绍python 基础系列(二) — Python基本语法python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(...

2020-02-03 13:01:28 4157 4

原创 python 基础系列(一) — Python介绍

python 基础系列(一) — Python介绍python基础系列索引python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(一) — Python介绍python 基础系列(一) ...

2020-02-03 12:57:16 668

原创 IDEA创建第一个后台程序

IDEA创建第一个后台程序写在前面的话,一个不会写后台的程序员不是好程序员,今天开始我们研究下后台程序首先推荐一个成熟的后台和前端框架https://github.com/elunez1. 依次点击 File -> New -> Project…2.选择创建 Spring initializr 项目,并配置自己的jdk目录(这一步可以选择自己的安装的jdk同时也可以选...

2019-12-31 15:35:05 1239 1

AndroidStudio代码模板.zip

应大家的强烈要求我把《AndroidStudio 模板 Template 生成代码 - 代码模板好,下班回家早》文章创建的代码模板文件上传了,如果大家喜欢可以下载导入到自己的C:\Program Files\Android\Android Studio\plugins\android\lib\templates 目录直接尝试

2020-04-15

settings_20200330增加配置模板.jar

Android Studio 常用配置文件,下载之后直接点击AS导入模板,选择对应的jar文件导入即可;当然如果希望获取我的代码模板,你也可以解压获取其中的代码模板 放到你自己的 C:\Users\Jhon\.AndroidStudio3.5\config\templates下

2020-03-30

jdk-8u221-linux-x64.tar.gz

jdk-8u221-linux-x64.tar.gz安装包,支持linux_ubuntu_64为操作系统

2019-10-10

阿里OSS图片上传代码封装工具类-完美使用

阿里云后台token工具类,这部分一般放在后台完成,但是如果需要移动端进度优先或者技术选型阶段可以尝试自主搭建这个后台服务 下载代码后,替换config.json中对应参数为自己家申请的参数 使用IDEA运行代码 设置对应端口 点击运行 网页访问测试 将链接替换工具类中地址

2019-04-24

阿里OSSTokenServer

阿里云后台token工具类,这部分一般放在后台完成,但是如果需要移动端进度优先或者技术选型阶段可以尝试自主搭建这个后台服务 下载代码后,替换config.json中对应参数为自己家申请的参数 使用IDEA运行代码 设置对应端口 点击运行 网页访问测试 将链接替换工具类中地址

2019-03-06

android对象存储封装代码

android应用开发的最该境界是组件化开发,这样既能减少代码或模块间的耦合同时也不需要每个开发的成员都去熟悉第三方SDK的API和注意事项,极大的减少了开发成本 综合上面的原因,我对阿里的OSS进行了一次封装 支持单文件上传,多文件上传,文件删除,断点续传等

2019-03-06

ESP8266刷机工具集合

智能家居节点模块ESP8266最新的刷机包和刷机工具,资源适配树莓派搭建的智能家居系统

2019-01-16

nexus-3.14.0-04-win64

Nexus 的仓库分为这么几类: hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件; proxy 代理仓库:代理公共的远程仓库; virtual 虚拟仓库:用于适配 Maven 1; group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。

2018-11-12

groovy 学习gradle学习经典手册

网络红文 实战gradle,android,java开发人员的必修课

2018-10-23

jdk1.8.65 开发环境

java、android 开发人员的福利,jdk1.8.65是java环境的稳定版本

2018-08-03

apache-tomcat-8.5.32-windows-x64安装版

apache-tomcat-8.5.32-windows-x64安装版,稳定可以直接安装使用

2018-08-03

tomcat8- 8.5.32-windows-x64

最新的tomcat 版本 8.5.32-windows-x648.5.32-windows-x64

2018-08-03

xstream-1.3.1.c.jar

一款可用的xml 解析工具工具均xstream-1.3.1.jarxstream-1.3.1.jarxstream-1.3.1.jar xstream-1.3.1.jar

2018-07-19

空空如也

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

TA关注的人

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