后端

JVM

内存区域 程序计数器、虚拟机栈、本地方法栈这三个是线程私有的;堆、方法区是线程公有的; 程序计数器:记录线程走到字节码的哪一行; 虚拟机栈:由栈帧组成,每个栈帧包含局部变量表、操作数栈、动态链接、方法返回地址,当执行到一个方法的时候,就会把这个方法以栈帧形式压入栈 本地方法栈:与虚拟机栈差不多,只不过这个栈是给本地方法用的 堆:堆的垃圾回收算法常用的是分代回收法,所以堆被划分出新生代,老年代; 方

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

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

Redis中Key中为什么要使用{}

一、Redis集群介绍 Redis集群是一个提供在多个Redis间节点间共享数据的程序集,Redis集群能够实现key的分片,分片能使key均匀地分布到集群的机器上去,能保证数据的一致性。 二、使用Redis集群需要注意的点 从Redis单实例切换到twemproxy集群时,有些需要注意的地方。 1、不支持的方法: KEYS、MIGRATE、SCAN等 2、支持但需特殊处理的方法: MSET、SI

练琴,系统性思考的一个好处

一个非常好的好处便是,可以迅速找到问题的“关键解”,从而更快速地解决问题。 在书籍《好好学习》中,有对“关键解”的解释: “所谓系统关键解,是指一个系统中的特定位置——对其施加一个小小的变化,就能导致系统行为发生显著的变化”。 举一个在练琴过程中,困扰了许多学琴者的例子:不知道如何将自己的手速提上去。 其实,这个问题中的“关键解”,就在于学琴者对手指练习的方式上。 如果在练习的过程中,没有遵循由简

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

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

Buffer/ByteBuffer/ByteBuf详解

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

网络爬虫【爬虫库urllib】

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

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 提示:

k8s-实战入门-Pod详解(十)

本章节将详细介绍Pod资源的各种配置(yaml)和原理。 5.1 Pod介绍 5.1.1 Pod结构 每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少。 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据,评估整个Pod的健康状态 可以在根容器上设置IP地址,其它容器都此IP(Pod IP),以实现