自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 收藏
  • 关注

转载 回溯算法

什么叫回溯算法对于回溯算法的定义,百度百科上是这样描述的:回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。看明白没,回溯算法其实就是一.

2021-03-09 09:58:43 57

转载 在基于 Ubuntu 的 Linux 发行版上安装 Wireshark

Wireshark 适用于所有主流 Linux 发行版。你应该查看官方安装说明。因为在本教程中,我将着重在仅基于 Ubuntu 的发行版上安装最新版本的 Wireshark 。Wireshark 可以在 Ubuntu 的 Universe 存储库中找到。你可以启用 universe 存储库,然后按如下方式安装:sudo add-apt-repository universe sudo apt install wireshark这种方法的一个小问题是,你可能并不总是得到最新版本的 Wir.

2020-12-14 09:13:08 76

转载 Linux下几种文件传输命令 sz rz sftp scp

Linux下几种文件传输命令 sz rz sftp scp最近在部署系统时接触了一些文件传输命令,分别做一下简单记录:1.sftpSecure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输

2020-12-07 16:08:45 136

转载 IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别

缘起 目标 GRADLE_USER_HOME和Gradle user home的区别 GRADLE_USER_HOME Gradle user home IDEA Gradle user home的坑 如何验证这个坑? 最终解决方案 第一种解决方案,不下载Gradle,不配置关于Gradle的任何的环境变量,不配置IDEA的Gradle user home 第二种方案:如果你想自己安装gradle,并且所有的工程都使用你自己单独安装的gradle。 第三种解决方案,配置单独的gradl.

2020-12-07 09:38:07 926

转载 爱普生L4158使用评测及小白智慧打印离线解决办法

购买理由微信朋友圈突然冒出来许多晒打印机的小伙伴。有暗自庆幸家中常备,此番正好大显身手的;有一直观望,如今被“不停学”倒逼,匆忙下单的;也有非刚需,但被时代大浪裹挟着,抱着“虽可有可无,但有总比无好”的想法,“热血”购入的。我就属于最后一类。毕竟不出门,出门店不开,偶然有打印的需求,还真心不太方便,于是索性抱台回家吧。那购买什么类型的呢?LD家原来有台佳能的喷墨打印一体机,实体店购入。因年代久远,型号不记得了。平常使用,感觉挺好,因为一直买的原装墨盒,耗材相对贵一点,但也能接受。于是,先看了佳能,.

2020-11-30 09:14:29 3335

转载 Android如何使用mapping文件,定位线上bug

1、获取到mapping.txt2、使用android sdk自带工具,android-sdk-tools-proguard-bin-proguardgui3、打开proguardgui工具,ReTrace选项,Mapping file中添加mapping文件,Obfuscated stack trace中粘贴线上bug信息4、ReTrace!版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://b...

2020-11-10 10:28:07 129

转载 Retrofit 2.0 超能实践(一),okHttp完美支持Https传输

http://blog.csdn.net/sk719887916/article/details/51597816Tamic首发前阵子看到圈子里Retrofit 2.0,RxJava(Android), OkHttp3.3 ,加之支持android和 iOS 的React Native , 火的不要不要的, 2015年新技术一大波来袭 ,看着自己项目还在用HttpClient, AsyncTask的原生开发 感觉自己已成火星人,实在顶不住内心的自卑压力,加之对新技术的追求,入手移动开发新三剑客,虽然.

2020-09-07 09:12:47 273

转载 Android模块开发之SPI

APT,就是Annotation Processing Tool 的简称,就是可以在代码编译期间对注解进行处理,并且生成Java文件,减少手动的代码输入。注解我们平时用到的比较多的可能会是运行时注解,比如大名鼎鼎的retrofit就是用运行时注解,通过动态代理来生成网络请求。编译时注解平时开发中可能会涉及的比较少,但并不是说不常用,比如我们经常用的轮子Dagger2, ButterKnife, EventBus3 都在用,所以要紧跟潮流来看看APT技术的来龙去脉。关于注解的大概分类,不清楚的同学可以参考

