HashMap排序
1.继承Comparable接口
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。

2.自定义比较器
强行对某个对象 collection 进行整体排序 的比较函数。可以将 Comparator 传递给 sort 方法(如 Collections.sort 或 Arrays.sort),从而允许在排序顺序上实现精确控制。还可以使用 Comparator 来控制某些数据结构(如有序 set或有序映射)的顺序,或者为那些没有自然顺序的对象 collection 提供排序。

/*** 实现对HashMap集合排序* /
public class HashMapTest {public static void main(String[] args) {HashMap<Integer, User> users = new HashMap<>();users.put(1, new User("张三", 25));users.put(3, new User("李四", 22));users.put(2, new User("王五", 28));System.out.println(users);// 如何将hashmap排序呢?HashMap<Integer, User> sortHashMap = sortHashMap(users);System.out.println(sortHashMap);}private static HashMap<Integer, User> sortHashMap(HashMap<Integer, User> users) {Set<Map.Entry<Integer, User>> entrySet = users.entrySet();// 将set集合转化为list集合,因为我们要使用集合工具类对数据进行排序ArrayList<Map.Entry<Integer, User>> list = new ArrayList<>(entrySet);Collections.sort(list,// 这里使用的是Java8兰布达表达式(Map.Entry<Integer, User> o1, Map.Entry<Integer, User> o2) ->o2.getValue().getAge() - o1.getValue().getAge());// LinkHashMap是有序的Map集合LinkedHashMap<Integer, User> linkedHashMap = new LinkedHashMap<>();for (Map.Entry<Integer, User> entry : list) {linkedHashMap.put(entry.getKey(), entry.getValue());}return linkedHashMap;}
}

Java 中会存在内存泄漏吗?
理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题。开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄露的发生。例如hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内存泄露。

GC是什么? 为什么要有GC?
GC可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() ,但JVM可以屏蔽掉显示的垃圾回收调用。

什么时候用assert (断言):
常用的调试方式。对程序的一条语句进行检查,保证其为true。若为false,说明程序处于不正确状态,系统将给出警告或退出。assertion检查通常在开发和测试时开启。为了提高性能, 在软件发布后,assertion检查通常是关闭的。

Webservice与RPC的区别:
RPC:
1)RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。
2)RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯)
3)RPC 是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式)
4)RPC 在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)
WebService: http传输信道、XML的数据格式、SOAP封装格式、WSDL的描述方式、UDDI,是一种目录服务,企业可以使用它对WebService进行注册和搜索

Java面试题整理-基础相关推荐

  1. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779 java面试题整理(4) JAVA常考点4 文件夹 1. S ...

  2. 尚学堂Java面试题整理

    博客分类: 经典分享 1. super()与this()的区别? - 6 -  2. 作用域public,protected,private,以及不写时的区别? - 6 -  3. 编程输出如下图形. ...

  3. Java面试题整理_P1

    Java面试题整理 1.Java基础 1.JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境.JR ...

  4. 2023 java面试题整理

    java面试题整理二 1.RocketMQ消息可靠性怎么保证? To:消息丢失可能发生在生产者发送消息.MQ本身丢失消息.消费者丢失消息三个方面 生产者丢失: 可能发生在程序发送异常了没有重试处理.或 ...

  5. Java面试题整理(转)

    Java面试题整理 计算机网络 1.停止等待协议 停止等待协议是最基本的数据链路层协议,它的工作原理是这样的. 在发送端,每发送完一帧就停止发送,等待接收端的确认,如果收到确认就发送下一帧. 在接收端 ...

  6. 2017年杭州java面试题_2017年Java面试题整理

    原标题:2017年Java面试题整理 面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2016年面试题,让大家在找工作时候能够事半功倍. 1.Switch能否用string做参 ...

  7. 2020-09-15 JAVA面试题整理

    文章目录 一.Java基础系列面试题 二 Java 面试题(二) 四.Redis面试题 四.Redis面试题 七.Spring Boot 面试题 九.微服务 面试题 十一.RabbitMQ 面试题 十 ...

  8. Java面试题整理(带答案)

    这是我自己整理的Java面试题以及答案.题目来源是https://blog.csdn.net/sufu1065/article/details/88051083 我删除了自己不使用的框架技术栈,像Hi ...

  9. 100道中高级Java面试题整理

    JavaEE面试题整理 一.Java基础篇 二.JVM篇 三.Tomcat篇 四.MyBatis篇 五.Spring篇 六.SpringMVC面试题整理 七.Redis篇 八.Mongodb篇 九.M ...

最新文章

  1. 设计模式之外观模式php,php设计模式(十五)外观模式
  2. Oracle 11g Release 1 (11.1) Data Pump 导出模式
  3. 标记三维点_三维扫描仪对汽车钣金外形检测折弯件钣金件热成型加工件的应用...
  4. 【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
  5. 为何要离开?该怎么离开?今天来谈谈辞职
  6. linux decode函数,Oracle 中 decode 函数用法
  7. 怎么在MyEclipse中快速配置spring框架-非web项目
  8. 黑马程序员_集合学习1
  9. Data Vault的一点思考(二)
  10. 我是怎么进入Oracle这样的大企业的?
  11. 重学JAVA基础(三):动态代理
  12. 按键精灵post教程_安卓按键精灵教程VIP按键精灵辅助post视频教程大漠插件编程实战...
  13. 产学研专题数据(区域、企业、地级市创新指标及研发、RD投入)
  14. C语言if else语句详解
  15. 大白菜U盘PE重装教程
  16. 【UVM基础】仿真时间与运行时间
  17. 鸿蒙手机开发者申请,鸿蒙OS 2.0手机开发者Beta公开招募上线:P40/Mate 30可申请
  18. Audio基本概念及处理流程
  19. java基础测试大集合 今天收罗精选一下Java题 适合小白挑战和新手回顾
  20. 以匠心正道,以决心致远:毫末智行的自动驾驶之路

热门文章

  1. 破2亿!罗永浩的商业价值到底有多深?
  2. java string 和stringb_String、StringBuffer和StringBulder的区别
  3. python灰色预测_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...
  4. Python 数据分析之 Numpy (二)
  5. 用Python里面的Xpath完成一个在线汇率转换器!很实用
  6. 开发人工智能项目编程语言的选择
  7. 项目中添加音效--依旧的简单使用
  8. 可再生能源专刊Special issue for Renewable Energy
  9. 2015年12月PMP备考感言
  10. 2022年注册安全工程师安全生产专业实务(其他安全)考试模拟试题卷及答案