自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(195)
  • 资源 (6)
  • 收藏
  • 关注

原创 Chrome浏览器必装插件!尤其程序猿!

Chrome 浏览器有一个好处,就是插件极其丰富,只有你想不到的,没有你找不到的,这恐怕是 Chrome 浏览器被众多爱好者钟爱的原因吧。言归正传,今天来给大家推荐 10 款我自己珍藏的 Chrome 浏览器插件。1、crxMouse Chrome™ 手势crxMouse 可以方便、快捷、充分挖掘鼠标的所有操作,主要的功能包括:鼠标手势、超级拖曳、滚轮手势、平滑滚动、标签页列表等等。crx...

2020-04-14 17:26:13 1170

原创 Android API 30及更高版本网络权限设置

在 Android API 30 及更高版本中,Google 引入了更严格的网络安全策略,其中包括对应用程序的网络访问权限进行了更多的限制。是清单文件(AndroidManifest.xml)中的配置项,用于指定应用程序是否允许明文流量(非加密流量)的网络请求,明文流量是指未经加密的网络流量,可能存在安全风险。配置项,您可以灵活地定义应用程序的网络安全策略,以确保应用程序与网络资源之间的安全通信。:应用程序将被限制只能发送加密流量的请求(即 HTTPS 请求)。:应用程序可以发送明文流量的网络请求;

2024-03-14 14:40:20 494

原创 Linux ping命令详解

PING(Packet Internet Groper), 因特网包探索器,用于测试网络连接量的程序。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送ICMP(Internet Control Message Protocol 因特网报文控制协议) Echo 请求报文,测试目的站是否可达及了解其有关状态。在网络中ping是一个十分强大的TCP/IP工具。用来检测网络的连通情况和分析网络速度;根据域名得到服务器IP;

2024-01-27 22:45:55 1506

原创 Android adb命令logcat日志分析

logcat是android中的一个命令行工具,可以用于得到程序的log信息。下面介绍adb logcat中的详细参数命令以及如何才能高效的打印日志,或者把日志保存到我们指定的位置。

2024-01-25 21:55:32 1585

原创 Linux下的Swap内存

swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是swap分区也可以是swap文件。当系统物理内存吃紧时(所谓的吃紧,应该是指当释放了Cache和Buffer的内存,内存还是不够用~),Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是常说的换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高。

2023-09-18 20:54:18 799 1

原创 Linux下的buff/cache

在Linux系统中,内存管理是一项极为重要的任务,内核通过分配页面来管理系统的内存。在保证内存有足够的空闲页可用的前提下,内核会尽量将页面分配给进程,以便进行内存管理。但是,当进程的内存需求超过了系统可用内存,内核就需要进行一些特殊的处理,通常是将部分进程的页置换到磁盘上的。则在内核获得了足够的可用空闲页面之后,利用这些页面创建缓存,并将被频繁读取的文件系统数据存储在缓存中。可以根据系统的实际情况进行调整,以提高系统的性能。默认值设置得很保守,可以根据系统的需求进行调整,以提高系统的性能。

2023-09-17 19:00:25 1476 1

原创 Linux命令:free命令

free命令可以显示Linux系统中空闲的已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。参数说明-b以Byte为单位显示内存使用情况-k以KB为单位显示内存使用情况-m以MB为单位显示内存使用情况-g以GB为单位显示内存使用情况-h根据内存大小自动选择合适的单位显示-o不显示缓冲区调节列-s持续观察内存使用状况-c和-s配合使用-t显示内存总和列-V显示版本信息。

2023-09-17 18:45:16 2939

原创 Android应用代码中获取鸿蒙系统信息

Android应用可以在鸿蒙系统中运行是因为鸿蒙系统提供了一种兼容层(compatibility layer)来支持Android应用的运行。鸿蒙系统的兼容层是一个软件层,用于在鸿蒙系统内部模拟Android运行环境。这个兼容层可以实现在鸿蒙系统上运行Android应用的关键功能,例如处理Android应用程序包(APK)的安装、解析和执行,还包括实现Android应用所依赖的核心组件、库和API的功能。

