牛客网面试题知识点记录-03

news2024/9/20 7:52:04

1.题目讲解重写后子类调用父类的方法总结:当子类重写了父类方法A,父类方法直接调用被重写的父类方法后,调用的是子类的重写的父类方法A。

class Test {
    public static void main(String[] args) {
        System.out.println(new B().getValue());
    }
    static class A {
        protected int value;
        public A (int v) {
            setValue(v);
        }
        public void setValue(int value) {
            this.value= value;
        }
        public int getValue() {
            try {
                value ++;
                return value;
            } finally {
                this.setValue(value);
                System.out.println(value);
            }
        }
    }
    static class B extends A {
        public B () {
            super(5);
            setValue(getValue()- 3);
        }
        public void setValue(int value) {
            super.setValue(2 * value);
        }
    }
}

// 输出的结果是 22 34 17

2.Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。实现国际化应用常用的手段是利用ResourceBundle类

3.HashMap允许存在一个键值为null。HashMap的存储顺序是根据Hash值存储的,故无序

4.String类型不属于包装类

5.按位与、或、异或、取反知识点,以及题目讲解公式~n=-n-1

与:& 两个都为1才为1,一个为0就为0
或:| 一个为1才就为1,否则为0
异或:^ 不同就为1,相同则为0
取反:~ 01,10

题目
int i = 5;
int j = 10;
System.out.println(i + ~j); //~j=-11,故5-11等于-6。

6.局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。成员内部类该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。

7.题目讲解锁的机制

public class Test {
    private synchronized void a() {
    }
    private void b() {
        synchronized (this) {
        }
    }
    private synchronized static void c() {
    }
    private void d() {
        synchronized (Test.class) {
        }
    }
}
// 题目:上述a和b没有static关键字,锁住的是对象;c有static关键字,锁住的是类,和d一样。

8.outputStream输出流包含flush方法

9.强引用(会一直存在于内存中)、软引用(当内存空间不足时,垃圾回收器会回收)、弱引用(不管内存空间是否充足,都要回收)、虚引用(相当于没有引用,任何时候都可以回收)。

10.题目讲解进制转换

以下哪个式子有可能在某个进制下成立()
A.13*14=204
B.12*34=568
C.14*14=140
D.1+1=3

//设为x进制,对于A选项由于 (1*x^1+3*x^0)(1*x^1+4*x^0)=2*x^2+4*x^0解出方程式x的值为8。则A选项可以被表示。

11.Spring提供了AOP,但是spring没有提供AOP的日志系统,日志系统需要自己进行实现。

12.static和final关键字可以一起使用。

13.局部变量在创建方法栈时被初始化HashMap是链地址法解决哈希冲突,ThreadLocal是开放定址法解决哈希冲突。

14.Ant 没有生命周期必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。

15.默认的整数数据类型是int,默认的浮点数据类型是double

16.题目讲解c语言和java语言下的char

char chr = 127;
int sum = 200;
chr += 1;
sum += chr;

// c语言中的char类型是一个字节,故范围是-128-127。chr+1超出的了范围127对应的补码是01111111,+1后10000000,为-128,故sum+=chr为200-128等于72

// java语言中char类型是两个字节,127+1则为128,sum输出为328

17.PreparedStatement是CallableStatement的父接口

18.元数据区不属于新生代区

19.代码讲解replaceAll方法

String classFile = "com.jd.". replaceAll(".", "/") + "MyClass.class";
输出 ///MyClass.class,原因在于replaceAll(".", "/")中的'.'表示全部字母

20.final关键字定义的常量一定需要进行初始化,否则会报错。

21.讲解线程的生命周期函数
在这里插入图片描述

22.File类不能读写文件,读写文件是通过字符流和字节类

23.volatile关键字包含的特性为:有序性,可见性

24.Object.wait/notify/notifyAllCondition.await/notify/notifyAll可以实现线程之间的通知和唤醒

25.javac-D 指定编译后类层次的根目录

26.题目讲解变量的正确定义

// 'a'在此刻相当于一个数值
'a' = 1/3

27.局部内部类相当于类的一个变量,不可以使用public/private/default关键字来进行修饰

28.native关键字表名修饰的方法是由其他非java语言进行编写的

29.若存在一个类名为Test,执行java Test one two three 命令是什么意思?java Test是执行命令,one two three 才是传入的字符串。

30.包装类和基本类型直接进行比较时,会自动进行装箱和拆箱(也就是相当于值比较)。

