面试官是个小姐姐,很温柔 自我介绍 了解大数据组件吗 不了解 了解数据仓库吗 不了解 简单讲一下项目 rabbitMQ 在项目中怎么用的 了解kafka吗 不了解 springboot 打包方式 jar包、war包 怎么部署Linux 没部署过 说一下慢sql排查以及优化手段 慢查询日志,explain,索引
前言 大家好,我是chowley,今天来回顾一下之前的一场技术面试 面试官针对我的实习经历深挖,不断考验我对岗位和行业的理解 时间:50min 平台:飞书 过程 自我介绍 计网都学啥了? 说一下分层,七层:应用层、表示层、会话层、传输层、网络层数据链路层、物理层,四层:应用层、传输层、网络层、网络接口层 数据链路层的主要作用?封装成帧、透明传输、差错检测 传输层的作用?为设备进程之间的通信提供通用
问题内容: 我的问题是这样的: 为什么不能使用类Class的new T()和newInstance()实例化泛型? 问题答案: 您需要使用反射(),因为在编译时需要链接其构造函数的类是未知的。因此,编译器无法生成链接。
问题内容: 所以我有一张地图: 我会像这样添加元素: 我有如下通用方法: 现在,这段代码可以很好地工作,并且没有编译器问题: 但是,当我尝试这样做时: 编译器向我显示以下警告:类型安全:通用方法verifyType(String,Class)的未经检查的调用verifyType(String,Class) 这让我感到困惑…请帮助… 问题答案: 更改: 至 通过仅将类型声明为“ Class”,就失去
问题内容: 我正在为apache HttpClient包实现一个,如下所示: 但我希望函数不返回任何值,即。这可能吗?由于不是有效的Java类型,因此以下内容无法编译: 我想可以替换为以返回对象,但这并不是我真正想要的。 问 :是否有可能安排在这样一种方式,我可以返回此回调局面从? 问题答案: 泛型仅处理对象类。泛型不支持void和基本类型,您不能将它们用作参数化类型。您必须改用Void。 你能说
问题内容: 当我以为自己终于了解了泛型时,我遇到了以下示例: 它说,如果第1行未注释,则不会编译以下内容: 如果注释了第2行,则不会编译以下内容: 在第二个示例中,允许使用脂肪族及其超类型。那么为什么不允许脂肪族? 在第一个示例中,为什么不允许? 第一个编译器错误: 第二编译器错误: 问题答案: 您的第一个声明 表示 可能 是一个(因为extends ,extends 和extended )。 在
问题内容: 我有一个方法以a 作为参数。 在中,我如何知道a 是还是a 是? 问题答案: 根据用户omain的回答“如果使用<?>,则意味着您将不会在任何地方使用参数化类型。要么转到特定类型(在您的情况下,似乎是),要么转到非常通用的“ 另外,我相信如果您使用问号,编译器将在运行时(类型;有效Java的第119页)消除类型不匹配的情况,绕过擦除,并有效地消除了使用泛型类型所带来的好处? 要回答发问
问题内容: 我正在使用GSON将JSON解码为T类型的对象,例如 但是,这将返回异常- java.lang.AssertionError:意外的类型。预期为以下之一:java.lang.reflect.ParameterizedType,java.lang.reflect.GenericArrayType,但得到:sun.reflect.generics.reflectiveObjects.Typ
问题内容: 众所周知,arraylist是init。应该是这样的 那么,为什么Java允许这些? 那么,如果它们是正确的,为什么不允许这些? 编译器消息是:ArrayList类型的方法add(int,capture#1-of?extended Object)不适用于参数(int) 更一般 我读到了这件事,但很高兴收到您的来信。谢谢 另一个有趣的地方是: 问题答案: 您不能为类型的引用分配,因为它允
问题内容: 是否可以通过泛型传递接口的类型? 界面: 在我的测试方法中: 把后面或没有工作。 问题答案: 有一种类型安全的方法:使用并使用以下类型进行限定:
问题内容: 我是java泛型的新手,我的问题是: 在上面的语句中,当函数的返回类型为void时,为什么我们以前使用过?为什么此语法有效? 根据理论,方法本身可以是返回类型吗? 我的参考程序是 问题答案: 在这里没有什么做的返回类型; 这意味着这是一个通用函数,可以采用各种类型的数组。为了更容易理解,代码可能是这样的: 所以它告诉函数 “有一个通用类型,您接受的数组,因此,例如,如果我用您接受的通用
问题内容: 我使用整数对选择进行排序,并且可以正常工作,当我尝试修改程序以使用泛型时,编译器会抱怨并且我不知道如何解决它。如果有人能提出一些建议和建设性的意见,我将不胜感激。这是代码。 以下是吐出来的东西。 cannot be applied to given types; printArray(list); ^ required: E[] found: int[] reason: inferre
问题内容: 在Java实现中,我发现 我知道并了解不允许创建通用数组,但是我无法理解的是整个过程如何工作。我的意思是当我们做类似的事情时 上面的代码如何导致创建类型为Entry的数组 好吧,很少有人无法理解我的要求。改写我要问的是做这样的事情有什么意义 当它不导致 问题答案: 该实现使类型为对象的数组 而不提供通用类型参数(source)。这是允许的,但是要理解编译器不再保证类型安全。例如,在代码
问题内容: 如果我有一个使用通用类型的类,例如 如果我知道使用的所有类型(例如本例中的情况),那么在设计时就可以直接键入所有内容: 如果从“我不知道类型”的“某处”获得对象列表会怎样?如何分配类型: 问题答案: Java泛型不是C ++模板。 Java泛型是编译时功能,而不是运行时功能。 这是Java泛型教程的链接。 这永远无法与Java一起使用: 您必须使用多态(例如,每个对象都实现一个已知的接
问题内容: 我想知道以下两个方法声明之间有什么区别: 有什么可以/可以做的,而不是另一种?我在本网站的其他地方找不到这个问题。 问题答案: 与上下文隔离-没有区别。在和两者上,您只能调用的方法。 但是有上下文-如果您有泛型类: 然后: 与对象相同的代码 两个优点: 无需强制转换(编译器向您隐藏了此内容) 编译有效的时间安全性。如果使用的是版本,则不能确保方法始终返回。如果返回,则在运行时会有一个。