Java面试题
freedomSTUDENT
这个作者很懒,什么都没留下…
展开
-
【Java面试题】Redis的用途
Redis 可以用作缓存系统,,将频繁访问的数据存储在内存中,从而加快数据访问速度,减少对数据库的访问压力。Redis 支持发布/订阅模式和列表数据结构,可以用作消息队列系统的,实现异步通信和解耦。Redis可以用作会话存储系统,将用户的会话信息存储在内存中,从而避免用户频繁登录。Redis的原子操作特性可以用于实现分布式锁,保证在分布式环境下的数据一致。Redis的计数器功能可以用于实现网站访问量统计,点击量统计等。高性能的内存数据存储系统,具有广泛的应用场景。除此之外,redis 还可以用于实现。原创 2024-03-02 23:08:15 · 540 阅读 · 0 评论 -
【Java面试题】SpringBoot与Spring的区别
总的来说,SpringBoot通过提供快速,简化的操作,默认配置,非功能特性以及自动配置等功能,使得Spring应用程序的开发变得更加高效和便捷。它扩展Spring框架的功能,并消除了繁琐的XML配置,从而为开发者提供了更好的开发体验。SpringBoot可以看作Spring框架的一个扩展,它消除了Spring应用程序所需要的XML配置,从而为更快,更高效的开发生态系统铺平了道路,SpringBoot可以独立的创建Spring应用,嵌入Tomcat,Jetty或Undertow而无需部署。原创 2024-03-02 22:51:11 · 583 阅读 · 0 评论 -
【Java面试题】char 和 varchar 的区别
char 最大长度是 255字符,而 varchar 最大长度是 65535 个字节。char 是定长的,不足的部分用隐藏空格填充,而 varchar 是不定长的。varchar 的存储方式是,一个英文字符占两个字节,一个汉字也占用两个字节。char 会浪费空间,因为其长度固定,所以难免会多余的空格占据符占据空间。char 的存储方式是,一个英文字符占一个字节,一个汉字占用两个字节。char 由于长度固定,方便程序的存储和查找,所以查找效率很高。varchar 由于长度可变,,查找效率相对较低。原创 2024-01-12 21:57:02 · 571 阅读 · 0 评论 -
【Java面试题】Integer 与 int 的区别
int 可以使用==来对比两个变量是否相等,而 Integer 一定要使用 equals 来比较两个变量是否相等。Integer 实际存储的是对象的引用,当 New 一个Integer 时实际上生成一个指针指向此对象。Integer 实例化才能使用,int 不需要。Integer 是包装类,属于引用型。Integer 默认值是 null。int 在内存中存储的数据值。int 是基本数据类型。int 默认值是 0。原创 2024-01-12 21:24:13 · 379 阅读 · 0 评论 -
【Java面试题】JDK 8 及以后版本的新特性
这有助于在不破坏现有实现的情况下向接口添加新方法,新的日期 和时间API提供了不可变的日期和时间类以及用于日期,格式化日期和时间的类这有助于简化日期和时间的处理。是JDK 8中引入的一个强大的工具,它提供了更丰富的api来支持异步编程,管道化操作和组合多个异步任务。是 JDK 8 引入的一项重要 特性,它允许函数作为方法参数作为传递,使得代码更加简洁,易读。也得到了更好的支持,使得开发人员可以更方便地使用函数式编程范式进行开发。也是为了更好地支持并行和流式编程引入的。此外 JDK 8还引入了。原创 2024-01-10 14:09:00 · 465 阅读 · 0 评论 -
【Java面试题】arrayList 与 array 的区别
array 的大小在声明后是不可改变的,如果需要在数组中添加其他的元素,那就需要重新创建一个数组,且长度比原来多1,然后将原数组的内容复制到新数组,最后再添加需要的内容。arrayList 可以动态增长(因为他有一个自动扩容机制)原创 2024-01-10 13:23:07 · 443 阅读 · 0 评论 -
【Java面试题】HTTPS的加密流程
服务器接收到客户端发来的密文密钥之后,用自己之前保留的私钥对其进行非对称解密 ,解密之后就得到客户端的密钥,然后用客户端密钥对返回数据进行对称加密,这样传输的数据都是密文。证书包含的内容有:证书颁发机构的信息,服务器网址的信息,被加密过的服务器公钥,还有经过机构私钥签名之后的数字签名。客户端收到数字证书之后,会验证证书的合法性,如果证书验证通过, 就会生成一个随机的对称密钥,用证书的公钥加密。由于服务器事先会向 ca 申请证书,当收到客户端的 HTTPS 请求后,服务器会将申请到的证书发给客户端。原创 2024-01-03 21:16:38 · 601 阅读 · 0 评论 -
【Java面试题】HTTP与 HTTPS 的区别
2. 长连接 (持续连接),指服务端响应请求后,不关闭连接,为之后的其他的请求保持连接状态,这种连接方式下,一个连接可以发送多个请求,一个请求完成后不会关闭连接,继续等待下一个请求连接。HTTPS需要向CA 申请证书,一般免费的证书比较少,所以需要一定的费用,同时,HTTPS协议不仅可以加密传输信息,还可以对身份进行认证,能够提供对网站服务器的认证,防止中间人攻击。1. 短连接 (非持续连接),指服务端对于来自客户端的每一个请求均建立一个连接,当服务端响应请求后就关闭连接,不为其他的请求而持续连接。原创 2024-01-01 23:08:23 · 1000 阅读 · 0 评论 -
【Java面试题】redis的过期策略有哪些
不持续关注key的过期时间,从数据库中获取key的时候,他会检查这个key是否过期,如果过期就会删除这个key。redis中绝大多数键值对是携带过期时间的,这样会造成大量的定时器在执行,严重降低。在设置键值对的过期时间的同时,创建一个定时器,当键值对到了过期的时间,定时器会立即。redis通过设置过期时间来控制键值对的存活时长,过期时间可以通过。每隔一段时间,随机从键集合中选取一些键,进行检查,如果过期则删除。通过限制删除操作的时长和频率,来减少删除操作对CPU时间的占用。在cpu资源方面不如惰性删除。原创 2023-12-27 22:30:43 · 583 阅读 · 0 评论 -
【Java面试题】java的反射机制
反射是在运行的时候,知道要操作的类是什么,并且在运行时获取类的完整构造,并调用对应的方法。原创 2023-12-27 21:06:23 · 430 阅读 · 0 评论 -
【Java面试题】ArrayList和LinkedList有什么区别
这道题考的是数据结构ArrayList 和 LinkedList 是 java 集合框架中,list 接口下的两个实现类。以下从三个方面来讲述ArrayList 和 LinkedList 的区别。原创 2023-12-14 22:17:55 · 630 阅读 · 0 评论 -
【Java面试题】==和equals的区别
特别注意:String integer Date这些类中equals被重写,比较的是内容而不是地址。equals():比较的是两个字符串的内容,属于内容比较。总结: ==比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较,作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。作用于基本数据类型的变量,则直接比较其存储的 值是否相等,(1)整数类型:byte、short、int、long。(2)小数类型:float、double。默认情况下,比较的是地址值。原创 2023-12-04 09:38:07 · 383 阅读 · 0 评论 -
【Java面试题】JDK,JRE,JVM的区别
JDK 是(Java Development Kit )的缩写,是Java的核心,是Java开发的工具包,JRE是(Java Runtime Environment)的缩写,是运行java程序所必须的环境的集合,包括了Java的运行环境JRE,Java工具和Java基础类库。包含java虚拟机和java程序的一些核心类库。原创 2023-12-04 09:14:02 · 380 阅读 · 0 评论 -
【Java面试题】mysql表连接的方式有哪些
2. 右连接 (Right join )4. 交叉连接 (Cross join )3. 内连接 (Inner join )1. 左连接 (Left join)5. 全连接 (Full join)mysql表连接的方式有哪些?相关的表连接的使用参考。原创 2023-12-01 09:44:52 · 395 阅读 · 0 评论 -
【Java面试题】数据库的object对象有哪些
在数据库表中属于用户定义的SQL事务命令集合。在对一个数据库表执行删除、插入、修改的时候,命令就能够自动去执行。数据库表中插入数据或创建列时,有些列或者列的数据没有予以设定具体数值,那么就会直接以预先设置的内容赋值。为了实现某个特定功能而汇集在一起的一组SQL语句,经过编译之后会存储在数据库里面的SQL程序。主要是为了便于用户访问指定数据,避免数据的重复。用户指的就是有对数据库有权限访问的人。原创 2023-12-01 09:37:00 · 444 阅读 · 0 评论 -
【Java面试题】cookie和session的区别
当客户端第一次访问服务器的时候,服务器针对这次的请求创建一个会话,并且生成一个唯一的sessionid来标注这个会话,服务器端将这个sessionid写入到客户端浏览器的cookie里面,当客户端第n次访问服务端的时候,客户端会携带这个sessionid,服务器端根据这个sessionid来识别这个会话的状态。进行页面访问的时候,服务器可以把一些数据以key-value的数据存储到客户端。3. 客户端浏览器再次访问服务的时候会携带服务端创建的cookie。1. 客户端第一次发送请求到服务器端。原创 2023-11-16 22:18:28 · 199 阅读 · 0 评论 -
【Java面试题】ArrayList自动扩容机制
在默认的情况下数组的长度为10 (在构建arrayList对象的时候,可以直接指定它的。随着程序的运行,不断往ArrayList数组添加数据,当ArrayList没有足够的空间存储后面。添加数据的时候,arraylist就会自动触发扩容机制。是一个动态类数组,数组结构的存储容器。原创 2023-11-14 16:23:26 · 131 阅读 · 0 评论