算法 源码 编码java

MMKV源码解读与理解

概述 通过 mmap 技术实现的高性能通用 key-value 组件。同时选用 protobuf 协议,进一步压缩数据存储。 标准 protobuf 不提供增量更新的能力,每次写入都必须全量写入。考虑到主要使用场景是频繁地进行写入更新,我们需要有增量更新的能力:将增量 kv 对象序列化后,直接 ap ......
源码 MMKV

分享一个 java 树形工具 TreeUtil

直接上代码 public interface TreeNode { String getParentId(); String getCategoryId(); void editChildNodes(List<? extends TreeNode> childNodes); } public cla ......
树形 TreeUtil 工具 java

快速将一个x86架构的开源软件源码修改成loongarch架构的源码

将一个x86架构的开源软件源码修改成loongarch架构的源码是一个复杂的过程,需要深入了解两种架构的差异、编译工具链以及相关开发工具的使用。以下是一个大致的步骤,供您参考: 了解LoongArch架构:首先,您需要了解LoongArch架构的特点、指令集、寄存器使用方式等。可以阅读LoongAr ......
架构 源码 loongarch 软件 x86

算法训练day34 贪心算法理论,455.376.53

算法训练day34 贪心算法理论,455.376.53 理论基础 概念 选择每一阶段的最优解,从而达到全局最优 一般步骤(鸡肋 问题分解为子问题 找出合适的贪心策略 求解每一个子问题的最优解 将局部最优叠加成全局最优解 455.分发饼干 题目 https://leetcode.cn/problems ......
算法 理论 day 455 376

Java拾贝第四天——动态绑定机制

Java拾贝不建议作为0基础学习,都是本人想到什么写什么 //根据面向对象3中提及的属性看对象,方法看指向。试想如下代码 public class Test4 { public static void main(String[] args) { Base base = new Sub(); Syst ......
机制 动态 Java

java学习_01

字面量类型 整数类型 不带小数点的数字 小数类型 带小数点的数字 字符串类型 用双括号括起来的内容 字符类型 用单引号括起来的,内容只有一个 比如:'a','b','c' 布尔类型 布尔值,表示真假 空类型 一个特殊的值,空值 null 特殊字符 '\t' 制表符:在打印的时候,把前面字符串的长度补 ......
java 01

2算法

算法 定义:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 算法的特性: 输入、输出:算法具有零个或多个输入。算法至少有一个或多个输出。 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。 确定性: ......
算法

算法训练day31 LeetCode 491.46.47.

算法训练day31 LeetCode 491.46.47. 491.递增子序列 题目 491. 递增子序列 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 递增子序列,意味着不能改变数组中元素顺序 class Solution { private: vect ......
算法 LeetCode day 491 31

通过matlab对比music,mvdr以及tdoa三种定位算法的性能

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.算法理论概述 声源定位算法是阵列信号处理领域中最为关键的技术之一,其具有诸多应用场景,如语音识别领域、视频通信领域、安全监控领域等[01]。而基于阵列信号的声源定位技术,其主要通过预先安装在某一平面区域或者某一空间区域中的阵列 ......
算法 性能 matlab music mvdr

java基础漏洞学习----SQL注入漏洞

java基础漏洞学习 SQL注入漏洞 前置基础知识 https://www.cnblogs.com/thebeastofwar/p/17759805.html 执行SQL语句的几种方式 1.Statement执行SQL语句 java.sql.Statement是Java JDBC下执行SQL语句的一 ......
漏洞 基础 java SQL

编码相关总结

编码相关总结 一:基础 字符集:字符的集合,如ASCII是英文字符集,Unicode是最全的字符集, GB2312 是汉字字符集。 编码方式:字符集的字节表示方式,定义了一个字符用几个字节,用那些字节(码点)表示这个字符。 关系:一个字符集至少有一种编码方式,如Unicode有utf-8和utf-1 ......
编码

在Java中,HashMap和Hashtable之间的区别是什么?

内容来自 DOC https://q.houxu6.top/?s=在Java中,HashMap和Hashtable之间的区别是什么? 在Java中,HashMap和Hashtable之间的区别是什么? 对于非多线程应用程序,哪种更高效? Java中HashMap和Hashtable之间有几个区别: ......
Hashtable 之间 HashMap Java

文心一言 VS 讯飞星火 VS chatgpt (115)-- 算法导论10.2 8题

八、用go语言,说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表。假设所有指针的值都可视为 k 位的整型数,且定义x.np=x.next XOR x.prev,即x.nert和x.prev 的 k 位异或。(NIL 的值用0表示。)注意要说明获表 ......
文心 导论 算法 chatgpt VS

C#计数排序算法

前言 计数排序是一种非比较性的排序算法,适用于排序一定范围内的整数。它的基本思想是通过统计每个元素的出现次数,然后根据元素的大小依次输出排序结果。 实现原理 首先找出待排序数组中的最大值max和最小值min。 创建一个长度为max-min+1的数组count,用于统计每个元素出现的次数。 遍历待排序 ......
算法

【算法学习之0-1背包问题】

【一】经典背包问题 【1】0-1背包问题 问题描述: 有一个背包可以装物品的总重量为W,现有N个物品,每个物品中w[i],价值v[i] 用背包装物品,能装的最大价值是多少? 【2】思路:定义状态转移数组 定义状态转移数组dp[i][j],表示前i个物品,背包重量为j的情况下能装的最大价值。 例如,d ......
算法 背包 问题

Java命名规范

Java命名规范 1. 包命名规范 包(Package)的作用是将功能相似或相关的类或者接口进行分组管理,便于类的定位和查找,同时也可以使用包来避免类名的冲突和访问控制,使代码更容易维护。通常,包名使用小写英文字母进行命名,并使用“.”进行分割,每个被分割的单元只能包含一个名词。 一般地,包命名常采 ......
Java

算法

算法 定义:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 算法的特性: 输入、输出:算法具有零个或多个输入。算法至少有一个或多个输出。 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。 确定性: ......
算法

排序算法稳定性分类

稳定排序算法是指在排序过程中能够保持相等元素的相对顺序不变的排序算法。以下是一些常见的稳定排序算法:1. 冒泡排序(Bubble Sort)2. 插入排序(Insertion Sort)3. 归并排序(Merge Sort)4. 计数排序(Counting Sort)5. 基数排序(Radix So ......
算法 稳定性

Java项目中常用的异常处理

1.空指针异常(java.lang.nullpointerexception) 发生该情况一般是字符串变量未初始化,数组未初始化,类对象未初始化等。还有一种情况是当该对象为空时你并没有判断是否为空值,这个错误我在之前的web习题上犯过,因此为了避免这种情况,除了检查是否初始化之外,如有必要则要加上判 ......
常用 项目 Java

Qt源码解析——一切从QObject说起

关键词:Qt 源码 QObject 元对象 属性 事件 信号 槽 状态机 概述 原系列文章地址 学习和理解任何框架或库,官方文档可能都是最权威、最有效的信息。Qt也不例外,https://doc.qt.io/qt-5/index.html 在文档的Core Internals小节,阐述了Qt Cor ......
源码 QObject

进程基础(操作系统中的概念) 进程调度算法(四种算法) 进程的并行和并发的概念 同步异步阻塞非阻塞的概念 创建进程(进程类Process) Process类的参数 Process类的方法 如何开启多进程 基于TCP协议的高并发程序

进程基础(操作系统中的概念) 进程它是操作系统总最重要的概念,也是最基本的一个概念 线程也是操作系统中得一个很重要的概念 进程和线程都是有操作系统来调度使用的,我们程序员是不能控制的,这里就设计到调度算法 什么是进程? 线程? 什么是程序? # 进程和程序是两码事、完全不一样 程序:其实一个死的东西 ......
进程 概念 Process 算法 参数

java处理显示clob字段内容

可以直接通过clob的提供的方法进行处理,非常的方便,但是一定要注意判空,通过下面的这种方式处理,即使有换行、空格等特殊字符出现的时候,都能够原模原样的保存到新的字段当中 比如判空处理 dataMap.get("clobcloumn") == null ? "" : StringUtils.subs ......
字段 内容 java clob

java配置环境变量

为啥要配置环境变量?? 我们在终端使用的各种命令,都是在系统的环境变量中去寻找可执行文件;所以我们安装好java环境后,需要将java配置到系统的环境变量中;这样下次在命令行使用java命令的时候就可以直接找到,不需要使用绝对位置命令了。 怎么配置环境变量?? linux系统:在终端家目录下找到.b ......
变量 环境 java

【JVM】Java 的类加载机制

目录字节码类加载过程LoadingVerificationPreparationResolutionInitialization类加载器双亲委派模型 字节码 Java 源文件通过编译后,就会生成字节码: 类加载过程 Java 的类加载过程可以分为 5 个阶段:载入、验证、准备、解析和初始化。 这 5 ......
机制 Java JVM

java链表详解 理论+代码+图示

1、定义 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。(即链表是一个个节点组成的,这些节点物理上不连续,但逻辑上连续) 一个节点就是一个Node对象。 2、链表结构 单向、双向; 带头、不带头; 循环、非循环; 以上情况组合起来就有8种链表结构 (双向 ......
理论 代码 java

Java中::的用法

“::”是Java 8 引入的新特性之一,常常被称作为方法引用,提供了一种不执行方法的方法。使用“::”可以进一步简化一些使用了lambda表达式的代码,让代码更加简洁。 用法1:省略lamda表达式 public class Test01 { public static void main(Str ......
Java

SpringBoot启动流程源码分析(2)

1、启动引导类 大部分时候,SpringBoot应用主要通过在引导类调用SpringApplication的静态run方法启动,同时将引导类注册为配置源。比如下面是一个SpringMVC的Web应用,引导类是WebMVCBootstrap,和命令行参数args作为SpringApplication静 ......
SpringBoot 源码 流程

【Java 并发编程】Condition

目录Condition可中断锁和不可中断锁有什么区别?原理源码分析awaitaddConditionWaiterunlinkCancelledWaiterssignaltransferForSignal总结await 与 signalLock 和 Condition 的应用附录链表中头节点的作用不带 ......
Condition Java

java基础,java基本数据类型、引用数据类型

java数据类型 基本数据类型: 1,整型:byte(1字节),short(2字节),int(4字节),long(8字节) 2,浮点型:float(单精度4字节),double(双精度8字节) 3,字符型:char(2字节) 4,布尔型:boolean(true/false) 引用数据类型: 1,类 ......
类型 数据 java 基础

ctypes学习 + GearDVFS源码分析(/src/perf_lib)

最近在尝试复现GearDVFS的代码,代码结构很复杂,由于需要获取硬件信息,作者使用ctypes实现与底层的交互,任务紧迫,开始学习吧! 1. ctypes介绍 资料的来源已经放在了后文的链接中,由于我的基础实在很薄弱,因此看了很多资料才搞懂ctypes的实现原理,如果有和我一样的菜鸟,在学习之前可 ......
源码 GearDVFS perf_lib ctypes perf