2023-07-20 21:04:13 1248

原创 top命令详解

top命令,它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。-d :指定 top 命令的刷新时间间隔,单位为秒。-n :指定 top 命令运行的次数后自动退出。-p :仅显示指定进程ID的信息。-u :仅显示指定用户名的进程信息。-H:在进程信息中显示线程详细信息。-i:不显示闲置(idle)或无用的进程。-b:以批处理(batch)模式运行,直接将结果输出到文件。-c:显示完整的命令行而不截断。-S。

2023-07-19 23:02:40 3626 1

原创 SpringBoot之Transactional事务

如果方法没有关联到一个事务,容器不会为他开启事务,如果方法在一个事务中被调用,该事务会被挂起,调用结束后,原先的事务会恢复执行。每一条语句处于一个单独的事务中,在这条语句执行完毕时,如果执行成功则隐式的提交事务,如果执行失败则隐式的回滚事务。事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。如果方法已经运行在一个事务中,则原有事务挂起,新的事务被创建。如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务。

2023-06-04 03:09:42 2821

原创 Redis过期删除策略和内存淘汰机制

除了定时遍历之外,它还会使用惰性策略来删除过期的key,所谓惰性策略就是在客户端访问这个key的时候,Redis 对 key 的过期时间进行检查,如果过期了就立刻删除。假如你的过期key,靠定期删除没有被删除掉,还停留在内存里,除非你的系统去查一下那个key,才会被Redis给删除掉,这就是所谓的惰性删除,即当你主动去查过期的key时,如果发现key过期了,就立即进行删除,不返回任何数据。,过期扫描不会遍历过期字典中所有的 key,而是采用了一种简单的贪心策略。,主库在 key 到期时,会在。

2023-05-24 00:37:06 1220

原创 IDEA项目代码标红,但可以正常编译运行

有时候打开项目工程,会遇到莫名其妙的代码飘红报错,但是代码却可以正常编译运行。这个原因是因为IDEA有缓存,只需要刷新一下缓存就好了。然后重启IDEA,OK~困扰多年的问题解决!

2023-05-23 19:13:02 2700 1

原创 Redis为什么快?

不过这里要注意,如果Redis中有海量的 key 值的话,这个ReHash过程会很长很长,虽然采用渐进式ReHash,但在ReHash的过程中还是会导致请求有不小的卡顿,并且像一些统计命令也会非常卡顿,比如keys按照Redis的配置每个实例能存储的最大的key的数量为2的32次方,即2.5亿,但是尽量把key的数量控制在千万以下,这样就可以避免ReHash导致的卡顿问题,如果数量确实比较多,建议采用分区hash存储。所以,我们常说,一个哈希表是由多个哈希桶组成的,每个哈希桶中保存了键值对数据。

2023-05-21 14:26:31 2254 2

原创 PostgreSQL EXTRACT 日期函数

的 DML(即数据库管理语言)函数,它主要用于从一个日期或时间型的字段内抽取年、月、日、时、分、秒等数据,函数返回类型为。如果我们数据库表中存储的字段类型是TIMESTAMP,但是我们查询结果想返回毫秒时间戳,该如何转换呢?

2023-05-21 01:14:25 1847

原创 count(列名)、count(1)、count(*)的区别

这是SQL92定义的标准统计行数的语法,跟数据库无关,与NULL也无关。:在统计时,会忽略列值为空的数据,就是说某个字段的值为null时不统计。:用1表示代码行,在统计时,不会忽略列值为null的数据;:包括了所有列,在统计时,不会忽略列值为null的数据;是统计列值数量,不计NULL,相同列值算一个。

2023-05-19 23:10:13 630

原创 UML类与类之间的关系

依赖(Dependency)关联(Association)聚合(Aggregation)组合(Composition)泛化(Generalization)实现(Implement)关系的强弱顺序:(由强到弱)实现泛化组合聚合关联依赖关系越弱,耦合度越低,关于耦合度可以简单的理解为,当一个类发生变更时,对其他类造成的影响程度,影响越小则耦合度越弱,影响越大耦合度越强。依赖关系比较好区分,它是耦合度最弱的一种,在编码中表现为类成员函数的局部变量、方法参数、返回值或对静态方法的调用;关联聚合与组合。

