Java

面试官问:kafka为什么如此之快?

前言 天下武功,唯快不破。同样的,kafka在消息队列领域,也是非常快的,这里的块指的是kafka在单位时间搬运的数据量大小,也就是吞吐量,下图是搬运网上的一个性能测试结果,在同步发送场景下,单机Kafka的吞吐量高达17.3w/s,不愧是高吞吐量消息中间件的行业老大。 那究竟是什么原因让kafka如此之快呢?这也是面试官非常喜欢问的问题。 四个原因 原因一:磁盘顺序读写 生产者发送数据到kaf

Java开发手册中为什么建议初始化HashMap的容量大小,以及HashMap源码中相关参数(容量大小设置参数公式)说明

场景 Java开发手册中对于HashMap的推荐如下: 【推荐】集合初始化时,指定集合初始值大小。 说明:HashMap 使用 HashMap(int initialCapacity) 初始化,如果暂时无法确定集合大小,那么指定默认值(16)即可。 正例: initialCapacity = (需要存储的元素个数 / 负载因子) + 1。 注意负载因子(即 loader factor)默认为 0.

如何将word图片粘贴到CKEditor里面

​  1.编辑器修改 (可选) 1.1在 ueditor/config.json 中添加代码块     /* 上传word配置 */     "wordActionName": "wordupload", /* 执行上传视频的action名称 */

Javascript之深入浅出递归思想

Javascript之深入浅出递归思想   “递归”在生活中的一个典例就是“问路”。如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐“这是第几排”,小姐姐也不清楚便依次向前询问,问至第一排的观众后依次向后反馈结果,“我是第一排”,“我是第二排”,···,最终确定自己座位所在排数。在这个过程中充分反应了“传递”(询问)和“回归”(反馈)的思想,故将这种现象称为“递归”。 2、编程中

springboot +nginx 配置http2

说明 nginx端使用http2+https,如果不使用https,浏览器会默认走http1.1 后台使用http2,不使用https,因为内部服务之间没必要每次校验证书 nginx配置 java代码配置 你要是觉得写的还不错,就点个关注,可以评论区留下足迹,以后方便查看. 你要是觉得写的很辣鸡,评论区欢迎来对线! 欢迎转载!

jwebserver-java简单Web服务器

java简单Web服务器 Simple Web Server,是这次Java 18推出的一个比较独立的全新功能点。我们可以通过命令行工具来启动一个提供静态资源访问的迷你Web服务器。 构建目的是应用于测试与教学,不是为了替代Jetty、Nginx等高级服务器 不提供身份验证、访问控制或加密等安全功能 仅支持HTTP/1.1,不支持HTTPS 仅支持GET、HEAD请求 可以通过

【Redis】Redis 常见数据类型和应用场景

1  前言 我们都知道 Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增)。 每种数

制作Jdk镜像

本文介绍用Dockerfile的方式构建Jdk镜像,请保证安装了Docker环境。 首先创建/opt/jdk目录,后续步骤都在该目录下进行操作。 准备好Jdk安装文件,放到/opt/jdk目录下。 编写Dockerfile,内容如下: /opt/jdk目下的文件内容如下: 执行构建命令 其中,192.168.109.134:20080是镜像仓库地址,如Harbor地址

Java开发手册中为什么要求谨慎使用ArrayList中的sublist方法

场景 Java开发手册中对于ArrayList的subList的要求如下: 【强制】ArrayList 的 subList 结果不可强转成 ArrayList,否则会抛出 ClassCastException 异常: java.util.RandomAccessSubList cannot be cast to java.util.ArrayList。 说明:subList()返回的是 Array

纯注解方式整合Spring和Mybatis框架

一、配置信息介绍 application-dao.xml    application-dao.xml配置文件中配置的内容包含以下4项: 读取jdbc.properties文件中的数据连接信息。 创建Druid对象,并将读取的数据连接信息注入到Druid数据连接池对象中。 创建SqlSessionFactoryBean对象,将并将Druid对象注入到SqlSessionFac

