- 博客(13)
- 收藏
- 关注
原创 Android Studio 如何打JAR包(亲测)
步骤1-依赖步骤2-载library种编写task当你编译完工程后其实library的所有java文件已经生成了包含class的classes.jar包,如下图所示:这个为了方便给出一个task将改classes.jar导出到library的build/libs/下,并修改名字为mysdk.jar(名字随意)。
2025-01-20 10:40:49
390
原创 2024年必读的各类网络安全书单
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。(都打包成一块的了,不能一一展开,总共300多集)
2025-01-20 09:07:33
553
原创 MySQL提升笔记(2):存储引擎盘点
它不支持BLOB或TEXT类型的列,并且每行的长度是固定的,所以即使指定了VARCHAR列,实际存储时也会转换成CHAR,这可能导致部分内存的浪费(其中一些限制在Percona版本已经解决)。如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存的 MEMORY 引擎中,MySQL 中使用该引擎作为临时表,存放查询的中间结果。InnoDB表是基于聚簇索引建立的,InnoDB的索引结构和MySQL的其他存储引擎有很大的不同,聚簇索引对主键查询有很高的性能。
2025-01-18 08:44:01
684
原创 mysql忘记root密码解决方法(版本mysql-8
问题截图问题描述在Navicat无法创建连接(重置密码也可以用这种方法)问题原因mysql密码错误解决办法。
2025-01-18 08:41:59
394
原创 【spring-kafka】@KafkaListener详解与使用
属性将会从容器中获取的值,如果不存在就默认用3@KafkaListener详解。
2025-01-14 14:58:09
1056
原创 【Rust指南】快速入门 开发环境 hello world_rust开发是啥
本篇博客是Rust语言系列的开篇之作,以后有关Rust语言的文章也都会收录在我的《进军Rust》专栏里,我会精心打造这个专栏,帮助大家快速入门Rust语言,享受Rust语言带来的编程乐趣。虽然Rust相比其他语言入门慢,但这恰巧说明了Rust语言的特色——安全高效。对Rust语言感兴趣的朋友可以订阅此专栏,我将会持续输出Rust语言编程技能。
2025-01-14 14:50:46
363
原创 Kotlin中的空判断处理
最后赋值了”Lily“,然后传给sayHello(name),这里并没有做非空判断啊,sayHello接受的是不可空的String,但是name是一个可空String啊,道理也很简单,因为这是局部变量,没有子线程的干扰,IDE能检测到name在传给sayHello之前是赋值了”Lily"的,之后没有再赋值为null也是能检测出来的,所以这里不需要做可空判断也能编译通过。可以看到,此时不需要添加!也不报错了,因为IDE知道name是一个不可变属性,判断了不是空之后,就永远不可能是空了。
2025-01-11 21:17:36
799
原创 kotlin 入门到精通 单例模式(六)
说到延迟加载就直接跳到线程安全且性能较好的doubleCheck吧,若是用java实现会用2层check,第一层判断减轻锁的负担直接判断是否创建过,第二层判断加锁保证线程安全,最后用volatile禁止重排序防止编译器优化导致的线程安全问题。java的单例模式几种写法都已经很熟悉了,但转到kt时如果用java写法实现倒显得怪异了,有的可以借助kt的约定轻松完成。可以看到上文,把val doubleCheckSin委托给了lazy, get时返回的是lazy.kt的value。上面的代码对应的地方加了注释。
2025-01-11 21:13:56
610
原创 kotlin 入门中文教程(1)
修饰符类成员顶层声明public(默认)所有地方可见所有地方可见internal模块中可见模块中可见protected子类中可见private类中可见文件中可见访问器的默认实现逻辑很简单:创建一个存储值的字段,以及返回属性值的 getter 和更新属性值的 setter。如果需要的话,也可以自定义访问器例如,以下就声明了三个带自定义访问器的属性get() {field =!value。
2025-01-11 21:10:14
787
原创 Android ContentProvider实现两个程序间数据共享demo,跨进程通讯
/ // 通过ContentUris类从URL中获取ID。// // 通过ContentUris类从URL中获取ID。
2025-01-10 06:31:50
158
原创 Android C++ 系列:Linux Socket 编程(二)网络套接字函数_安卓用c++ 套接字组包
本文介绍了网络套接字函数:socket、bind、listen、accept、connect等。文末放一个小福利给大家,扫描下方二维码:群内有许多技术大牛,有任何问题,欢迎广大网友一起来交流,群内还不定期免费分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!
2025-01-10 06:28:09
936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人