2023-03-25 02:24:16 709

原创 Java List<Map<String, Object>>排序

在开发过程中,我们经常会遇到List格式的数据,需要根据Map集合的某一键值进行排序,我们可以使用Comparator工具类对其排序。废话不多说,直接上代码。

2023-03-11 18:05:21 2305

原创 Linux下配置完环境变量后,ls、vi等命令失效

最近在Linux环境下,设置完JAVA环境变量之后,突然发现。然后在将之前修改的环境变量回退,重新进行设置即可。

2023-03-08 21:36:16 1429

原创 MySQL中int(10)和int(11)的区别

显示宽度整数类型的取值范围是无关的。显示宽度只是指明 mysql 最大可能显示的数字个数,数值的位数小于指定的宽度时左侧用数字 0 填充。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。

2023-02-27 20:16:01 3114

原创 PostgreSQL 对于大小写敏感总结

在开发中,使用PostgreSQL数据库时,SQL查询结果转Map后,发现查询字段在Map中不存在,仔细核对后发现,字段全部转换成小写的啦。查找资料发现,在默认的情况下,PG数据库把所有的SQL语句都会转化成小写,再执行。那么如果一定要保留大写的该如何处理呢?SQL 语法关于双引号的规则:;,并且允许在标识符中使用空白。 在双引号中,,比如, FOO"BAR"BAZ 解析成fooBARbaz,而 “A weird”" name" 变成 A weird" name。举个例子:未添加引号查询结果:添加引号查

2023-02-21 21:46:27 1275

原创 Git 基本命令汇总

适用于在其他分支上修复了bug,但是这个bug在当前分支上依然存在,所以可以复制这个commit的过程,不必重写代码。在开发过程中,我们基本都是使用Git进行代码管理,Git命令是必须要会的,下面就把Git常用命令总结下来。的话会用一个vim打开文件让你写入massage,有未追踪的文件将会失败,需要。是指直接在后面写上版本的注释,不加。在我们不指定专门的文件夹的时候,默认比较的是整个项目。

2023-02-19 23:27:52 1714 1

原创 Spring Boot 接口响应内容中文乱码

最近发现某个接口响应内容中文乱码(之前此接口一直没有返回过中文,因此一直未发现此问题)。

2023-02-15 21:20:56 1048

原创 Android 根据mapping文件还原混淆代码

app发布的时候都会做混淆处理,但是当发生错误的时候,只能看到一些混淆后的代码很难看清楚哪里错了,那么如何将混淆后的代码进行还原呢?Android sdk 目录下有专门的工具可以帮助我们进行还原。

2023-02-09 16:07:58 3202

原创 Mac 打开JD-GUI报错:ERROR launching ‘JD-GUI‘

Mac下打开JD-GUI报错:ERROR launching 'JD-GUI'No suitable Java version found on your system

2023-01-30 21:02:16 1406

原创 VisualVM 启动报错Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)

【代码】VisualVM 启动报错Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)

2023-01-06 19:31:52 1047 3

原创 Java之线程状态

New- 新建状态;Runnable- 运行状态;Blocked- 被阻塞状态;Waiting- 等待状态;- 超时等待状态;Terminated- 终止状态;,但没有调用start()方法,线程处于New状态;,且调用了start()方法,线程处于Runnable状态;,且调用了start()方法,run()方法中调用了或方法,线程处于Waiting状态;,且调用了start()方法,run()方法中调用了方法,线程处于状态;,且调用了start()方法,run()方法中获取monitor。

2022-12-30 00:35:13 523

原创 iostat 命令详解

iostat是Linux系统上查看I/O性能最基本的工具,其全称为。iostat主要用于输出磁盘IO和CPU的统计信息。iostat的输出结果大多数是一段时间内的平均值,因此难以反映峰值情况;iostat仅能对系统整体情况进行分析汇报,却不能针对某个进程进行深入分析;iostat未单独统计IO处理信息,而是将IO处理时间和IO等待时间合并统计,因此包括await在内的指标并不能非常准确地衡量磁盘性能表现。