记录--JavaScript 中有趣的 9 个常用编码套路

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1️⃣ set对象:数组快速去重 常规情况下,我们想要筛选唯一值,一般会想到遍历数组然后逐个对比,或者使用成熟的库比如lodash之类的。 不过,ES6带来了一个新玩意儿!它引入了一个全新的对象类型:Set!而且,如果结合上...展开运算符,我们可以超级快速地创建一个已经去重的全新数组!😎 const arr = [10, 10,

前后端分离架构下使用 Sa-Token 完成登录认证

一、架构分析 目前绝大多数系统都已经采用 “前后端分离” 架构来设计了,传统的Session模式鉴权也不再适合这种架构(或者需要额外写很多的代码来专门适配)。 Sa-Token 是一个 java 轻量级权限认证框架,专为前后端分离架构打造,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题。 Gitee 开源地址:https://gitee.com/drom

vue3学前准备

学习vue3的原因 Vue3 是一个面向未来的框架:Vue3 相比 Vue2 有更好的性能和更好的扩展性,将来会成为前端开发的主流。 改进的响应式系统:Vue3 采用了 Proxy 对象来实现响应式系统,使得性能更高、内存消耗更小、支持动态添加属性等。同时,在 Vue3 中,开发者也可以更容易地在 setup() 中创建响应式对象。 新的组合 API:Vue3 引入了更加灵活和可复用的组合 AP

详解JavaScript中的__proto__和prototype

目录一、JS的对象创建方法二、双对象法则三、__proto__和prototypeprototype是什么?__proto__又是什么?   对于 JS 来说,__proto__和prototype 的区别是个绕不开的话题。本文就试图从它们的根本上说清楚它们是什么,又有什么区别,所以本文会从 JS 的对象开始说起,以其期待把本文的主题说透彻说明白。 一、JS的对象创建方法  大家都知道,在JS

CC6链子分析

<1>环境分析 实际上 CC6链子 又是CC1的一个变种 没有版本限制 找到这个漏洞的人又开辟出 一个新的线路 通过 TiedMapEntry.hashcode() 去触发 CC1里的 LazyMap.get() 这里我们是继续沿用的CC1 的项目 jdk版本:jdk8u65 pom.xml内容: <2> 链子分析 首先 LazyMap().get()->In

Java开发手册中为什么不建议在for循环中使用"+"进行字符串操作

场景 java开发手册中对于循环体中进行字符串的拼接要求如下: 【推荐】循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。 说明:下例中,反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行 append操作, 最后通过 toString 方法返回 String 对象,造成内存资源浪费。   并且还

2023年最新sentinel-dashbord部署安装(保姆级别)

目录Sentinel-dashboard安装下载前景提要一、 构建环境二、下载安装与配置1、进入百度搜索:Sentinel 或访问地址:面向云原生微服务的高可用流控防护组件2、进入git主界面,然后找到如图位置(此处为各个发布版本)。3、看到版本信息,找到下载的位置进行下载就可以了。4、下载后在本地的盘中找到下载的包,找到命令窗口进行运行。5、保证java环境配置无误,输入命令启动。6、防止端口冲

【HarmonyOS】一文教你如何在低代码项目中跳转H5页面

​ 【关键字】 元服务、低代码、H5页面跳转、WebView   【1、写在前面】 今天我们来实现一个在低代码项目中通过按钮跳转到H5页面的功能,本项目是基于API6的JS工程,我们的实现思路是在页面B中通过Java加载WebView控件,在低码页面中为按钮绑定点击事件,事件中实现通过JS调用Java能力,OK,下面一起来实战一下吧。   【2、Java实现WebVi

Java中为什么禁止把SimpleDateFormat定位为static变量以及如果非要使用static定位SimpleDateFormat时在多线程环境下的几种使用方式

场景 Java中ExecutorService线程池的使用(Runnable和Callable多线程实现): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126242904 Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例: https://blog.csdn.net/BADA

Taro框架应用优势下的移动App开发创新模式

最近公司的一些项目需要跨端框架,技术老大选了Taro,实践了一段时间下来,愈发觉得Taro是个好东西,所以在本篇文章中稍微介绍下。   什么是Taro? Taro(或称为Taro框架)是一种用于构建跨平台应用程序的开源JavaScript框架。它基于React和React Native,可以用于开发Web、iOS、Android和微信小程序等平台上的应用程序。   T

SpringBoot 文件上传下载工具样例

最近工作遇到这样的情景:一大堆 linux 内网服务器,上面部署了 mysql,nacos,xxl job 等中间件,当然也给了一个很干净的 windows 内网服务器,什么软件都没有安装。比较欣慰的是:可以通过浏览器访问 nacos、xxl job 的管理页面。不幸的是:没有安装 mysql 客户端和 xshell 等工具。我可以通过中间机连接到 linux 服务器去上传和下载文件,但是无法往连

初识vue3——第一天

api查询地址 api请查阅vue3全部API 初始化实例 每个 Vue 应用都是通过 createApp 函数创建一个新的应用实例: 应用配置 应用实例会暴露一个 .config 对象允许我们配置一些应用级的选项,例如定义一个应用级的错误处理器,用来捕获所有子组件上的错误: 应用实例还提供了一些方法来注册应用范围内可用的资源应用实例还提供了一些方法来注册应用范围内可用的资源。以下是一些常用的

数据结构小结

个人认为数据结构有点偏向理论知识点,从这些理论知识点,我们可以知道各种数据结构的特点,然后在特定的场景下使用对应的数据结构来存储。 基础的数据结构 从逻辑上来说基础的数据结构只有线性结构、非线性结构,也就是数组、链表。其他复杂一点的如队列、栈、树、图、hash table 都可以通过数组和链表的方式来存储。 有了数组、链表为什么还要有其他数据结构? 我的理解是出现队列、栈、树、图等数据结构的原因

轻量灵动: 革新轻量级服务开发

概念篇 1、从JDK8->JDK17 你需要知道的 从 JDK 8 升级到 JDK 17 可以让你的应用程序受益于新的功能、性能改进和安全增强。下面是一些 JDK 8 升级到 JDK 17 的最佳实战: 1.1、确定升级的必要性:首先,你需要评估你的应用程序是否需要升级到 JDK 17。查看 JDK 17 的新特性、改进和修复的 bug,以确定它们对你的应用程序是否有实际的好处。 1.2、了

《计算机网络》——华为基本配置命令

目录前言常用基本配置命令1.进入系统视图2.设置交换机的主机名3.进入接口模式4.回退至上级视图5.进入协议视图6.查看当前配置信息7.查看vlan配置信息8.查看端口信息9.查看指定端口信息10.查看闪存11.保存配置文件12.查看保存的配置13.清除已保存的配置14.查看系统启动启动配置参数15.配置设备下次启动时使用的配置文件16.重启设备总结 前言 通用路由平台VRP(Versatile

轻松搞懂数据一致性

让数据库研究再次伟大!!! 目录 1.序言 2.比MySQL有更多的可能性 3.SQL 与 NoSQL 4.明智地选择 5.最酷的数据库范例 6.最后的考虑 TL:DR 在这篇文章中,我将分享我在数据库学习课程中学到的知识,了解到目前为止让我着迷的数据库主题。 (更多优质教程:java567.com,搜"mysql") 1.序言 在 2022 年底,当主题是数据库时

CC1链子

<1> 环境配置 因为CC1链在jdk 8u71后就修复了 因此我们复现就利用 8u65的版本 去官网下载 jdk8u65 https://www.oracle.com/cn/java/technologies/javase/javase8-archive-downloads.html 然后去 下载openjdk http://hg.openjdk.java.net/jdk8u/jdk

HTML 和JS,PHP混合编程示例 获取点击的td的值

首先在需要获取值的 td 中加入onclick方法 然后添加具体方法 获取td的值并传到php ,执行成功后刷新页面 后台处理     需要引用2个js脚本 如果没有 可以到官网上去下载即可。

【一步步开发AI运动小程序】十一、人体关键点跳跃追踪

随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场或官网了解详情。 一、应用场景 在适配诸如

2. 卸载与安装

恐惧是本能,行动是信仰(在此感谢尚硅谷宋红康老师的教程) 1. 卸载过程 这里以卸载 2022.1.2 版本为例说明。在【控制面板】找到【卸载程序】 右键点击或左键双击 IntelliJ IDEA 2022.1.2 进行卸载: 如果需要保留下述数据,就不要打 √。如果想彻底删除 IDEA 所有数据,那就打上 √ 软件卸载完以后,还需要删除其它几个位置的残留: 2.

<<  <  1156  1157  1158  1159  1160  1161  1162  1163  1164  1165  1166  >  >>