面试指南
未读
Java内存管理面试指南一
Java基础面试指南一
Java基础面试指南二
Java基础面试指南三
Java基础面试指南四
Java线程面试指南一
Java线程面试指南二
Redis面试指南一
Kafka面试指南一
Spring面试指南一
SpringBoot面试指南一
微服务面试指南一
1. 我可以使用受保护的方法重写公共方法吗?为什么会这样呢?我们不能通过受保护的方法重写公共方法。子类中方法的访问修饰符在覆盖时不能限制父类方法的范围。这是因为我们通过超类引用调用该方法,该超类引用通过子实现覆盖父实现。由于引用的类型是Parent类,因此客户端代码知道范围更广(公共)的API,并且是基于父API编写的。因此,限制覆盖(子级)方法的范围没有任何意义,但是相反的做法当然是可能的。
2. Java中的字符串池是什么?字符串在Java中是不可变的。当我们在String中进行更改时,它将创建一个新的String对象。我们的程序在运行时创建了很多String对象。为了提供最佳性能,JVM最小化了String对象的创建,并在堆内存中维护了String文字池(从Java 7开始)。因此,当需要创 ...
面试指南
未读
Java内存管理面试指南一
Java基础面试指南一
Java基础面试指南二
Java基础面试指南三
Java基础面试指南四
Java线程面试指南一
Java线程面试指南二
Redis面试指南一
Kafka面试指南一
Spring面试指南一
SpringBoot面试指南一
微服务面试指南一
当今世界上使用最广泛的编程语言之一是Java。Java是通用的高级编程语言。核心java是java编程技术概念的基础,该术语由sun Microsystems用来描述Java的标准版本(JSE)。核心Java只是Java的一部分,它代表J2SE,其中包含Java的所有基础知识,包括一些原理和软件包详细信息。Java核心概念涵盖了所有OOPS概念,特殊运算符,数据类型,包装类,异常处理,多态性,多线程,链接列表,队列,堆栈,数组列表。它最常用于开发桌面应用程序和服务器环境(开发独立应用程序)。
JDK和JVM有什么区别?JDK(Java开发工具包)是一个开发目的,它还包括执行环境。但是JVM纯粹是运行时环境,因此您将无法使用JVM编译源文件。
OOPS的基本概念是什么?抽象化
多态性
继承
封装
你 ...
面试指南
未读
Java内存管理面试指南一
Java基础面试指南一
Java基础面试指南二
Java基础面试指南三
Java基础面试指南四
Java线程面试指南一
Java线程面试指南二
Redis面试指南一
Kafka面试指南一
Spring面试指南一
SpringBoot面试指南一
微服务面试指南一
1.简介在本文中,我们将探讨一些在Java开发人员访谈中经常出现的内存管理问题。内存管理是一个很少有开发人员熟悉的领域。
实际上,开发人员通常不必直接处理这个概念,因为JVM会处理所有细节。除非出现严重问题,否则即使是经验丰富的开发人员也可能一触即发就无法获得有关内存管理的准确信息。
另一方面,这些概念实际上在面试中非常普遍-因此,让我们直接进入。
2.问题Q1。“用Java管理内存”是什么意思?内存是应用程序有效运行所必需的关键资源,并且像任何资源一样,它是稀缺的。因此,在应用程序或应用程序的不同部分之间来回分配和重新分配需要很多注意和考虑。
但是,在Java中,开发人员无需显式分配和取消分配内存-JVM,更具体地说是垃圾回收器-负责处理内存分配,因此开发人员不必这样做。
这与C语言(程序员可以 ...
面试指南
未读
Java内存管理面试指南一
Java基础面试指南一
Java基础面试指南二
Java基础面试指南三
Java基础面试指南四
Java线程面试指南一
Java线程面试指南二
Redis面试指南一
Kafka面试指南一
Spring面试指南一
SpringBoot面试指南一
微服务面试指南一
Java多线程:多线程是同时执行多个线程的过程。Java支持单线程以及多线程操作。单线程程序具有一个入口点(main()方法)和一个出口点。多线程程序具有一个初始入口点(main()方法),其后是许多入口点和出口点,它们与main()同时运行。术语并发是指同时执行多个任务。多处理和多线程都用于执行多任务。
什么是多线程?多线程是同时执行多个线程的过程。
它的主要优点是:
线程共享相同的地址空间。
线程是轻量级的。
线程之间的切换成本低
用户线程和守护线程之间有什么区别?当我们在Java程序中创建线程时,它被称为用户线程。守护程序线程在后台运行,并且不会阻止JVM终止。当没有用户线程在运行时,JVM会关闭程序并退出。从守护程序线程创建的子线程也是守护程序线程。
什么是多线程中的上下文切换?上下文 ...
面试指南
未读
Java内存管理面试指南一
Java基础面试指南一
Java基础面试指南二
Java基础面试指南三
Java基础面试指南四
Java线程面试指南一
Java线程面试指南二
Redis面试指南一
Kafka面试指南一
Spring面试指南一
SpringBoot面试指南一
微服务面试指南一
1. Kafka消息传递系统与其他消息传递框架有何不同?Kafka是由Apache基金会开发的消息传递框架,该框架将创建创建消息传递系统以及可提供容错群集以及低延迟系统,以确保端到端交付.
以下是要点:
Kafka是一个消息传递系统,它提供了容错功能以防止消息丢失.
在public-subscribe 模型上进行设计.
Kafka cab支持Java和Scala.
Kafka起源于LinkedIn,后来在2011年成为开源Apache项目
与Spark和其他大数据技术无缝协作.
支持集群模式操作
Kafka消息传递系统可以用于Web服务体系结构或大数据体系结构.
与其他消息传递框架相比,Kafka易于编码和配置.
Kafka需要其他组件(例如zookeeper ...
python基础教程
未读介绍Python 附带了各种有用的对象,可以直接使用。例如日期对象就是一个例子。由于日期和时间的复杂性,日期类型很难从头开始操作。所幸,Python 日期对象将日期转换成所需的字符串格式变得相当容易。
日期格式化是作为程序员的你最重要的任务之一。不同地区表示日期/时间的方法各不相同,因此你作为程序员的一大目标是以用户可读的方式显示日期值。
例如,你可能需要用数字格式表示日期值,如 “02-23-2018”。另一方面,你可能需要以更长的文本格式(如 “Feb 23,2018”)表示相同的日期。在另一种情况下,你可能希望从数字格式的日期值中提取出字符串格式的月份。
在本文中,我们将研究不同类型的日期对象及其功能。
datetime 模块正如你猜到的, Python 的 datetime 模块包含可用于处理日期和时间值的方法。要使用这个模块,我们得先通过以下 import 语句将其导入:
1import datetime
我们可以使用 time 类表示时间值。时间类的属性包括小时、分钟、秒和微秒。
time 类的参数是可选的。尽管不指定任何参数,你将获得 0 的时间(对象),但这 ...
selenium-ide
未读
Selenium IDE使用指南一(爬虫脚本录制器)
Selenium IDE使用指南二(命令行运行器)
Selenium IDE使用指南三(控制流)
Selenium IDE使用指南四(代码导出)
Selenium IDE使用指南五(常见问题)
Selenium IDE使用指南六(指令列表)
Selenium IDE使用指南七(参数定义)
现在,您可以在任何浏览器上,并行和在Grid上运行所有Selenium IDE测试,而无需编写任何代码。
只需安装Selenium IDE命令行运行程序,获取必要的浏览器驱动程序(如果在本地运行测试)以及从命令提示符启动具有所需选项的运行程序,就可以了。
先决条件要使命令行运行程序正常运行,需要以下依赖项:
node(Node.js编程语言)版本8或10
npm (NodeJS程序包管理器),通常与 node
selenium-side-runner (Selenium IDE命令行运行程序)
以及我们要使用的浏览器驱动程序(在下一节中有更多介绍)
brew install nodenpm install -g selenium-s ...
selenium-ide
未读
Selenium IDE使用指南一(爬虫脚本录制器)
Selenium IDE使用指南二(命令行运行器)
Selenium IDE使用指南三(控制流)
Selenium IDE使用指南四(代码导出)
Selenium IDE使用指南五(常见问题)
Selenium IDE使用指南六(指令列表)
Selenium IDE使用指南七(参数定义)
Selenium IDE附带的命令使您可以添加条件逻辑和循环到测试中。
这使您仅在满足应用程序中的某些条件时才执行命令(或一组命令),或根据预定义的标准重复执行命令。
JavaScript表达式通过使用JavaScript表达式检查应用程序中的条件。
您可以在测试过程中的任何时候使用execute script或execute async script命令运行一段JavaScript,并将结果存储在变量中。这些变量可以在控制流命令中使用。
您也可以直接在控制流命令中使用JavaScript表达式。
可用命令控制流命令通过指定打开和关闭命令来表示一组命令(或块)来工作。
以下是每个可用的控制流命令以及它们的伴随命令和/或关闭命令。
i ...
selenium-ide
未读
Selenium IDE使用指南一(爬虫脚本录制器)
Selenium IDE使用指南二(命令行运行器)
Selenium IDE使用指南三(控制流)
Selenium IDE使用指南四(代码导出)
Selenium IDE使用指南五(常见问题)
Selenium IDE使用指南六(指令列表)
Selenium IDE使用指南七(参数定义)
入门您可以通过右键单击测试或套件,选择Export,选择目标语言,然后单击,将测试或套件的测试导出到WebDriver代码Export。
这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中。
原产地跟踪代码注释导出时,有一个可选的切换开关可启用源跟踪代码注释。
这会将内联代码注释放置在导出的文件中,其中包含有关生成该文件的Selenium IDE中的测试步骤的详细信息。
支持的出口当前,支持导出到以下语言和测试框架。
C#NUnit
Java JUnit
JavaScript Mocha
python pytest
我们打算在每种语言的至少一个测试框架中支持所有官方支持的Selenium编程语言绑定(例如Java,JavaScri ...
selenium-ide
未读
Selenium IDE使用指南一(爬虫脚本录制器)
Selenium IDE使用指南二(命令行运行器)
Selenium IDE使用指南三(控制流)
Selenium IDE使用指南四(代码导出)
Selenium IDE使用指南五(常见问题)
Selenium IDE使用指南六(指令列表)
Selenium IDE使用指南七(参数定义)
如何记录悬停?鼠标悬停(aka悬停)操作很难作为记录周期的一部分自动捕获。
要在您的测试中添加鼠标悬停,需要进行一些手动干预。您可以通过两种不同的方式来做到这一点。
选项1:在录制时添加
录制时,右键单击要悬停的元素
在出现的菜单中,单击Selenium IDE,然后Mouse Over
确认Mouse Over测试步骤在测试中的正确位置(如果需要,将其拖放到其他位置)
选项2:在测试编辑器中手动添加
右键单击IDE中的测试步骤
选择 Insert new command
输入mouse over到Command输入字段
在Target输入字段中输入要悬停的定位器(或单击Select target in page并选择要悬停的元素)
为 ...