2022-11-24 22:27:18 4803

原创 Git 之 git tag标签使用

tag可以称它为标签。简单的理解,tag就是对某次commit的一个标识,相当于起了一个别名。例如,在项目发布某个版本的时候,针对最后一次commit起一个v2.0这样的标签来标识里程碑的意义。tag轻量标签(lightweight):只是某个commit的引用,可以理解为是一个commit的别名;附注标签(annotated):是存储在git仓库中的一个完整对象,包含打标签者的名字、电子邮件地址、日期时间以及其他的标签信息。

2022-10-20 22:32:44 5225

原创 SpringBoot之ApplicationRunner

在开发的过程中,有时候我们的应用在启动后需要执行一些操作,比如初始化配置、加载模板文件等等。我们可能第一个想到的是在启动类的main方法中调用,如果后续迭代过程中需要增加其他初始化的操作时,会导致启动类的main方法越来越长,代码看着不友好。// 初始化操作 . . . } }在SpringBoot中,提供了一个接口,可以达到这样的效果。

2022-10-19 21:39:49 1497

原创 Nginx Location配置详解

Nginx Location配置说明

2022-08-27 01:57:04 7735 1

原创 SpringBoot @Value给静态变量注入值

SpringBoot中给普通变量注入值只需在变量上添加@Value注解即可。给普通变量赋值时,直接在变量声明之上添加@Value()注解即可。注需要在类上添加@Component注解。当要给静态变量注入值的时候,若是在静态变量声明之上直接添加@Value()注解是无效的。虽然在编译和运行上没有报错,但是mailName、mailPwd的值都是NULL。那么如何给静态变量注入值呢?Spring不允许/不支持把值注入到静态变量中;Spring的@Value依赖注入是依赖set()方法;set()...

2022-07-16 02:37:45 772 1

原创 SpringBoot @Value注解

直接附在属性名上,在Bean初始化时,会赋初始值。注解将配置文件中的属性注入到容器内组件中(可用在。空时,此时name属性的值为。等Spring托管的类中)没有对应值是,启动报错。

2022-07-16 02:08:17 1439

原创 ClickHouse 函数