2020-08-13 11:10:55 98

转载 组件化之AutoService使用与源码解析

在JDK 1.5之后,java提供了对注解的支持,这些注解与普通代码一样,在运行期间发挥作用。在JDK 1.6中实现了JSR-269规范,提供了一组插入式注解处理器的标准API在编译期间对注解进行处理,可以看作是一组编译器的插件,可以读取/修改/添加抽象语法树中的任意元素。在Android模块开发之APT技术介绍了自定义注解处理器的一些知识,自定义注解处理器注册才能被Java虚拟机调用,在上面的博客第四小节中用的方法是手动注册,这比较违反程序员懒的特点,在里面也提到了自动注册的方法,就是AutoServ

2020-08-13 11:09:05 1330

转载 Android模块开发之APT技术

APT,就是Annotation Processing Tool 的简称,就是可以在代码编译期间对注解进行处理,并且生成Java文件,减少手动的代码输入。注解我们平时用到的比较多的可能会是运行时注解,比如大名鼎鼎的retrofit就是用运行时注解,通过动态代理来生成网络请求。编译时注解平时开发中可能会涉及的比较少,但并不是说不常用,比如我们经常用的轮子Dagger2, ButterKnife, EventBus3 都在用,所以要紧跟潮流来看看APT技术的来龙去脉。关于注解的大概分类,不清楚的同学可以参考

2020-08-13 11:07:07 120

转载 项目部署点一下按钮就可以,全流程自动化-三分钟学会真简单

我们平时在开发一些小项目的时候,有快速部署发布的这样的需求,我感觉最智能的方式可能是喊一声“发布”,应用程序就能自动打包发布到服务器上并运行起来。因为项目的规模比较小,我们可能不会应用到DevOps团队。我们希望有一个小工具,帮我们实现应用程序的快速上线。Alibaba Cloud ToolKit就可以帮助我们就解决这个问题,但是我们还是得打一点小小的折扣,我们无法实现“喊一声”,但是我们可以实现“按一下”就发布应用程序。对于看文档感觉乏味的同学:点这里,这里有本文对应的操作《视频》。第一步:安装I

2020-08-10 14:29:27 91

转载 自定义 View 之熟记 scrollTo、scrollBy、Scroller 三者区别

博主声明:转载请在开头附加本文链接及作者信息,并标记为转载。本文由博主威威喵原创,请多支持与指教。本文首发于此 博主:威威喵|博客主页:https://blog.csdn.net/smile_running 介绍 今天,我们来讲讲自定义View的基本功,那就是对我们屏幕坐标系的理解。本人画了一张图,咋们凑合看吧,应该不难看懂。 这里做略微的说明,黑色(ViewGroup、父容器)、蓝色(包含的子View)、橙色为手指触摸屏幕的一点。为什么要清楚这张图呢...

2020-08-04 10:30:06 59

转载 解决SwipeRefreshLayout和ViewPager滑动冲突的三种方案

一篇文章读懂android事件消费、事件分发、事件拦截Android 源码分析事件分发机制、事件消费、事件拦截解决SwipeRefreshLayout和ViewPager滑动冲突的三种方案在SwipeRefreshLayout的内部包一个ViewPager,这样左右滑动ViewPager的时候,顶部老是会弹出刷新按钮,滑动很不灵敏。image.png了解事件分发机制和事件拦截机制的都知道解决滑动冲突无非两种方法:外部拦截法和内部拦截法,现在我们运用这两种方法,解决下这个问题。注意.

2020-07-16 10:15:13 135

转载 ROOT证书、CA证书和使用CA签发的X.509证书

ROOT证书、CA证书和使用CA签发的X.509证书简介概念使用Bouncy Castle生成一个签名证书验证证书的签名使用来自Oracle的证书支持加载Keystore文件验证签名是否合法验证Trust Chain结尾简介日常开发中,我们程序员不怎么会接触证书相关的问题,对信息安全领域相关的内容知之甚少。因为平时主要实现的业务很少要直接面向底层的通信,也就很少关注这证书这样的知识。在一般情况下,我们仅仅只是在使用一些高层的依赖中会引入证书、加密相关的依赖包,比如:<!

