自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kotlin学习之object、companion object实现原理

在Java中有静态方法,静态方法,我们可以通过(类名.方法名或属性)的方式来调用。但是在kotlin中我们是没有static关键字的,kotlin中通过object实现类似的功能,为什么说类似呢?这就要理清kotlin中的object的实现逻辑首先准备一个object修饰的类然后查看编译后Java文件可以看出,这里object其实是实现了一个单例模式,定义了一个静态属性 INSTANCE。但是为什么我们能直接用类名访问方法呢?这里的方法并没有用static修饰。这就要看调用的编译代码了。

2023-07-29 17:56:12 206

原创 Android学习之Gradle设置变量

Gradle设置变量大概有三种方式:在根目录下的build.gradle下设置、在子模块下的build.gradle下设置新建一个gradle文件设置。

2023-07-27 15:21:07 849

原创 android提示No Network Security Config specified, using platform default

今天在使用okhttp时发现出现了一个警告(再一顿操作后,警告变成debug级别了,我也不知道为什么,知道的请说一下)然后在AndroidManifest.xml配置。通过查阅资料后解决了记录一下。

2023-07-24 15:15:45 164

原创 viewBinding使用中遇到的问题

这是我的代码,作为新人,我认为我是绑定了。在捣鼓了一段时间后发现不只是recyclerview出了问题,其他控件好像也失灵了。这时我才想到应该是viewbinding的问题。今天在使用viewBinding的时候,出了点问题,在代码中没有报错,运行时出现了一个错误。这里熟viewbinding的应该都不会犯,仅仅为入门的新人提醒。根据错误的意思就是Recyclerview没有绑定适配器。作为入门新人,在学习期间遇到了错误,记录一下。另外知道为什么一开始那个不行的请说一下。

2023-07-22 21:24:25 260

原创 redis的基本使用笔记二

目录1. set的基本使用1.1 sadd命令1.2 smembers命令1.3 sismember命令1.4 scard命令1.5 srem命令1.6 srandmember命令1.7 spop命令1.8 smove命令1.9 sdiff命令1.10 sinter命令1.11 sunion命令2. hash的基本使用2.1 hset命令、hget命令、hsetnx命令2.2 hmset命令、hmget命令2.3 hgetall命令2.4 hdel命令2.5 hlen命令2.6 hexists命令2.7 h

2021-11-09 00:23:40 91

原创 redis的基本使用笔记一

目录1.基本的命令1.1 dbsize命令1.2 keys命令1.3 exists命令1.4 move命令1.5 del命令1.6 expire命令1.7 expipeat命令1.9 persist命令1.10 ttl命令2.String类型的基本操作2.1 append命令2.2 strlen命令2.3 incr命令!2.4 incrby命令2.5 decr命令2.6 decrby命令2.7 getrange命令2.8 setrange命令2.9 setex命令2.10 setnx命令2.11 mse

2021-10-30 14:05:22 107 2

原创 Linux下安装redis

今天学习开始学习redis,学习之前首先要配置环境——安装redis。第一步,下载redis压缩包首先,通过官方网站:https://redis.io/下载然后,通过xshell将压缩包放到Linux虚拟机上,一般是放在/opt目录下第二步,解压缩包解压成功第三步、进入解压后的文件查看redis的配置文件第四步、安装基本环境再make一下(下图是make之后再make的结果所以很快)make install第五步、redis的默认安装路径 /usr/local/bin

2021-10-18 20:29:06 100

原创 双亲委派机制

目录什么是双亲委派机制类加载器的类别BootstrapClassLoader(启动类加载器)ExtClassLoader (标准扩展类加载器)AppClassLoader(应用程序类加载器)CustomClassLoader(用户自定义类加载器)双亲委派机制的执行过程双亲委派机制的作用什么是双亲委派机制双亲委派机制可以分为两个过程,一个是向上委托,一个是向下尝试加载。首先,当类加载器需要加载某一个.class字节码文件时,则首先会把这个任务委托给他的上级类加载器,重复此过程,直至委托到了启动类加载器。

2021-10-10 12:09:21 346

原创 JavaPoet

目录简介引入简介JavaPoet是一款可以自动生成Java文件的第三方依赖。引入这里介绍两种项目中的引入方式在maven项目中的引入方式:在pom.xml中添加 <dependency> <groupId>com.squareup</groupId> <artifactId>javapoet</artifactId> <version>1.13.0</version><

