后端

【算法题】2498. 青蛙过河 II

题目: 给你一个下标从 0 开始的整数数组 stones ,数组中的元素 严格递增 ,表示一条河中石头的位置。 一只青蛙一开始在第一块石头上,它想到达最后一块石头,然后回到第一块石头。同时每块石头 至多 到达 一次。 一次跳跃的 长度 是青蛙跳跃前和跳跃后所在两块石头之间的距离。 更正式的,如果青蛙从 stones[i] 跳到 stones[j] ,跳跃的长度为 |stones[i] - ston

【MySQL】数据类型和表的操作

目录一. 常用的数据类型1.数值类型1.1 整形类型 1.2 浮点型类型2.字符串类型char和varchar的区别如何选择char和varchar3.日期类型4.二进制类型二. 表的操作1.查看所有表2.表的创建3.查看表的结构4.表的修改4.1 添加新的列 4.2 修改表中现有的列 4.3 删除表中现有的列4.4 重命名表中现有的列 4.5 重命名当前表5.表的删除一. 常用的数据类型在我们日

双亲委派机制

前言 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将其class文件加载到内存生成class对象。Java虚拟机采用了双亲委派机制对class文件进行加载。 ClassLoader JVM中提供了三层的ClassLoader:Bootstrap ClassLoader,ExtClassLoader,APPClassLoader。 Bootstrap Clas

[docker]基于Centos7安装Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker的应用场景: Web 应用的自动化打包

并发编程-JMM内存模型

一、定义 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。 JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存

深入解析MySQL(6)——存储过程、游标与触发器

1.存储过程 概念:存储过程是一组预编译的SQL语句集合,存储在数据库中,可通过名称调用。支持条件判断、循环等逻辑控制,适合封装复杂业务逻辑 优势: 性能优化:存储过程在创建时已经经过编译和优化,形成可执行的二进制代码,直接存储在数据库服务器中。性能高于单独执行时需要解析、编译的

HashMap

核心成员变量 JDK7 Entry[] table。Entry存储了HashMap的真正数据 size大小,代表HashMap内存储了多少个键值对 capacity容量。实际上HashMap中没有一个成员叫capacity,它是作为table这个数组的大小而隐式存在 threshold阈值和loadFactor(默认0.75f)装载因子。threshold是通过capacity*loadFact

WindowManagerService的启动

本次源码基于Android11分析 相关源码: /frameworks/base/services/java/com/android/server/SystemServer.java /frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java /frameworks/base/servi

Android进程间通信

Linux进程间通信 基础概念 内核态/用户态 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核空间)。操作系统的资源是有限的,如果访问资源的操作过多,必然会消耗过多的资源,而且如果不对这些操作加以区分,很可能造成资源访问的冲突。所以,为了减少有限资源的访问和使用冲突,Unix/Linux的设计哲学之一就是:对不同的操作赋予不同的执行等级,