2020-07-14 10:37:49 439

转载 Android源码阅读工具——在Ubuntu下使用Source Insight

引言在Windows下,相信很多朋友都习惯用Source Insight来阅读分析源代码了,对于LINUX下面的工具,确实有比较高效的,配置起来起对比较麻烦,也比较繁琐,相信很多人肯定希望能在Linux下面也能用到Source Insight,今天我就把我Ubuntu10.04上使用Source Insight的方法与大家分享!转Ubuntu中Source Insight的使用一、Wine 简介Wine (Windows Environment)是一个在Linux和UNIX之上的,Window.

2020-06-19 14:22:20 292

原创 Ubuntu录屏软件Kazam的安装以及录屏无声解决

安装参考:https://jingyan.baidu.com/article/73c3ce282a07d5e50343d993.html录屏无声音解决方案参考:https://www.cnblogs.com/xn--gzr/p/6195317.html以下内容参考https://www.youtube.com/watch?v=5NZ0qwp2L04,我做了些修改,让它好懂些。...

2020-04-21 14:16:25 647

原创 类和类之间的关系

一、UMLa)Unified Modeling Language (UML)又称统一建模语言或标准建模语言b)它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持c)它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言d)UML定义了10种模型图,对应软件设计...

2020-04-09 14:26:48 194

转载 Ubuntu16.04 添加启动器和桌面快捷方式

step-1命令行进入 /usr/share/applicationsstep-2添加一个启动器配置文件,以vscode为例,创建 vscode.desktop 文件,命令如下:root@PC:/usr/share/applications# gedit vscode.desktop添加如下内容(需要做适当修改):[Desktop Entry]Version=1.0Name=...

2020-04-08 15:15:37 174

转载 Android Studio无法执行Java main方法的问题

Android Studio升级到最新版3.6.1后,新建了个项目,发现无法执行Java类的main方法,很蛋疼。试了网上的各种方法,比如切换gradle离线模式、gradle.properties中添加android.enableAapt2=false等,我还尝试了重新情况Gradle缓存、重新下载gradle等方式,都没用。环境android studio版本:3.6.1gradle版...

2020-03-19 16:50:25 4208 3

原创 android jni jbyteArray和char*互相转换