2021-09-14 13:21:16 791

原创 java对象在内存中的布局

目录如何查看对象的大小分析java对象的组成普通对象数组对象如何查看对象的大小这里介绍一种工具JOL:Java Object Layout( java对象布局)这个工具可以查看对象大小首先在pom.xml里引入(版本时实际情况设置):<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId&gt

2021-09-13 12:32:11 77

原创 算法——模拟匹配

目录BM算法KMP算法这是复习了数据结构后的笔记,因为之前模式匹配也看懂了好多次,但每次都过一段时间就忘了,想想总结一下可能会好点,理解得深点。BM算法设S是主串,T是模式(字串)。BM算法是一种暴力的算法。思想:S的第一位字符和T的第一位字符比较,若相等,则继续比较两者后续的字符。否者,从S的第二位字符开始和T的第一位字符开始比较。重复上述过程,若T的字符串全部比较完毕,则匹配成功,返回本趟匹配的开始位置;否则,匹配失败,返回-1。缺点:BM算法效率十分低下,当某趟匹配失败后主串要回溯到该趟匹

2021-09-09 11:44:44 288

原创 java——JMM内存模型

目录简介三大特性volatile关键字简介JMM内存模型,也称为Java多线程内存模型。它和cpu缓存模型类似,是基于cpu缓存模型来建立。cpu缓存模型:java内存模型:当Java线程运行时会先从主内存中获取到数据,放到本线程的工作内存,在之后的运行中用到这些数据时会先从工作内存获取。如果这些数据失效了再从主内存获取,放到工作内存。public class jmmtest_0 { private static boolean flag = true; public static vo

2021-09-07 16:35:53 95

原创 Java注解

目录简介注解的作用内置注解自定义注解简介Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。注解的作用1、生成文档,通过代码里标识的元数据生成javadoc文档。2、编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。3、编译时动态处理,编译时通过代码里标识的元数据动态处理,例如动态生成代码。4、运行时动态处理,运行时通过代码里标识的元数据动态处理,例如使用反射注入实例内置注解

2021-09-06 22:56:37 49

原创 Minimum supported Gradle version is 6.5. Current version is 6.1.1. If using the gradle wrapper, try

AndroidStudio在导入别人的项目时发生报错:FAILURE: Build failed with an exception.* Where:Build file 'E:\android\study_module-main\app\build.gradle' line: 2* What went wrong:An exception occurred applying plugin request [id: 'com.android.application']> Failed

2021-09-04 11:41:26 6461

原创 Android:WiFi连接之一

WIFI连接相关知识感慨WIFI连接的相关权限打开、关闭WIFI打开WiFi:关闭WiFi:WiFi连接输入WiFi名称、密码实现连接感慨最近学习安卓WiFi连接,真是一言难尽啊。WiFi连接这部分的资料网上并不多,于是只能官方文档+一直找资料学。即便如此,也是让我自闭了,一堆API弃了,网上找的有的已经不适用了。。。总之就是问题多多,所以还是自己总结一下笔记吧,加深理解,也防止后面自己用到又要四处去找资料。WIFI连接的相关权限<uses-permission android:name="a

2021-09-02 17:00:35 736

原创 android 实现打开相册

最近在学习安卓的过程中,学到了从相册中选取图片的内容。// java版 Activity的代码import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;import android.view.View;

2021-08-24 11:22:15 3604 2

原创 Thread——线程

java线程线程的生命周期start、run、join的区别线程的生命周期线程的生命周期分为5各阶段:新建、就绪、运行、阻塞、死亡(销毁)新建: 创建了线程还未启动的阶段就绪: 线程处于等待分配CPU来运行的阶段运行: 线程分配到了CPU,处于执行的阶段阻塞: 在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep()、wait()之后线程就处于了阻塞状态,这个时候需要其他机制将处于阻塞状态的线程唤醒,比如调用notify或者notifyAll()方法。唤醒的线程

2021-08-23 17:56:24 55

原创 Android Studio OkHttp的使用

OkHttp的使用总结一下,最近的学习OkHttp的过程中遇到的一列问题。首先,要使用这个OkHttp之前需要添加OkHttp库的依赖。编辑app/build.gradle文件,在dependencies闭包中添加如下内容:dependencies{implementation ‘com.squareup.okhttp3:okhttp:4.1.0’}okhttp版本视实际情况选择发送GET请求// kotlin//首先,需要创建一个OkHttpClient实例val client = O

2021-08-22 15:55:37 3240 3

原创 MD5加密

MD5加密最近在学习安卓过程中需要用到md5加密,通过上网查找发现了Java的MessageDigest类可以实现md5加密算法。还有其它的一些加密算法。package md5;//单向加密import java.security.MessageDigest;/*MD5(Message Digest algorithm 5,信息摘要算法) Digest:汇编*/public class md5 { public static String getResult(String inp

2021-08-22 12:36:55 104

原创 No implementation found for。。。

No implementation found for java.lang.String com.tencent.liteav.basic.util.TXCCommonUtil.nativeGetSDKVersion() 报错今天在运行腾讯云的音视频demo的时候的突然报了这个错误。解决方法:先按Clean Project再按Rebuild Project注意:这可能只是多个方法中的一个,还有就是导入别人的项目时最好先这样操作再运行...

2021-08-22 01:12:08 1460

原创 Python Numpy.std() - 标准差函数

std()函数的使用std()常用于机器学习中的标准化数据操作,可用于计算给定数组沿指定轴线的标准差。其语法如下:numpy.std(arr, axis=None, dtype=float64)arr表示输入的数据,可以是一维数组或二维数组。axis表示需要计算标准差的轴。axis=0 表示沿列计算标准差,axis=1 表示沿行计算标准差dtype表示计算标准差时使用的数据类型示范// 一维数组import numpy as nparr = [1, 2, 3]print("一维数组

2021-08-20 12:46:17 36082 2

原创 Python numpy.mean()-平均数函数

numpy.mean()的使用这个方法是用来计算给定数组沿指定轴的算术平均值的——即平均数这是相关语法numpy.mean(arr, axis=None, dtype=float64)arr表示输入的数据,可以是一维数组或二维数组axis表示计算平均数的轴,dtype表示计算平均数时使用的数据类型。默认为float64示范// 一维数组import numpy as nparr = [1, 2, 3]print("一维数组 :", arr)print("平均数:", np.mean(a

2021-08-20 12:09:26 39728 3

原创 pandas.DataFrame.iloc的使用

pandas.DataFrame.iloc的使用今天学习时遇到了这个方法,为了加深理解做一下笔记。这是该方法的文档,从中可以看出,中括号里允许输入可情形有5种。此外,iloc方法既可以索引行数据,也可以列数据。//首先创建DataFrameimport pandas as pdimport numpy as npdf = pd.DataFrame({'城市':['北京','广州', '天津', '上海', '杭州', '成都', '澳门', '南京'],

2021-08-19 18:17:06 4619

原创 Android EditText密码框的可见性设置

Android EditText密码框的可见性设置最近写安卓时要实现密码可见性转换,经过查找资料后发现了两种方法可以实现。方法一通过setInputType()方法实现passwordEditText.setInputType(0x91);//设置密码可见passwordEditText.setInputType(0x81);//设置密码不可见passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TE

2021-08-16 13:12:13 828

转载 用例图四种关系

转载自:http://blog.csdn.net/ls1645/article/details/42969587四种关系关联泛化包含扩展关联关联关系通常用于描述参与者与用例之间的关系。表示方式:带箭头的实线,箭头指向用例。(有的教材直接用实线表示)泛化泛化关系描述的是一般用例与特殊用例之间的关系。注:一般用例也被称为父用例,特殊用例也被称为子用例两者之间存在继承关系表示方式:带空心箭头的实线,箭头由特殊用例指向一般用例。包含包含关系描述了其中一个用例(基础用例)的行为包含了另一个用例(包

2021-07-05 17:50:39 7253

原创 Error: Cannot find module ‘express‘

问题描述:express安装了但进入node环境下执行require(‘express’)还是报错。确定安装了express进入node环境下执行require(‘express’)报错但进入express的安装目录后再进入node环境下执行require(‘express’)就可以。经过查了一些资料后的知道了原来是没有配置环境变量。进入设置环境的地方选择编辑下列的变量新增express的安装路径最后,成功解决问题...

2021-07-05 17:41:07 588

空空如也

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

TA关注的人

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