文章目录一、日期函数1、时间或日期截取函数(返回非日期)2、时间或日期截取函数(返回日期)3、日期或时间日期生成函数二、类型转化类函数1、精度保留(非四舍五入)2、字符串转化为整数(非整数的字符串返回0)3、日期与时间日期转化4、转化为字符型5、查看数据类型三、字符串操作1、基本字符串操作2、字符串查找3、字符串替换4、字符串分割5、字符串拼接四、条件语句五、数学函数六、舍入函数七、URL操作函数八、IP操作函数九、表操作1、表连接操作2、limit操作十、字典操作一、日期函数1、时间或日期截取函数(返

2022-05-01 01:30:29 12373

原创 SpringBoot AOP切面实现

文章目录一、AOP简介二、AOP体系与概念三、AOP实例1、创建SpringBoot工程2、添加依赖3、AOP相关注解3.1、@Aspect3.2、@Pointcut3.2.1、execution()3.2.2、annotation()3.3、@Around3.4、@Before3.5、@After3.6、@AfterReturning3.7、@AfterThrowing一、AOP简介AOP(Aspect Oriented Programming),面向切面思想,是Spring的三大核心思想之一(其余两

2022-04-30 02:36:49 6958 1

原创 ClickHouse 四舍五入函数

文章目录一、round(x[,N])二、floor(x[,N])三、ceil(x[,N]),ceiling(x[,N])四、trunc(x[, N]), truncate(x[, N])一、round(x[,N])说明:将值取整到指定的小数位数,该函数按顺序返回最近的数字。语法:round(expression [, decimal_places])参数说明:expression:要进行取整的数字,可以是任何返回数字类型的表达式。decimal-places:整数类型。如果de

2022-04-26 22:53:52 1282 2

原创 SpringBoot 集成Mybatis

文章目录一、创建SpringBoot项目二、添加Mybatis相关依赖三、数据源配置四、创建事务的模型实体类五、创建和数据库交互联系的映射关系类六、创建业务接口和实现类七、创建控制器类八、请求验证一、创建SpringBoot项目如何创建详见:IDEA 创建 SpringBoot 项目二、添加Mybatis相关依赖以前开发Web项目我们都知道要想把数据添加到数据库,不仅必须要数据库的驱动程序,还要有各种各样的配置文件,像java Bean配置,数据源配置,对象和数据库字段的映射配置等等。使用Spri

2022-04-26 21:41:28 6374

原创 ClickHouse 客户端命令

文章目录一、简介二、常用命令1、连接命令2、SQL语法(1)查看数据库列表(2)查看当前使用的数据库(3)查看数据库中表列表(4)创建数据库(5)创建表(6)查看表结构(7)删除表(8)删除库(9)清空数据(10)插入数据(11)查询(12)重命名表(13)添加列(14)查看分区信息(15)删除分区(16)查看后台进程(17)杀死后台进程3、导入csv数据4、导入数据时忽略错误5、导出csv数据6、执行sql文件一、简介进入ClickHouse安装目录下的bin目录下,执行如下命令:./clickh

2022-04-11 21:07:37 3114

原创 Java 序列化反序列化框架比较

文章目录一、简介二、序列化框架三、序列化框架对比测试1、对象准备2、JDK方式3、FastJson方式4、Hessian方式5、Protostuff方式6、测试代码四、总结五、序列化应用场景六、注意事项一、简介序列化:将Java对象转化成字节数组。反序列化:将字节数组转化成Java对象。影响序列化选择有两个因素:序列化之后码流的大小,如果太大,那么将会影响网络传输的性能。序列化和反序列化过程的性能。二、序列化框架本文主要进行以下序列化框架的对比测试:JDKFas

2022-04-10 19:55:27 1290

原创 SpringBoot —— @ComponentScan注解

文章目录一、作用二、注解属性说明三、使用方式一、作用主要是从定义的扫描路径中,找出标识了需要装配的类自动装配到Spring的bean容器中。简单的说就是 @ComponentScan告诉Spring从哪里找到bean,一旦指定了,Spring就会将指定的包及其下级的包中寻找bean。在SpringBoot项目中,我们并没有显示的看到该注解,但是仍然能扫描到bean呢?其实,在创建SpringBoot项目中,默认在启动类上添加了@SpringBootApplication注解,该注解中包含@Com

2022-04-09 22:06:58 1374

原创 SpringBoot —— Bean的注入方式

文章目录1、组件注解2、@Component + @Bean3、@Import(PlaceHolderClass)快速导入一个组件4、使用Spring提供的FactoryBean注入1、组件注解注解描述@Component组件定义不清晰时候的注解@Controller控制器层@Service服务层@Repository数据层注:添加注解的类需要与启动类在同一个包路径下,如果在别的包下,需要在 启动类 或 启动类所在包下的存在以上注解的类 中添加 @Co

2022-04-06 14:48:06 5091

ClickHouse中文文档

ClickHouse中文文档

2022-04-11

自定义Gradle插件

自定义gradle插件实现,以及通过插件来修改编译后的class文件和监控Task任务执行情况

2019-03-10

打造万能的ListView适配器(ViewHolder+CommonAdapter)

打造万能的ListView适配器(ViewHolder+CommonAdapter)

2017-02-07

android ProgressBar扫描SD卡文件

android ProgressBar扫描SD卡文件

2013-09-25

android软件首次运行引导页左右滑动效果

android源码软件首次运行引导页左右滑动效果,跳转页面有动画

2013-09-24

android开发MediaPlayer+Service MP3音乐播放器

Mediaplayer+Service实现的MP3播放器。 1、具有左右滑动屏效果 2、支持后台播放 3、进度条刷新 4、播放模式(顺序、循环、随机、单曲)选择及其他一些基本功能。

2013-09-21

空空如也

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

TA关注的人

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