jstring charToJString(JNIEnv *env, char *pat) { jclass strClass = env->FindClass("java/lang/String"); jmethodID ctorID = env->GetMethodID(strClass, "<init>", "([BLjava/lang/Strin...

2020-03-18 14:46:25 1423

转载 JAVA泛型知识(二)通配符

<? extends T> 和 <? super T> 是Java泛型中的“通配符(Wildcards)” 和 “边界(Bounds)”的概念<? extends T> 是指 “上界通配符(Upper Bounds Wildcards)” <? super T> 是指 “下界通配符(Lower Bounds Wildcards)”...

2020-03-18 10:48:47 106

转载 Android studio中NDK开发(三)——JNI层日志打印

一、前言JNI层是Java和C/C++的桥梁,在Java层中我们通常会使用Log.v()/Log.e()等来进行日志打印,在C中使用printf方法,但在JNI层这些方法是无法在Android studio中下的Logcat中显示的,需要用到另外的库,这个已经打包在log.h头文件中。二、步骤1、在C/C++文件,即.c或.cpp文件中引入log.h头文件#include &lt...

2020-03-02 10:42:07 245

转载 Android studio中NDK开发(五)——C嵌套结构体与Java类在JNI层的传输

一、前言最近在Android上的NDK开发时遇到一个问题,在Java层需要获取到设备的注册信息,然后在JNI层将这些信息封装为结构体参数的形式传递到C++中的方法中进行处理。也就是说,在Java层获取到的信息需要先转换成结构体,再传进去,在C++和Java的JNI层转换的这个过程中整整卡了两三天,一直找不到解决问题的思路。二、分析从结构体的特性来看,其实结构体就是不同属性的合集,只不...

2020-03-02 10:39:18 295

转载 Android studio中NDK开发(二)——使用CMake引入第三方so库及头文件

一、前言通常来说,第三方提供的so库以及头文件都没有没有引入jni.h头文件。所以我们在导入第三方so库以及头文件的时候需要手动的将其关联到官方的native-lib库中,关联成功后就可以在native-lib中include进第三方头文件,引进头文件成功后就可以在自定义的JNI接口中对第三方头文件中内容进行调用。二、准备第三方so库以及头文件创建一个默认的NDKDemo(可按照CMak...

2020-03-02 09:22:01 667

转载 Android 简单使用第三方提供的.so和.h (Android.mk和Application.mk方式)

前言:刚来公司,接了一个项目(具体项目不便透露),其中涉及到一个socket数据传输的问题,这里当然就不可避免的用到了.so动态库进行实现。接触过jni的应该都知道,Android调用.so库其实很简单,不就是直接static { System.loadLibrary(“aaron”); }吗?其实我救算这么想的,但是直到我拿到.so和.h文件之后才发现我错了。好了,废话不说了,进入正题:实...

2020-02-28 14:03:32 219

转载 Android 架构组件之 Room

Room 是 Google 推出的一个在 SQLite 上提供抽象层的持久存储库。本文将从以下几个方面对 Room 进行介绍:为什么要使用 Room? 通过一个案例,介绍如何使用 Room 分析 Room 的组成及使用原理 总结一下 Room 的使用1. 为什么要使用 Room?在 Android 中直接使用 SQLite 数据库存在多个缺点:必须编写大量的样板代码; 必须为...

2020-02-26 16:27:59 428

转载 Kotlin协程 ThreadLocal

Kotlin中有一个和Java的ThreadLocal概念差不多的东西, ThreadLocal是Thread私有的,ThreadLocal.asContextElement是coroutine私有的. 注意在launch的时候指定值.无论coroutine在线程池的哪个线程. 最终获取到的都是coroutine私有的数据.val threadLocal = ThreadLocal<S...

2020-02-26 10:06:20 428

转载 HTTP协议超级详解

HTTP协议简介超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组...

2020-01-13 10:38:16 89

转载 retrofit遇上https自签名证书

转载自:https://blog.csdn.net/u013768203/article/details/72874242最近来了家新公司,后台设计在非线上环境用自签名证书,线上环境用CA证书,然后发了份.cer公钥给我.让我在客户端处理一下.我查了很多博客,只言片语的,HTTPS的流程也比较长,今天调试好了,贴出连续的代码给大家看一下.https有2种情况 单向验证...

2020-01-09 10:09:11 156

转载 Kotlin标准函数run,with,let,also和apply的使用和区别

选择哪种函数1.让我们看看源码中是如何定义的/** * Calls the specified function [block] and returns its result. */@kotlin.internal.InlineOnlypublic inline fun <R> run(block: () -> R): R { contract...

2020-01-08 09:18:48 168

转载 精通Kotlin标准函数:run、with、let、also和apply

作者:liangfei链接:https://juejin.im/post/5ac03b57f265da238532ffa4来源:掘金一些 Kotlin 的标准函数非常相似,以至于我们都无法确定要使用哪一个。这里我会介绍一种简单的方式来区分他们的不同点以及如何选择使用。作用域函数接下来聚焦的函数有:run、with、T.run、T.let、T.also以及T.apply。我称...

2020-01-08 09:13:32 86

转载 图解TCP/IP详解(史上最全)

一、OSI参考模型1.图示2.OSI七层模型各自作用应用层为应用程序提供服务并规定应用程序中通信的相关细节。包括文件传输、电子邮件、远程登录等协议。表示层将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。会话层负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的...

2020-01-07 11:07:30 967

转载 Win7系统下删除安装Linux系统后残余的启动项

问题描述: 卸载ubuntu后系统启动项还有残留的无效Ubuntu启动项选择。 错误的方法: 我在网上找了许多方法,提到很多的是采用运行 --> msconfig -->启动项-->删除ubuntu启动项。但这种方法好像不顶用,因为WIN7下好像启动项中只有windows 7os这一个选项。 成功的方法: 首先,以管理员身份启动cmd窗口...

2020-01-03 08:56:41 231

转载 WIN7系统怎样增加C盘空间

警告:Warning......大家这里首先暂停一下!提醒大家,使用本方法会使电脑除C盘以外的所有电脑数据丢失!请谨慎操作!使用本经验对你的电脑数据造成了损害,小编不负任何责任!如果继续,说明你认可了小编的提醒!我们安装WIN7系统使用一段时间后,随着我们不断的安装程序等等,我们会发现C盘的空间越来越小有点不够用了,这时候我们就想给C盘增加点空间容量,那么如何给C盘增加空间容量呢?当...

2020-01-02 14:31:03 690

转载 WIN7系统怎样对硬盘进行分区

我们买电脑的时候,维修人员已经给我们的系统分好了分区,但是对我们来说他们分的分区大小可能不太合适,所以我们就想把硬盘的分区大小根据自己的需要,重新进行分区或者调整,当然你可以下载一些分区软件进行分区,其实在WIN7系统中已经给我们提供了分区的功能,今天小编根据自己的经验来给大家说下WIN7下硬盘分区调整的方法,希望对朋友们有帮助!我们今天的操作针对的是扩展分区,而不操作C盘也就是我们的系统盘。特别...

2020-01-02 14:28:29 331

转载 Windows 7 启用、关闭休眠

方法/步骤 1 点击开始→关机→这里如果是没有休眠菜单,可以设法开启。 2 开始→运行→输入:CMD 点击确定(或按回车键),打开命令提示符窗口。 3 先在其中输入命令,回车执行命令,看操作系统是否支持休眠(S3说明支持休眠、混合睡眠功能): powercfg -a 4 然后再在其中输入开启休眠的命令:powercfg-...

2020-01-02 14:04:44 165

转载 协变(covariance),逆变(contravariance)与不变(invariance)2

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/zwvista/article/details/78437667协变,逆变与不变能在使用父类型的场景中改用子类型的被称为协变。能在使用子类型的场景中改用父类型的被称为逆变。不能做到以上两点的被称为不变。以上的场景通常包括数组...

2019-12-05 09:59:50 147

转载 协变与逆变1

在日常的开发中,你是否经常看见List<?>、List<T>、 List<Object>、List<? extends Number>、List<? super Integer>等形式的泛型定义。当你对这几种类型不了解的时候也就无法理解逆变与协变。当然,逆变与协变的产生本质上还是由于Java的多态。首先,来了解下以上讲的几种泛型。注意...

2019-12-05 09:57:30 63

转载 Android mk 引用 jar 包、so 库、aar 包,系统签名 stormjun94

转载请注明原博客地址写在最前面刚开始在 Ubuntu 编译系统源码的时候, 需要在 mk 文件里面配置各种东西,对比在 AndroidStudio 敲代码,那可真的是 TMD 麻烦(那时候内心仿佛有千万只马奔腾),不过后面心态渐渐变好了,每个人都是一样,刚开始对于新的并且暂时不理解又看不到优点的东西,内心总是抗拒的,总会第一时间抗拒它,否定他。其实,这往往会影响我们的成长,对于各种新的东西...

2019-10-22 13:37:58 287

转载 linux 线程操作问题undefined reference to 'pthread_create'的解决办法(cmake)

https://www.cnblogs.com/jiu0821/p/5855827.html问题原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a.所以在使用pthread_create()创建线程时,需要链接该库。1. 终端:问题解决:在编译中要加 -pthread参数 gcc thread.c -o thread...

2019-10-22 09:48:09 92

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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