Java基础常见知识&面试题总结(上)
1. 基础概念与常识
1.1 Java 语言有哪些特点?
- 简单易学;
- 面向对象(封装,继承,多态);
- 平台无关性( Java 虚拟机实现平台无关性);
- 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);
- 可靠性;
- 安全性;
- 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便);
- 编译与解释并存;
1.2 JVM vs JDK vs JRE
JVM
Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言"一次编译,随处可以运行"的关键所在。
相关文章

future用法-java中异步执行多个任务并集中处理所有结果
需求背景 同事问了个问题,java中有什么办法让我异步查询多个表的数据,最后将所有结果进行处理输出 想到future是解决这类问题常用的,于是写了个demo给他参考 简化需求 定义3个任务分别获取1个...

Lamda(拉姆达)表达式演化过程
HI!小伙伴们,好久没见了,4月份开始断更,中途有点事儿,今天开始更新了,整理一篇Lamda表达式演化过程,希望喜欢的一如既往的支持! 传统集合过滤 现在有2个需求:在一组学生集合中, 1.找出年龄大...

内存管理
名词解释 物理地址 对应着内存的单元寻址 与处理器和CPU连接的地址总线相对应 线性地址 也叫虚拟地址 逻辑地址 与分段有关。逻辑地址指的是指令中相对的地址。比如 call 40 ,这个40是就是逻辑...

多系统对接的适配与包装模式应用
日常开发系统中通常需要对接多个系统,需要用到适配器模式。 例如:支付方式就涉及多个系统对接。 国际惯例,先引入概念。 适配器模式: 提到适配器自然就能想到手机用的电源适配器。 他的作用就是将220V交...

一文学会Java事件机制
相信做 Java 开发的朋友,大多都是学习过或至少了解过 Java GUI 编程的,其中有大量的事件和控件的绑定,当我们需要在点击某个按钮实现某些操作的时候,其实就是为这个按钮控件注册了一个合理处理点...

我觉得 MQ 无用的理由
不喜欢用 MQ。 如果是同一个系统内的不同模块,可以用数据库表,来传递消息; 如果是不同系统间数据接口,可以用 webservice(同步,现在好像是 gRPC 有点热)、SFTP/FTP协议(异步)...

Java(13)方法参数
首先回顾一下在程序设计语言中关于如何将参数传递给方法的一些专业术语。 按值调用表示方法接收的是调用者提供的值。而...

Java 基础常见知识点&面试题总结(上),2022 最新版!| JavaGuide
你好,我是 Guide。秋招即将到来,我对 JavaGuide 的内容进行了重构完善,公众号同步一下最新更新,希望能够帮助你。 基础概念与常识 Java 语言有哪些特点? 简单易学; 面向对象(封装,...

分析 java.util.HashMap 源码
概述 HashMap是一个用的比较多的容器,HashMap解决了Hashtable的一些问题,带来了性能的提高,HashMap是线程不安全的。 下文环境基于J11 HashMap 的结构 HashMa...

Mybatis逆向工程配置
Mybatis 提供了一个逆向工程工具,该工具可以根据数据表自动生成针对单表的 po 类、mapper 映射文件和 mapper 接口。大大缩减了开发时间,可以让开发人员将更多的精力放在繁杂的业务逻辑...

方法(Java)
什么是方法? 基本介绍 在其他语言中也叫函数 System.out.println();类名.对象.方法; Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包...

spring boot学习
每一次的加载都会去扫描spring.factories文件里面的类并且放入ioc中 注解 @Async,@EnableAsync 前者告诉spring这是一个异步任务,后者在启动类上表示开启这个功能 ...

SpringBoot + JWT + Redis 开源知识社区系统
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!:https://javaguide.cn/ 你好,我是 Guide!这...

Java8 提供的流式操作
参考资料 流式操作 Stream 代表一个支持串行或并行聚集操作的元素序列。 filter filter 生成一个新的 Stream,该 Stream 所有元素都满足 predicate.test =...

Halo 开源项目学习(三):注册与登录
基本介绍 首次启动 Halo 项目时需要安装博客并注册用户信息,当博客安装完成后用户就可以根据注册的信息登录到管理员界面,下面我们分析一下整个过程中代码是如何执行的。 博客安装 项目启动成功后,我们可...