一、Java基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的 开发环境 和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 ......
183
0
0
2024-01-14
1、哪些情况下的对象会被垃圾回收机制处理掉?利用可达性分析算法, 虚拟机 会将一些对象定义为 GCRoots,从 GCRoots 出发沿着引用链向下寻找,如果某个对象不能通过 GCRoots 寻找到,虚拟机就认为该对象可以被回收掉。* 哪些对象可以被看做是 GCRoots 呢?1)虚拟机栈(栈帧中的本地变量表)中引用的对象;2)方法区中的类静态属性引用的对 ......
177
0
0
2024-01-09
今天给大家带来的是二分查找及其变种的总结,大家一定要看到最后呀,用心满满,废话不多说,让导演帮我们把镜头切到下边吧! 上面的例子就用到了我们的二分查找思想,如果你玩过类似的游戏,那二分查找理解起来肯定很轻松啦,下面我们一起征服二分查找吧! 二分查找 二分查找也称折半查找( Binary Search),是一种在有序数组中查找某一特定元素的搜索算法。我们 ......
157
0
0
2024-01-07
Synchronized 是常被我们用来保证临界区以及临界资源安全的解决方案。它可以保证当有多个线程访问同一段代码,操作共享数据时,其他线程必须等待正在操作线程完成数据处理后再进行访问。即 Synchronized 可以达到线程互斥访问的目的。所以,我们可以了解到,Synchronized锁代表的锁机制有如下两种特性:互斥型和可见性。互斥性:同一时间只允许一 ......
212
0
0
2024-01-07
1.什么是GC?GC是 垃圾收集 的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃, Java 提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。 Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。 2.需要GC的区 ......
169
0
0
2024-01-06
最近看到一篇文章,关于一道面试题,先看一下题目,如下: 有人可能在没经过仔细考虑的情况下,给出以下的答案 很遗憾,这是错误的。 重要的事注释三遍 那么为什么错误,原因是什么?想要搞清楚具体的原因,在这里你需要搞清楚以下几个概念,如果这个概念搞清楚了,你也不会把上面的实现方法写错形参 和实参参数值传递自动装箱所以,上面的问题先放一边,先看一下这几个概念形参和 ......
157
0
0
2024-01-05
除了掌握扎实的专业技能之外,你还需要一份《 java 程序员面试宝典》才能在万千面试者中杀出重围,成功拿下offer。Q1:Java内部类和子类之间有什么区别? 答案:内部类是指在一个外部类的内部再定义一个类,内部类对外部类有访问权限,可以访问类中定义的所有变量和方法。子类是从父类(superclass)中继承的类,子类可以访问父类所有public和prot ......
190
0
0
2023-12-22
文章目录: 讲一下 JVM 内存结构?Java 内存模型(JMM)是基于共享内存的多线程通信机制。 JVM内存结构 = 类加载器 + 执行引擎 + 运行时数据区域。 image-20210905150636105 程序计数器 程序计数器 主要有两个作用: 当前线程所执行的 字节码 的行号指示器,通过改变它实现代码的流程控制,如:顺序执行、选择、循环、 ......
191
0
0
2023-12-19
本文目录 : 常见的集合有哪些? List 、Set和Map 的区别 ArrayList 了解吗? ArrayList 的扩容机制? 怎么在遍历 ArrayList 时移除一个元素? Arraylist 和 Vector 的区别 Arraylist 与 LinkedList 区别 HashMap 解决hash冲突的办法有哪些?HashMap用的哪种 ......
176
0
0
2023-12-13
1、并发编程三要素?(1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。(2)可见性可见性指多个线程操作一个共享变量时,其中一个 线程 对变量进行修改后,其他线程可以立即看到修改的结果。(3)有序性有序性,即程序的执行顺序按照代码的先后顺序来执行。2、实现可见性的方法有哪些?synchronized ......
186
0
0
2023-11-25
文章目录一、 Java 内存区域 1.1 说一下 JVM 的主要组成部分及其作用? 1.2 说一下 JVM 运行时数据区 1.3 详细的介绍下 程序计数器 ? 1.4 详细介绍下 java 虚拟机栈? 1.5 一个方法调用另一个方法,会创建很多栈帧吗?递归的调用自己会创建很多栈帧吗? 1.6 你能给我详细的介绍Java堆吗? 1.7 能不能解释一下本地方法 ......
175
0
0
2023-11-23
JAVA 基础、语法: 1. java 跨平台原理(字节码文件、 虚拟机 ) C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。 Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。 字节码文件不面向任何具体平台,只 ......
249
0
0
2023-10-21
1、在Java EE中, Servlet 是在服务器端运行,以处理客户端请求而做出的响应的程序,下列选项中属于Servlet生命周期阶段的是( )A、加载和实例化B、初始化C、服务D、销毁E、以上全部答案:E2、在Java EE中的MVC设计模式中,( )负责接受客户端的请求数据A、 Javabean B、 JSP C、ServletD、HTML答案:C3 ......
272
0
0
2023-10-20
多线程 技巧目录 什么是进程、 线程 ,他们有什么区别? 进程 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本 ......
204
0
0
2023-10-20
java 中级面试题及答案【最新版及答案,干货!!!这是一个中级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。Java中级面试永远是 程序员 迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少的,下面就来看看小编精心整理的一些java高级工程师面试题及答案吧。如果不背 J ......
199
0
0
2023-10-16