专栏首页Java工程师成长之路java相关技术问答(一)

java相关技术问答(一)

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

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. 提供统一的地址管理,调用监控,安全过滤

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Cloud-Platform部署学习

    老梁
  • 分布式事务原理解析

    了解过TCC分布式事务的都知道它有三个阶段:try,confirm,cancel,但很多文章就只有原理图,和对原理图的解释,看一遍也留不下印象,这里用实际场景举...

    老梁
  • Spark基础-scala学习(四、函数式编程)

    老梁
  • jvm系列(十):教你如何成为Java的OOM Killer

    此文出处云时代架构,作者:李艳鹏 教你如何成为Java的OOM Killer 前言 虽然事隔半年,当时排查线上OOM事故的过程记忆犹新,每一个步骤都历历在目,...

    纯洁的微笑
  • (二)Hadoop集群配置安装

    NameNode、ResourceManager、SecondaryNameNode三者分别放在三个节点上,因为都要占用内存的资源,不要重复出现在一个节点上。

    wolf
  • Java多线程——ReentrantLock源码阅读

    上一章《Java多线程—AQS框架源码阅读》讲了AQS框架,这次讲讲它的应用类(注意不是子类实现,待会细讲)。 ReentrantLock,顾名思义重入锁,但什...

    Zack说码
  • 打开摄像头,2D插画实时变动画,中国程序媛出品,Demo在线可玩

    这个TensorFlow.js项目名叫Pose Animator,Demo一上线,网友们已经玩嗨了。

    量子位
  • Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法

    Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法 ArrayList 和Vector是采用...

    郭耀华
  • 2019面试题:请解释ArrayList和Vector的区别?

    面试题:请解释ArrayList和Vector的区别? No. 区别 ArrayList Vector 1 推出时间 JDK 1.2 JDK 1.0...

    葆宁
  • MediaPlayer(三)--C++ binder框架

    上一篇文章MediaPlayer--MediaPlayer基本框架没有将C++的mediaplayer binder通讯展开,这篇文章主要展开这一部分。 大概...

    小蚂蚁与大象

扫码关注云+社区

领取腾讯云代金券