拯救安卓11中的System分区 前言前段时间,打算给我的小米9刷一个澎湃的系统,但是在刷机的时候,发现了一个问题,就是在小米9中安卓11中的System分区容量不足,需要手动扩容。但是经过我的错误扩容操作后经过出现一点小失误,导致手机无法开机,System分区损坏,只能进入fastboot模式。同时进入系统提示System被破坏,这篇文章就是记录我是如何拯救安卓11中的System分区的(不想交钱9008)。 准备工作 一台电脑 2024-05-06 #搞机 #安卓 #系统
类加载和类加载器 类的生命周期类的生命周期包括加载、验证、准备、解析、初始化、使用和卸载七个阶段。 其中,验证、准备、解析三个阶段统称为连接阶段。 具体的加载顺序为:加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载。 加载加载阶段是类加载过程的第一步,主要是完成以下步骤: 通过类的全限定名来获取类的二进制数据。 将类的二进制数据加载到内存中,并创建 2024-04-26 #Java
Zookeeper,Etcd和Redis做微服务中间件的特点 前言在微服务架构中,中间件是非常重要的一环,它可以帮助我们解决服务注册、服务发现、服务调用、负载均衡、熔断降级、配置管理等问题(其实主要是有个面试问了这个)。在中间件时候,Zookeeper、Etcd和Redis是非常常见的中间件(同时也被问到过他们之中的优缺点)。同时,在手写的玩具RPC框架中,三者都可以做为注册中心,本文也会对这三种中间件在注册中心中的使用进行对比分析。 RedisRedis的 2024-04-14 #Java
联想一面面试复盘 联想一面面经 英语自我介绍 项目介绍 项目用了Nacos,他的配置中心能不能动态更新,怎么动态更新 Dubbo的默认服务调用方式是什么 MySQL的索引有哪些 MySQL的事务是基于什么实现的 索引失效的情况有哪些 如果有a,b,c三个联合索引,查询条件是a和b,这个查询会不会用到索引,a和c呢 SpringBoot的LOC了解吗 提到了SPI,SpringBoot配置创建是怎么实现的 Sprin 2024-04-12 #Java
Redission中RateLimiter相关的使用 Redission中RateLimiter相关的使用RateLimiter对象介绍RateLimiter是一个限流器,可以用来限制某个操作的频率,比如限制某个接口的访问频率。RateLimiter是基于令牌桶算法实现的,它可以控制每秒的访问次数,可以设置每秒的访问次数,也可以设置每秒的访问次数和每次请求的令牌数。 12String redisKey = "rateLimiter" 2024-03-31 #Java #Redis
第一次面试-Opay 第一次面试-Opay总之第一次面试答得不好,针对博客之前的内容印象不是很深刻,所以这里整理一下之前的内容,以便下次面试的时候能够更好的回答问题。待整理 大致的问题合集 Java中的集合有哪些 谈到双端队列,是什么,有什么使用场景 谈到阻塞队列,除了生产者消费者模型,还有什么场景 InputStream和BufferInputStream的区别,有什么优点 谈到了多线程,可以用什么做线程间同步 Th 2024-03-29 #Java #面试
JVM垃圾回收机制 Java 内存区域JDK1.7以前的内存区域 JDK1.8以后的内存区域 程序计数器 线程私有 记录当前线程执行的字节码的行号 如果是Java方法,计数器记录的是字节码的行号 如果是Native方法,计数器值为空 如果是多线程,每个线程都有一个独立的计数器 虚拟机栈 线程私有 每个方法执行的时候都会创建一个栈帧 每个栈帧包含局部变量表、操作数栈、动态链接、方法出口等信息(类似于C语言中的栈) 2024-03-28 #Java #JVM
常见八股文集合 Java== 和 equals的区别 ==针对基本类型时比较的是对象的值,针对引用类型比较的是对象的指向的内存地址是否相等。 equals针对的比较对象是引用类型, 在Java中Object对象是所有对象的父类,所以每个类都会有个equals的方法,如果你没有重写它那些它与==的效果是一样的,可以通过源代码查看。 例子 1234St 2024-03-20 #Java #Redis #Mysql
Java并发机制的底层实现 volatile在多线程并发编程中synchronized和volatile都扮演着重要的角色,相较于synchronized,volatile更加轻量级,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能同时读到这个修改的值。 volatile变量修饰的共享变量进行写操作的时候会使用处理器提供的Lock指令,将这个变量所在缓存行的数据写回到系 2024-03-18 #Java
使用ESXi虚拟机安装K8s带GPU的节点 前言安装步骤创建虚拟机这个没啥可说,在虚拟机软件中创建虚拟机即可 注意安装的系统版本,应选择使用与后文中安装脚本相同的系统版本,我这边安装的是Ubuntu 20.04 服务器版本 安装k8s我这边选择的安装工具是KubeSphere,他有完善的功能和图形化界面,可以很方便的对其进行安装。 官网文档地址 安装KubeSphere单节点服务下载 KubeKey使用下面的命令安装KubeKey 123e 2024-03-15 #运维,k8s
k8s基础知识入门 前言k8s是一个开源的容器编排引擎,它可以自动化地部署、扩展和管理容器化的应用程序。k8s是由Google设计并捐赠给Cloud Native Computing Foundation(CNCF)的,它是一个开源的容器编排引擎,它可以自动化地部署、扩展和管理容器化的应用程序。 DeploymentDeployment 会指挥 Kubernetes 如何创建和更新应用程序的实例。创建 Deploym 2024-03-15 #运维
记录一次处理kswapd0挖矿病毒 前言睡觉起床发现阿里云给我发短信,提醒中病毒,然后登录服务器发现CPU占用率100%,查看进程发现kswapd0占用CPU,然后查看日志发现有存在的挖矿病毒。 处理步骤参考了这篇文章 https://blog.csdn.net/qq_47831505/article/details/123939089 参考二 参考三 处理步骤打开阿里云的安全日记,可以看到具体的病毒文 2024-02-20 #运维 #挖矿病毒
Spring AOP的基础使用 基础简介AOP,全称Aspect Oriented Programming,中文是“面向切面编程”,是一种可以在不修改原来的核心代码的情况下给程序动态统一进行增强的一种技术。 SpringAOP: 批量对Spring容器中bean的方法做增强,并且这种增强不会与原来方法中的代码耦合 AOP最基本的运用是将原有的函数与附加函数进行解耦合操作,使其能够对原有代码进行增强; 简单使用Spring AOP 2024-01-17 #Java
计算机网络期末复习 第一章互联网组成互联网组成:核心部分——路由器为主、边缘部分——终端为主 边缘:网络服务模式;P2P——对等网、C/S——客户机/服务器 核心:交换方式; 电路交换与分组交换、面向连接与面向无连接 电路交换过程:一条通路,传输效率?交换机雏形,人工交换——>程控交换,计算机程控交换 分组交换过程:多路并发,数据传输效率高,但转发有时延 报文转发可理解为一个分组的转发,效率 2023-12-25 #计算机网络
团队中Git使用相关规范 前言在看这篇文章前,你需要了解 Git 的基本操作,如果你还不了解,可以查看 Git 基本操作。 对于新人而言,学完 Git 的基本操作后,如何在团队开发中使用 Git 了以及了解相关的规范是非常重要的。 本文主要介绍团队中 Git 使用相关规范,以及开源项目的项目管理规范,包括分支管理、Commit Message 规范、代码 Review 规范等。除此之外,还会介绍一些有关DevOps的内容, 2023-11-26 #Git
MySql的表空间 独立表空间结构区(extent)空间中的页实在是太多了,为了更好的管理这些页面,设计InnoDB的提出了区(英文名:extent)的概念。对于16KB的页来说,连续的64个页就是一个区,也就是说一个区默认占用1MB空间大小。不论是系统表空间还是独立表空间,都可以看成是由若干个区组成的,每256个区被划分成一组。 第一个组最开始的3个页面的类型是固定的,也就是说extent 0这个区最开始的3个页 2023-09-14 #MySQL #数据库
RPC与多线程 为什么使用Go不使用C++等语言 因为Go语言有go程,可以方便创建以及使用线程 Go是类型安全和内存安全的,不需要像c++一样处理复杂的内存问题 同时,这门语言比C++简单 分布式下的多线程操作在分布式下,客户端可能需要对多个进行处理,这时候就要使用多线程对其进行操作。 IO多路复用并行性 2023-09-04 #分布式系统
MySql-索引 没有索引的情况在一个页中的查找假设目前表中的记录比较少,所有的记录都可以被存放到一个页中,在查找记录的时候可以根据搜索条件的不同分为两种情况: 以主键为搜索条件 在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。 以其他列作为搜索条件 对非主键列的查找的过程可就不这么幸运了,因为在数据页中并没有对非主键列建立所谓的页目录,所以我们无法通过二分法快 2023-07-17 #MySQL #数据库
算法设计课程期末考试笔记 逆序对计算的分治算法12345678910111213141516171819202122232425262728293031323334353637383940# 逆序对计算的分治算法def count_inversions_dc(A): lenA = len(A) if lenA <= 1: return 0, A middle = lenA // 2 2023-06-28 #算法
MySQL InnoDB存储引擎 MySQL 存储引擎存储引擎的概念MySQL服务器把数据的存储和提取操作都封装到了一个叫存储引擎的模块里。为了实现不同的功能,MySQL提供了各式各样的存储引擎,不同存储引擎管理的表具体的存储结构可能不同,采用的存取算法也可能不同。 为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL server的功能,把真实存取数据的功能划分为存储引擎的功能 2023-06-19 #MySQL #数据库