31.三元表达式会自动将类型进行转换,也就是会将精度进行提高

Object o1 = (false)?new Double(1.0):new Double(2);
// 输出的o1为2.0

32.JVM分为三个区域,分别时永久代、年轻代、年老代。永久代时static或者final等常量,年轻代是new出来的对象。

33.栈(线程共享):存储类变量,类对象;方法区(线程共享):存储class文件和静态数据;:存储局部变量、基本类型变量、操作指令。

34.HashSet子类依靠toString()和equals()来判断是否存在重复元素

35.HttpServletResponse不包含获取请求地址方法,请求地址方法仅存在于HttpServletRequest类中

36.对int和Integer进行补充:int和Integer(包含对象)进行比较时,会自动进行装箱和拆箱(==判断的为True)。但是范围仅在-128~127之间。

37.题目讲解static静态块

// 输出 P is init 123,原因在于以下三种情况将不会初始化子类
// 1. 调用的是父类的static方法或者字段
// 2. 调用的是父类的final方法或者字段
// 3. 通过数组来引用

public class P {
    public static int abc = 123;
    static{
        System.out.println("P is init");
    }
}
public class S extends P {
    static{
        System.out.println("S is init");
    }
}
public class Test {
    public static void main(String[] args) {
        System.out.println(S.abc);
    }
}

38.当类对象为空时,也可以调用类中的静态方法

39.对象序列化中,可以使对象进行传输的仅为ObjectOutputStreamObjectInputStream流。

40.事务的传播性(可以根据后缀来参考)
1.required:必须的,没有事务就新建事务
2.support:支持的,没有事务,就用非事务
3.mandatory:强制的,必须要有事务,否则报错
4.required_new:必须要新建事务,老事务将会被挂起重新创建新事物

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1354691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安科瑞电化学储能电能管理系统解决方案——安科瑞 顾烊宇

1 概述 在我国新型电力系统中,新能源装机容量逐年提高,但是新能源比如光伏发电、风力发电是不稳定的能源,所以要维持电网稳定,促进新能源发电的消纳,储能将成为至关重要的一环,是分布式光伏、风电等新能源消…

Java中的异常如何处理?

在Java编程中,异常是一种在程序执行期间发生的意外情况。学会处理异常是编写健壮、可靠程序的关键之一。 为什么需要异常处理? 异常处理允许程序在发生错误时进行优雅而有序的处理,而不是导致程序崩溃。这有助于提高程序的可维护性和用户体…

Alibaba Cloud Linux镜像操作系统超详细测评!兼容CentOS

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

Vue: 多个el-select不能重复选择相同属性

一、场景 1.需求&#xff1a; 用户可自由选择需要修改的对象并同时修改多个属性&#xff0c;需要校验修改对象不能重复选择&#xff0c;但是可供修改属性是固定的 2.目标效果&#xff1a; 二、实现 1.主要代码&#xff1a; <template><el-selectv-model"se…

k8s pod基础 1

发布和yaml文件的初步了解。 pod&#xff1a;是k8s中最小的资源管理组件。 pod也是最小化运行容器化的应用的资源管理对象。 pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合。 在一个pod当中运行一个容器是最常用的方式。 在一个pod当中可以同时…

深度思考,AI项目的人工智能到底引领的是什么?

项目深度思考&#xff0c;人工智能到底引领的是什么&#xff1f; 人工智能引领技术之舞&#xff1a;项目深度思考项目背景&#xff1a;人工智能的魔法时代技术选择的深度思考&#xff1a;AI大决战团队协作的深度思考&#xff1a;AI联盟大会用户体验的深度思考&#xff1a;AI之光…

鸿蒙HarmonyOs:为什么不支持热更新?

学习了一段时间的鸿蒙开发&#xff0c;发现鸿蒙开发还是比较简单的&#xff0c;今天突然心血来潮&#xff0c;研究了一下鸿蒙热更新&#xff0c;最终得出的结论是鸿蒙暂时不支持热更新。 鸿蒙app开发主要是利用的ArkTs语言&#xff0c;ArkTs又是基于TypeScript语言的&#xff0…

2024年MySQL学习指南(二),探索MySQL数据库,掌握未来数据管理趋势

文章目录 前言4. DDL- 操作数据库4.1 查询4.2 创建数据库4.3 删除数据库4.4 使用数据库 5. DDL- 操作数据表5.1 数据类型5.2 查询表5.3 创建表5.4 删除表5.5 修改表 6. 实战案例详解 前言 接上一篇文章【2024年MySQL学习指南&#xff08;一&#xff09;】 4. DDL- 操作数据库 …

