网上一些没有标准答案的面试题,我自己做的解答总结,有任何异议可以提出来~^_^,不断更新中...

Springboot除了自动配置与传统的spring还有哪些不同

  1. 传统的springweb项目需要部署在tomcat这样的容器才能运行,springboot集成了tomcat容器,可以直接通过他提供的main方法直接运行,或者打成jar包或war包直接运行
  2. springboot提供了很多第三方打包的插件,可以很方便的引用pom,通过简单配置来集成第三方插件,像redis,jpa等

hashmap线程不安全的出现场景

  1. 在多线程环境下,同时put一个全局的hashmap,此时若hashmap刚好进行扩容,进入rehash方法,线程1执行了一部分然后挂起,被线程2抢走cpu继续运行,可能导致链表的循环引用,当下次get这个key值时,会造成死循环

Object中hashcode方法重写了,equals方法要不要改;equals方法重写了,hashcode方法要不要改?

  1. 首先从原理上将,hashcode存在是为了快速的定位像在hashmap中键值得位置,当hashcode重写,仅仅影响的是不同的键值hashcode值变了,并不影响键值得存取和判重
  2. 但是如果equals方法变了,影响的是值,要判断值是否相同,不止需要equals相同,hashcode也要相同,所以equals变了,hashcode方法也要变

线上服务cpu很高怎么办?可以采取哪些措施?

  1. 首先,top一下,判断哪个进程占用cpu很高
  2. 然后top -Hp pid判断该进行哪个线程最占用cpu,目的是找到哪个方法栈最占用cpu
  3. 找到线程pid后,进行16进制转换
  4. 然后用jstack 进程id | grep 线程id 来打印栈信息,可以找到哪个类或方法占用了最高cpu,就可以去查程序代码的原因

TCP与UDP有什么不同?TCP是如何保证可靠传输的?

  1. TPC是面向连接的,UDP是无连接的
  2. TPC是可靠服务,保证数据完整不丢失,不重复,有序,无差错。UDP不保证数据完整性
  3. TPC是一对一连接,UDP可以有一对一,一对多,多对一,多对多

  4. TCP提供了丢包重试机制,应答机制,有序接收机制保证数据可靠性

网关能够为后端服务带来哪些好处?

  1. 首先是隐藏后端ip地址
  2. 方便进行负载均衡
  3. 提供统一的地址管理,调用监控,安全过滤

java相关技术问答(一)的更多相关文章

  1. java相关技术问答(二)

    String为什么是final的 首先是为了安全性,final表示不可变,不可被继承,不能修改其方法保证安全 在多线程环境下,final类型的String保证线程安全 String支持字符串常量池,相 ...

  2. 在Eclipse中使用Maven插件 博客分类: Java相关技术

    简介 本文介绍如何在Eclipse中通过maven插件编写java项目和web项目. 安装Maven 下载Maven最新版本,见:maven.apache.org/download.html 当前版本 ...

  3. JAVA相关技术

    开发服务器环境: 1.Linux系统 CentOS 6.5\7 2.JDK1.8 3.tomcat 9 4.mysql 5.7 开发环境: 1.开发集成工具:idea 2.构建工具maven 仓库暂时 ...

  4. java -相关技术

    地址:      http://www.codeyyy.com/java/11-35-52.html

  5. Java后端技术微信交流群!工作、学习、技术、资源等!期待你的加入!

    <Java后端技术>专注Java相关技术:SSM.Spring全家桶.微服务.MySQL.MyCat.集群.分布式.中间件.Linux.网络.多线程,偶尔讲点运维Jenkins.Nexus ...

  6. Java Web相关技术(汇聚页)

    Java Web相关技术(汇聚页) 初学Java Web(2)——搭建Java Web开发环境

  7. https://stackoverflow.com/与程序相关的IT技术问答网站

    https://stackoverflow.com/ Stack Overflow是一个与程序相关的IT技术问答网站.用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HT ...

  8. 目前最全的IT技术问答、社区、科技服务网站合集

    资源网站 推荐一个资源丰富齐全的网站:风云社区(SCOEE),主要特点是提供的是纯净.优质.无广告.无附加东西的资源.资源很丰富,包括各类软件资源(mac.Windows.ios.ipad.安装等软件 ...

  9. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

随机推荐

  1. Hibernate 再接触 HQL

    Category.java package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence ...

  2. IntelliJ IDEA——SVN的配置及使用

    服务端:VisualSVN-Server-3.9.1-x64 下载地址:https://www.visualsvn.com/server/download/ TortoiseSVN 安装 下载地址:h ...

  3. 页面JS实现按钮点击增加输入框

    学习记录 https://www.tuicool.com/articles/byUf2qe

  4. 解题(GeLeiMa -生成格雷码)

    题目描述 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码. 给定一个整数n,请返回n位的格雷码 ...

  5. phpcms的一些问题 乱码,安装

    一.乱码:我这的网站出现的乱码情况:后台栏目名乱码,迁站后更新缓存,再更新栏目,内容,前台都乱码. 找了半天原因,经过本地测试,没问题,一上线就出现问题,不同点就是线上的数据库版本是mysql5.5, ...

  6. oracle 表空间创建和删除

    oracle数据库:数据库对象以及表数据都存储在表空间中,创建用户时可以指定对应的表空间.这样用户可以在各自的表空间中操作数据,互不干扰. 1. 表空间创建 若不清楚表空间对应文件的路径,可以登录系统 ...

  7. AltiumDesigner印制导线的走向及形状

    印制导线的走向及形状.在PCB布线时,相邻层的走线方向成正交结构,应避免将不同的信号线在相邻走成同一方向,以减少不必要的层间窜扰.当PCB布线受到结构限制(如某种背板)难以避免出现平行布线时,特别是当 ...

  8. eclipse删除了文件,找回方法

    本人通过eclipse在前段时间上传svn代码的时候,代码掉完了,导致的原因是:svn服务器上有有个一样的文件夹,只是大小写不同,但是svn会认为是一样的文件夹,导致svn[]判别不了传到哪个文件夹去 ...

  9. 89. Gray Code返回位运算的所有生成值

    [抄题]: The gray code is a binary numeral system where two successive values differ in only one bit. G ...

  10. oracle 导入DMP文件时IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入

    参考: https://blog.csdn.net/breaker892902/article/details/11004495 给要导入的用户授权 插入成功