TreeSet |TreeMap|jar包|web包易混淆解答

刷牛客网机试题常见疑惑

1 TreeSet是啥?TreeMap又是啥?这俩有啥用?

两者都是基于红黑树,那红黑树又是啥?红黑树是一个自平衡的二叉查找树,遍历红黑树就会得到一个升序序列。在实际处理问题中,Set(保证元素不重复)和Map(key必须唯一且有序)基于红黑树并进行一系列业务处理,可以把一组相同数据类型的数据给处理成没有重复的元素的升序序列。比如一组数为22314465273,经过红黑树处理后,就变成了1234567,这里把所有有重复出现的数都合并为一个数。

那TreeSet和TreeMap又有啥区别呢?首先TreeSet是基于Set集合接口来实现的,而TreeMap是基于Map映射键值对(key,value)接口来实现的。所以TreeSet常用于处理一组单独的数,而TreeMap常用于处理一组序列对(按索引值key处理成无重复且升序的序列)。目的都是为了把一组无序且有重复元素的数据类型变成一组升序且无重复元素的序列。

在IDEA中做项目部署环境常见疑惑

jar包是啥?war包又是啥?有啥区别

jar包==java archive(原意存档/归档)意思就是把普通的好多分的java程序统一的归档打包到一个文件夹里面然后形成一个压缩文件,一个jar包里面往往是有一个特定的功能作用,把这个功能打包好放到网上的一个地址上。那么下一次后人也想有这个功能就不用再重新自己搭建,就可以直接从网上把这个jar包的地址找到,导入到自己的系统中,就可以使用前人实现的功能或者环境的部署。

war包==web java archive,部署完整web应用。区别于java archive多了一个单词web,那war包所应用的场景肯定是和web息息相关的,而war包的web/lib目录下包含war包依赖的jar包(因为一个web系统包含多个功能,一个jar包往往是一个功能的封装)。web是啥?就是我们所处的互联网,在网上我们点进去一个网站,每一个网站其实都是一个小web系统,用来服务不同的功能。web系统不需要我们下载一个app软件,只需要我们在一个简单的网页注册然后登录就可以享用该web系统的功能,更加的方便不用像app一样占用自己手机几百MB的内存。就比如我们去牛客网是为了在找工作的时候刷刷面经、再找一下不同大厂的题刷刷题库;去boss直聘网是为了找工作;去抖音、小红书、哔站(也有网页版)是为了放松或者看一些公开课。

再回归正题,war包既然是专门为war网站应用所封装的一个压缩文件,即一个压缩的web应用系统,那其最终的运行环境也就不是本地而是直接在浏览器上运行。本地IDEA有专门部署内置JVM(java虚拟机环境,兼容各种系统如windows、linux)可以跑jar包,那war包想要在浏览页运行是不是也需要有相应的部署环境?答案是肯定的,war包在浏览器上运行,需要有专门的web服务器的支持,如常见的Tomcat服务器。Tomcat服务器的作用是自动的解析war包中的各种jar包,并运行这个war包部署在浏览器上。

日常使用的IDEA中,对于jar包IDEA内置了JVM,对于对于war包IDEA内置了tomcat容器,所以在用IDEA运行war包时也不需要再专门下载tomcat包,直接用内置的就可以把war包解析并在浏览器上运行。

相关推荐
~木雨5 分钟前
String 底层原理与常量池全解析:byte []+coder、intern 陷阱、substring 内存泄漏,一篇讲透
java·jvm·内存优化·string·字符串常量池
新知图书13 分钟前
12.3 智能体中Skill的约束与自进化实战
java·前端·数据库
en.en..22 分钟前
C语言 static函数与头文件封装规范
java·c语言·前端
海兰25 分钟前
【 Python 量化交易】开篇
开发语言·python·信息可视化·量化交易
步行cgn28 分钟前
Spring Boot 项目打包部署详解
java·spring boot·后端
pnoker1 小时前
拆解 IoT DC3:六层微服务架构
java·物联网·spring cloud·微服务·架构
cfm_29141 小时前
ThreadLocal 内存泄漏
java·jvm
我的xiaodoujiao1 小时前
Django 基础知识详细图文教程 4-Django 视图定义与使用
开发语言·数据库·后端·测试工具·django·sqlite
l1t1 小时前
DeepSeek总结的DuckDB在 CI 中为 release 和 glibc CLI 构建启用 LTO - #24225
开发语言·数据库·ci/cd·duckdb
whitelbwwww1 小时前
c++运行RKNN
开发语言·c++