Java
浅析Golang的层级时间轮实现方案
文章目录 时间轮介绍 简单时间轮 层级时间轮 kafka中的实现细节 基于go语言的层级时间轮实现 一、时间轮介绍 工作中,我们经常遇到到延时任务这类需求(例如用户开始一个任务,15分钟后给他发送一个通知奖励;用户下单未付款,三分钟后发送一条提醒消息...)。一般情况下,我们使用time.Timer对象完成工作,例如: 在go语言运行时内置实现中,Tim
Java实现常见排序算法
Java实现常见排序算法 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。排序的分类: 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。 外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 常见的排序算法分类(见下图): 排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 排序方式 稳
简述SprintMVC过程
SprintMVC SpringMVC是一个对servlet进行大量封装的Spring框架的组件,,基于MCV架构模式,用于表现层的开发。 SpringMVC中包含两个容器,Spring作为父容器,SpringMVC作为子容器。 简略过程 通过映射器找到url对应的控制器,但控制器需要实现处理器的接口,且有多种方式实现,因此需要适配器确定是哪个处理器接口,确定好处理器接口后,可以直接调用控制器
Hadoop环境安装与配置
1.基础操作系统环境安装(略) 2.JDK的安装与配置 当前各大数据软件如Hadoop等,仍然停留在Java 8上,在本实验选用的是Java 8。在自己的Linux系统中,jdk可以使用如下命令进行一键安装(需具备sudo权限)。 待安装完成后,需通过如下命令,检查java(jdk)是否安装成功 以下为检测情况: 3.Hadoop编译版本的下载,解压,并放置到相应目录中 注意:
代码随想录算法训练营第十四天|二叉树的递归法、迭代法
二叉树的递归遍历(前中后序遍历-递归法与迭代法) 递归三部曲: 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 递归法对二叉树进行前中后序遍历(力扣144.145.94.) 迭代法对二叉树进行前中后序遍历 前序遍历按顺序将目标、右子树、左子树放入栈中 然后从栈中去除元素,直至元素为空 中序遍历一层一层往下访问,直到遍历到无左子树的结点 此时再开始处理节点 后
go并发编程系列三:线程的按序执行(竞争执行)
背景:在go并发编程系列二,你作为班主任,接手了有三个学生的班级,现状是这三个学生很调皮,看起来乱糟糟的,三个学生就是三个线程,怎么变的有序呢?答案是:给线程加锁!加锁需要使用go标准包的sync.Mutex,这是一个互斥锁。 给线程加锁的代码: 当我们在main.go里再次执行go程时,发现这三个线程不再交替执行了,从无序变的有序起来了,这是你管理班级的第一个成效!然而,班级的管理比我们想
第二十六节 集合(Map&可变参数&集合工具类)
1.Map集合 1.1Map集合概述和特点【理解】 Map集合概述 Map集合的特点 双列集合,一个键对应一个值 键不可以重复,值可以重复 Map集合的基本使用 1.2Map集合的基本功能【应用】 方法介绍 方法名 说明 V put(K key,V value) 添加元素 V remove(Object key) 根据键删除键值对元素
JavaScript Map.groupBy All In One
JavaScript Map.groupBy All In One Map.groupBy & Array.prototype.groupToMap https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/groupBy https://caniuse.com/?s
Caused by: java.sql.SQLException: ORA-01000: maximum open cursors exceeded
job执行,日志报这个: Caused by: java.sql.SQLException: ORA-01000: maximum open cursors exceeded
go并发编程系列四:线程分组及控制线程的交替执行
背景:在上一篇中,作为班主任的你,对班级的管理初见成效,但理想和现实总有差距,理想情况下,从接手一个调皮的班级到班级的管理井井有条,是从0到1的跨越,没有中间的过渡阶段,然而,现实是:班级里少不了调皮的学生,对于这样的情况,应该怎么办呢?这篇文章讲解的正是现实中从0到1的过渡阶段,本文仅以讲解技术为出发点,不代表教育观点。 有一个万不得已的办法是:听话的学生和调皮的学生互不干扰。 对应为线程,就是
HashMap线程安全面试题(含答案)
HashMap线程安全面试题(含答案) Java中平时用的最多的Map集合就是HashMap了,它是线程不安全的。看下面两个场景:1、当用在方法内的局部变量时,局部变量属于当前线程级别的变量,其他线程访问不了,所以这时也不存在线程安全不安全的问题了。2、当用在单例对象成员变量的时候呢?这时候多个线程过来访问的就是同一个HashMap了,对同个HashMap操作这时候就存在线程安全的问题了。 线程安
Apifox 自动导出类型 转换
2. json.rule.convert[java.lang.Long]=java.lang.String json.rule.convert[org.bson.types.ObjectId]=java.lang.Stringjson.rule.convert[java.util.Date]=java.lang.Stringjson.ru
前缀树(Trie)的java实现
前缀树 prefix tree, 又叫做 trie。关键Feature如下: 树形结构 根节点为空 结点包含 常用操作 insert delete search //字符串在前缀树中出现的次数 prefixNumber 一个”word“怎么储存在trie中,自根节点,从上往下阅读。懒得画图了,可去别的博客看看
MarkDown用法
关于MarkDown常见功能学习 1视图 大纲视图:可以清晰看到目录结构 2标题 一级标题:"#"+空格+“标题名” 二级标题:“##"+空格+“标题名” 三级标题:“###"+空格+“标题名” 最多可以支持到六级标题 3字体 加粗:字体两边分别加上2个*号 斜体:字体两边分别加星号(1个) 粗体加斜体:字体两边分别加3个星号 删除:字体两边分别加2个波浪号 4引用符号 大于号:> &nb
为何每个开发者都在谈论Go?
本文深入探讨了Go语言的多个关键方面,从其简洁的语法、强大的并发支持到出色的性能优势,进一步解析了Go在云原生领域的显著应用和广泛的跨平台支持。文章结构严谨,逐一分析了Go语言在现代软件开发中所占据的重要地位和其背后的技术原理。 关注TechLeadCloud,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能
[JDBC]JDBC之DriverManager原理
本文只讨论 JDBC 驱动加载问题。 1 JDBC概述 1.1 什么是 JDBC JDBC 一般指 Java 数据库连接,(Java Database Connectivity,简称为 JDBC); JDBC 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口;其提供了如查询、更新数据库中数据的方法,我们常说的 JDBC 是面向关系型数据库的。 1.2 JDBC 基本结构
KindEditor实现WORD粘贴公式自动上传
如何做到 ueditor批量上传word图片? 1、前端引用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html&nb
Jmeter Plugins Manager插件
上一篇文章记录了1000个用户并发,想监听服务器的资源使用情况所以记录下用到的Manager插件和Server Agent插件 1. 将jmeter-plugins-manager放入%HOME%apache-jmeter-5.4.1libext文件夹下 2.将serverAgent-2.2.1用xftp传入linux系统中 如传入的是zip文件,先解压
Tomcat1 - Servlet容器,与 SpringMVC 的关系
参考: PoetryAndTheDistance :一:Tomcat核心组件及应用架构详解 Hong EuiSung –@gowoonosori : 요청처리 내부구조 Http 请求响应实例 Servlet 接口 为了解耦 【http服务器代码】和【业务代码】,Java就定义了一个接口,各种业务类都必须实现这个接口,这个接口
[个人笔记][C#]泛型
泛型 没有泛型时的问题 用object实现的通用集合类型不安全,无法保证数据元素类型一致 值类型会有额外的装箱拆箱开销 类型特化的集合每有一个新类型就需要重新实现一遍 泛型就是把类型作为参数,从而实现代码重用 C#的泛型在处理值类型的时候不会有装箱,节省性能和内存 省去类型检查的性能开销 相同泛型接口的不同构造被视为不同类型,一个类可以多次实现“同一个”泛型接口,虽然不建议,原因不知道没见
Flyweight Pattern —— Creational Class
享元模式在主流的标准里是放到结构大类下的,但是我感觉这个模式的最终作用也是为了获取一个类,所以我将其划分到创建大类下。 What is Flyweight Pattern Flyweight 是指轻量级的。 享元模式旨在支持大量细粒度的对象共享,以减少内存消耗。该模式通过共享相似对象的部分状态,来减少对象的数量。通过共享,可以节省内存并提高系统的性能。 享元模式通常涉及两个关键概念: 内部状态(
kafka-manager安装(CentOS7 + kafkamanager 3.0.0.1)
Linux系统-部署-运维系列导航 kafka-manager介绍 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。 之前叫kafka-manager,现在改名叫CMAK(Cluster Manager for Apache Kafka)了。 具体支持以下内容: 管理多个集群 轻松检查群