后端

安卓逆向第八篇:脱壳原理分析

如果你是想直接用 FART github 直接装完一用就行了。 本文完! 如果想继续了解 注意点: 1、多dex: 使用脱完之后,可能会有很多dex文件。fart脱出来的dex文件会伴随着同名的txt文件。如果有想找的类名,可以grep类名到txt文件找,然后再找同名的dex。 2、打开异常: 可能是dex的开头魔数故障

Buffer/ByteBuffer/ByteBuf详解

ByteBuffer ByteBuffer是一个抽象类,NIO编程中经常会使用,Netty常用的ByteBuf实际上也是对其的一种封装 Byte即字节,一个8位的二进制 Buffer即缓冲区,所谓缓冲区,其实就是一个临时存储数据的容器(可以理解为一个数组),而且一般可以重用 缓冲区 缓冲区有什么用呐? 减少实际的物理读写次数 缓冲区创建时分配固定内存,这块内存区域可被重用,减少动态分配和

1351. 统计有序矩阵中的负数

1.题目 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1: 输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出:8 解释:矩阵中共有 8 个负数。 示例 2: 输入:grid = [[3,2],[1,0]] 输出:0 提示:

浅聊一下JVM内存结构

VM内存结构大致如下: 其中白色块部分是线程共享的,粉色块是线程隔离的 堆 堆是JVM中最大的一块内存空间,绝大部分对象都存在堆内存内,然后堆又可以做以下细分: 虚拟机栈 虚拟机栈由栈帧组成,每一次方法调用都会创建一个栈帧,然后去压栈。当方法返回时,则对应着出栈操作。 栈帧中包含局部变量表、操作数栈、指向运行时常量池的引用、方法返回地址、动态链接。 方法里

爬虫+动态代理助力 AI 训练数据采集

文章目录 引言 新手之选:网页抓取API 可靠之选:动态住宅代理 总结 引言近年来,AI 技术飞速发展,很多朋友都投身于 AI 模型的训练。然而,相较于模型的获取,高质量的数据往往更加难以收集。一方面,互联网每天都在源源不断地产生新数据,另一方面,各大网站

JavaGuide知识点整理——JVM垃圾回收

本篇文章的基本脉络 知识点脉络 当需要排查各种内存溢出问题,当垃圾收集称为系统达到更高并发的瓶颈时,我们就需要对这些自动化技术实施必要的监控和调节。 揭开JVM内存分配与回收的神秘面纱 java的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时java自动内存管理最核心的功能是堆内存中对象的分配与回收。 java堆是垃圾收集器管理的主要区域,因此也被称为GC堆。从垃圾回

LeetCode - #125 验证回文串

前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新到 124 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。 不积跬步,无以至千里;不积小流,无以成江

【存储中间件】Redis核心技术与实战(五):Redis缓存使用问题(BigKey、数据倾斜、Redis脑裂、多级缓存)、互联网大厂中的Redis

文章目录 Redis缓存使用问题 BigKey 什么是bigkey bigkey的危害 发现bigkey scan 解决bigkey 数据倾斜 Redis脑裂 哨兵主从集群脑裂 集群脑裂 多级缓存实例 互联网大厂中的Redis 整体方案 数据准确性 并发控制 基于updateTime的更新顺序控制

网络爬虫【爬虫库urllib】

  我叫不三不四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲爬虫 urllib介绍Urllib是Python自带的标准库,无须安装,直接引用即可。 Urllib是一个收集几个模块来使用URL的软件包,大致具备以下功能。 ● urllib.request:用于打开和读取URL。 ● u

11. 类的关系——依赖关系

1、特点 指一个类A使用到了另一个类B 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A 表现:类B作为参数被类A在某个方法中使用(形参) 2、代码实现 2.1 形式参数 //依赖关系 //公交车类 public class Bus { private int num; private String name; public Bus() {