Java开发面试知识点-长期更新

前言:本节内容长期更新,专门为了扫清盲点复习。采取链接前置,内容后置。内容可能较为杂碎。

参考链接:
Java基础知识面试题(2020最新版)
1、Java开发基础面试知识点
2、equals和HashCode深入理解以及Hash算法原理

长期更新

  • 1、String、StringBuilder、StringBuffer区别
  • 2、Java多态

1、String、StringBuilder、StringBuffer区别

运行速度:
StringBuilder > StringBuffer > String
注:两变一不变
线程安全:
StringBuilder是线程不安全的,而StringBuffer是线程安全的

2、Java多态

定义:多态是同一个行为具有多个不同表现形式或形态的能力

C++虚函数的存在是为了多态。

Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。
如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数

多态存在的三个必要条件:
继承或实现
重写
父类引用指向子类对象(注:这样只能调用公共方法,要想调用子类特有方法需要类型转换)

热门文章

暂无图片
编程学习 ·

python读取excel文件(xlrd)

调包import xlrd打开文件data = xlrd.open_workbook(文件名.xlsx)查看页名print(data.sheet_names())输出sheet1、sheet2等页名,一般用不上,因为可以用下表取页获取某页sheet = data.sheet_by_name(sheet1) sheet = data.sheet_by_index(0)两个方法都行,一般用第二个,因为第…
暂无图片
编程学习 ·

HCIP-RS-H12-221题库以及解析(部分)

不定期更新题库和解析,原题库不包含解析,解析有错误或不对的地方欢迎评论指正 1.由于属性AS-path不能在AS内起作用,所以规定BGP路由器不会宣告任何从IBGP对等体来的更新信息给其对等体 (√) 2.通过重发布命令注入BGP的路由,其orgin的属性为incomplete (√) 3.自制系统…
暂无图片
编程学习 ·

spring+mybatis日志

spring4默认日志是log4j, spring5默认日志是JUL spring4下使用JCL时,如果有log4j的jar,用的具体实现类是log4j,否则用的具体实现类是JUL spring4下使用JCL时,用的具体实现类是JUL1、spring4下日志加载顺序//循环for(int i=0; i<classesToDiscover.length && resu…
暂无图片
编程学习 ·

Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

注入实现方式@Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byType的,如果存在多个同一类型的bean,则使用@Qualifier来指定注入哪个beanName的bean。与JDK的@Resource的区别:@Resourc…
暂无图片
编程学习 ·

爬虫代理http协议和https协议的区别

1.HTTP和HITTPS的基本概念 HTTP:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 …
暂无图片
编程学习 ·

今天开始看apue了

第一个问题是安装apue.h 1 源码 2 安装libbsd-dev 3 解压后进入apue.3e目录下执行make 4 复制include下的apue.h和lib下的error.c到 /usr/include/中 5 在apue.h中加入#include “error.c” 应该就OK了!!!
暂无图片
编程学习 ·

LeetCode题解(0788):进制转换的奇技淫巧

题目 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转…
暂无图片
编程学习 ·

Linux学习日记 7.1 (用户)

MOOC链接 一。什么是用户和用户组 1.用户 UID (User‘s ID)是识别用户权限的标识,用户登陆系统所处的角色是通过UID来实现的,而非用户名,因此,每个用户的UID必须是唯一的。 Linux中的用户分成三类 ※ 系统管理员用户:拥有整个系统所有的权限,只能有一个,即根用户root,…
暂无图片
编程学习 ·

datawhale-综合练习题目

这里写自定斜体样式义目录标题这两天考试多,休息的时间也没有,等我考完再重新做回来,等我!功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建…
暂无图片
编程学习 ·

4 个好用的 Linux 监控工具

下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题。 1. iotop如果你想知道某些进程使用了多少你宝贵的 I/O 资源,那么就使用 iotop 吧。 iostat 命令也是查看 I/O 状态的,但他监控的是系统级别的 I/O 情况,而 iotop 监控的是进程级别的…
暂无图片
编程学习 ·

对于IIC发送数据的理解

主机发送数据到从机 👀1.数据是从低位开始到高位传输的。 👀2.接受数据是从高位到低位的。 //IIC发送一个字节 void IIC_Send_Byte(u8 txd) { u8 t; SDA_OUT(); IIC_SCL=0;for(t=0;t<8;t++){ IIC_SDA=(txd&0x80)>>…
暂无图片
编程学习 ·

adb命令大全总结

adb安装或卸载adb install -r xxx.apk //覆盖安装,保留数据和缓存文件adb install -s xxx.apk //安装apk到sd卡adb install -f xxx.apk //安装apk到内部系统内存adb install -d xxx.apk //安装低版本apkadb install -g xxx.apk //准许安装 apk manife…
暂无图片
编程学习 ·

FeignClient实现跨服务之间调用

首先在A服务写好接口新建这几个包跟类@FeignClient(contextId = "remoteSysDictService", value = ServiceNameConstants.AMS_SERVICE, fallbackFactory = RemoteSysDictServiceFallbackFactory.class) public interface RemoteSysDictService {@GetMapping("/s…
暂无图片
编程学习 ·

spring 使用事件驱动

概述: 一、三要素 1、监听器:Listener 2、事件源:event 3、事件的发布者:Publisher 二、实现方式 1、事件源:Event设计 // 重点是继承 ApplicationEvent public class MyEvent extends ApplicationEvent {private static final long serialVersionUID = -6921924726678224…
暂无图片
编程学习 ·

Design-装饰者模式

装饰者模式介绍实现代码 介绍 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供…
暂无图片
编程学习 ·

Ubuntu18.04 安装Autoware过程中出现的问题

Autoware安装过程参考了几位大大的教程,都已经非常详细,而且也提供的好多避坑指南。请在确定仔细阅读以下链接后,明确了安装过程和目标,明确了要装的显卡驱动和cuda版本后,再开始安装。 这是断断续续装了一周的痛苦和感悟… 主要参考-主线安装: 官方指南 补充参考一 补充…
暂无图片
编程学习 ·

使用Intellij来练习测试驱动开发 TDD Kata

文章目录使用Intellij来练习测试驱动开发 TDD Kata前言创建Java Maven项目TheBowlingGame KataThe RequirementsStep1: 创建项目Step2: 新建测试类Step3: 编写第1个测试方法Step4: 运行测试Step5: 修复编译错误Step6: 再次运行测试Step7: 继续修改测试方法Step8: 修复编译错误S…
暂无图片
编程学习 ·

AdaBoost算法

AdaBoost算法简介AdaBoost算法的全称是自适应Boosting(Adaptive Boosting),是一种二分类器,它用弱分类器的线性组合构造强分类器。弱分类器的性能不用太好,只需要比随机猜测强,依靠它们可以构造出一个非常准确的强分类器。强分类器的计算公式为:其中x是输入向量,F(x)是…
暂无图片
编程学习 ·

学会这些掌控雷电,面向对象的知识掌握之方法及方法重载

在学习下面的知识的时候,要注意把我的前一篇文章回顾一下哦学会这些掌控雷电,面向对象之类与对象 一、带参方法 带参方法无非就是在方法名之后加上了参数(形式参数:即参数的形式),注意里面写入的是参数类型与参数名称,举个例子: pulic void zhaZhi(String fruit){ //编…