ROS学习记录:在ROS中用C++实现激光雷达避障

前言 本文建立在成功获取激光雷达数据的基础上&#xff0c;详细参考 在ROS中用C实现获取激光雷达的数据 一、实现思路 二、在VScode中打开之前编写好的lidar_node.cpp 三、在lidar_node.cpp中写入如下代码 #include <ros/ros.h> #include <std_msgs/String.h> …

如何使用 AI 准备雅思口语考试

问题 雅思口语考试分为以下几个部分&#xff1a; 第 1 部分&#xff1a;考官将要求考生自我介绍并询问他们一些个人问题&#xff0c;例如他们的身份、兴趣和爱好。 第 2 部分&#xff1a;考官会给考生一张任务卡、一支铅笔和一些做笔记的纸。任务卡将提供一个主题和一些关键问…

【分布式系统学习】之分布式入门理解

目录 1、问&#xff1a;谈谈对分布式系统的理解2、问&#xff1a;那分布式系统环境下各自有什么优缺点&#xff1f;2.1 优点2.2 缺点 总结&#xff1a; 1、问&#xff1a;谈谈对分布式系统的理解 答&#xff1a; 分布式系统通俗来说&#xff1a;就是将计算能力和数据存储能力分…

springboot 2.7 oauth server配置源码走读一

springboot 2.7 oauth server配置源码走读 入口&#xff1a; 上述截图中的方法签名和OAuth2AuthorizationServerConfiguration类中的一个方法一样&#xff0c;只不过我们自己的配置类优先级比spring中的配置类低&#xff0c;算是配置覆盖&#xff0c;看下图所示&#xff1a; …

everything 本地文件搜索工具 完胜WIndows搜索 速度99% 超级给力

"Everything" 是一个 Windows 平台上的免费软件&#xff0c;它是一款功能强大的本地文件搜索工具。它允许用户在计算机上快速而准确地搜索文件和文件夹。以下是一些 "Everything" 的主要特点&#xff1a; 实时搜索&#xff1a; "Everything" 提供…

C++面向对象高级编程(侯捷)笔记2

侯捷C面向对象高级编程 本文是学习笔记&#xff0c;仅供个人学习使用&#xff0c;如有侵权&#xff0c;请联系删除。 如果你对C面向对象的组合、继承和委托不了解&#xff0c;对什么是拷贝构造、什么是拷贝赋值和析构不清楚&#xff0c;对类设计中的Adapter、pImpl、Template…

Linux的systemctl命令

Linux系统很多软件均支持使用systemctl命令控制&#xff1a;启动、停止、开机自启 形式&#xff1a; systemctl start | stop | status | enable | disable 服务名 enable : 自启动 disable : 关闭自启动 系统内置的服务比较多&#xff0c;比如&#xff1a; NetworkManage…

B01、运行时数据区概述-03

1、什么是内存 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。 2、线程共享和…

可狱可囚的爬虫系列课程 08:新闻数据爬取实战

前言 本篇文章中我带大家针对前面所学 Requests 和 BeautifulSoup4 进行一个实操检验。 相信大家平时或多或少都有看新闻的习惯&#xff0c;那么我们今天所要爬取的网站便是新闻类型的&#xff1a;中国新闻网&#xff0c;我们先来使用爬虫爬取一些具有明显规则或规律的信息&am…

华芯微特MCU之TIMER触发ADC

01 TIMER定时器之脉冲发送功能 我们今天详细讲解一下TIMER的ADC触发功能。 SWM190的TIMER2/3支持SAR ADC触发功能&#xff0c;此功能配置为定时器或脉冲发送均有效&#xff0c;可通过配置相应寄存器实现。 将SAR ADC CTRL寄存器中TRIG设置为TIMER2触发或TIMER3触发。TIMER可作…

GZ075 云计算应用赛题第5套

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷5 某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenSt…

C++上位软件通过Snap7开源库访问西门子S7-200/合信M226ES数据块的方法

前言 上一篇文章中介绍了Snap7访问西门子S7-1200/S7-1500 DB块的方法&#xff0c;对于S7-200PLC是没有数据块访问的。S7-200PLC中Snap7只能通过访问MB块&#xff0c;VB块的方法进行和PLC之间的Snap7通信和数据交换。手头没有S7-200PLC故通过合信CTMC M226ES运动控制器进行测试&…