后端

说说ThreadLocal原理?

ThreadLocal可以理解为线程本地变量,它会在每个线程都创建⼀个副本,那么在线程之间访问内部副本变量就⾏了,做到了线程之间互相隔离,相⽐于synchronized的做法是⽤空间来换时间。 ThreadLocal内,有⼀个静态内部类:ThreadLocalMap,ThreadLocalMap⼜包含了⼀个Entry数组,Entry本身是⼀个弱引⽤,它的key是指向ThreadLocal的弱引⽤,

树与二叉树的存储结构

树的存储结构 双亲表示法: 除了树的根节点之外,其余每个结点不一定有孩子,但是一定有且仅有一个双亲。 假设以一组连续空间存储树的结点,同时在每个结点中附设一个指示器指示双亲结点在数组中的位置 结点结构如下:其中data是数据域,存储结点的数据信息。而parent是指针域,存储该节点的双亲在数组中的下标。 这样可以根据结点的parent指针很容易找到它的双亲结点,可如果需要知道孩子结点,则需要遍历整

JAVA基础语法与Spring笔记

小马最近在执行一个spring项目源码翻译为PHP的任务。所以复盘了下JAVA知识,做下笔记并分享。笔记目前还比较乱但基本涵盖了主要知识点,入门起飞。 JAVA基础语法 JAVA参考教程文档(这里)。 是解释型的语言(.java文件  javac->.class文件  解释器->JVM虚拟机),GO是编译型的,PHP是解释型的。 JAVA变量有枚举类型,PHP8  才开始支持枚举类型

10《算法入门教程》分治算法之最大子数组问题

1. 前言 本节内容是分治算法系列之一:最大子数组问题,主要讲解了什么是最大子数组问题,如何利用分治算法解决最大子数组问题,给出了最大子数组的实现伪代码并进行分析,并用 java 语言进行了伪代码实现,帮助大家通过最大子数组问题更好地理解分治算法思想的应用。 2. 什么是最大子数组问题? 最大子数组(Max Subarray)问题,是计算机科学与技术领域中一种常见的算法问题,主要可以利用分治思想进

五步搭建自己的低代码平台

前言 平时开发项目时,总会写很多crud代码,开发过程基本一个套路,定义controller、service、dao、mapper、dto,感觉一直在repeat yourself 也接触过很多快速开发框架,定义一个sql就可以生成接口,或者定义一个框架脚本自动生成接口,但感觉这些框架没有说太成熟广泛使用的,出了问题也很难解决 本文重点研究一下如何只通过定义sql就自动生成接口,但是只是简单实现,

详解Spring AOP篇三

目录代理模式定义代理模式的主要角色静态代理动态代理JDK动态代理接口介绍CGLIB动态代理Spring AOP源码解析验证没实现接口实现了接口 小结Spring AOP 是基于动态代理来实现AOP的.代理模式代理模式, 也叫委托模式.定义 为其他对象提供⼀种代理以控制对这个对象的访问. 它的作⽤就是通过提供⼀个代理类, 让我们在调⽤⽬标⽅法的时候, 不再是直接对⽬标⽅法进⾏调⽤, ⽽是通过代理

Kotlin 协程学习教程之通俗易懂篇

引言 协程并非Kotlin独有的,协程的概念在很早很早之前就有了,目前也有很多语言支持协程,本文以什么是协程、Android开发时如何使用协程为探讨重点,并不涉及非常深入的探讨。 什么是进程 进程大抵等于APP的启动实例 什么是线程 线程属于进程,是最小的任务执行单位,一个进程有且只有一个主线程(在Android上就是UI线程)、若干子线程 什么是并发、异步 并发就是进程同一时间并行处理多个任务,

Hadoop架构详解

Hadoop 是一个开源的分布式计算系统,用于存储和处理大规模数据集。Hadoop 主要由HDFS(Hadoop Distributed File System)、MapReduce、Yarn(Jobtracker,TaskTracker)三大核心组件组成。其中HDFS是分布式文件系统,用于存储文件&

如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器

文章目录 1. 安装配置GoLand 2. 服务器开启SSH服务 3. GoLand本地服务器远程连接测试 4. 安装cpolar内网穿透远程访问服务器端 4.1 服务器端安装cpolar 4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程