当前位置: 首页 > news >正文

安恒信息java实习面经

目录

    • 1.Java ME、EE、SE的区别,Java EE相对于SE多了哪些东西?
    • 2.jdk与jre的区别
    • 3.说一下java的一些命令,怎么运行一个jar包
    • 4.简单说一下java数据类型及使用场景
    • 5.Map跟Collection有几种实现?
    • 6.面向对象的特性
    • 7.重载和重写的区别
    • 8.重写的好处,怎么重写父类的方法
    • 9.java中遍历list的几种方式
    • 10.stream流用过吗?它能够实现什么?
    • 11.讲讲对lambda表达式的理解
    • 12.我们在创建一个实体类的时候,必要的有哪些方法?
    • 13.这些方法你都是手写的,还是用什么工具生成的,还是说用注解?
    • 14.lombok注解用过吗?
    • 15.maven的常用命令
    • 16.maven的pom文件有哪些标签及标签的作用
    • 17.git命令,它的提交过程
    • 19.Linux常用命令

1.Java ME、EE、SE的区别,Java EE相对于SE多了哪些东西?

JavaEE通常是指Java Enterprise Edition,Java企业版
JavaSE通常是指Java Standard Edition,Java标准版
Java ME通常是指Java Micro Edition,Java微型版本

JavaEE 比 SE多了许多包,用于开发大规模的,分布式的Java应用/服务器。
比如JSP,Servlet相关的包都是在JavaEE范畴,SE里面没有的。

2.jdk与jre的区别

JRE顾名思义是java运行时环境
JDK顾名思义是java开发工具包
如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。

3.说一下java的一些命令,怎么运行一个jar包

java -jar demo.jar
java -Xms515m -Xmx1024m -jar demo.jar
命名应该非简称,助记的话:memory startup初始内存,memory maximum最大内存

4.简单说一下java数据类型及使用场景

类型名称字节空间使用场景
byte1个字节存储字节数据
short2个字节兼容性考虑
int4个字节存储普通整数
long8个字节存储长整数
float4个字节存储浮点数
double8个字节存储双精度浮点数
char2个字节存储一个字节
boolean1个字节存储逻辑变量

5.Map跟Collection有几种实现?

在这里插入图片描述

6.面向对象的特性

(1)继承:继承是从已有类得到继承信息创建新类的过程
(2)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。
(3)多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。

你是怎样理解多态的?什么地方用过?
同一个行为具有多个不同表现形式或形态的能力。
父类引用指向子类对象,例如 List< String > list = new ArrayList< String >();就是典型的一种多态的体现形式。

7.重载和重写的区别

1、重载发生在本类,重写发生在父类与子类之间;
2、重载的方法名必须相同,重写的方法名相同且返回值类型必须相同;
3、重载的参数列表不同,重写的参数列表必须相同。
4、重写的访问权限不能比父类中被重写的方法的访问权限更低。
5、构造方法不能被重写

8.重写的好处,怎么重写父类的方法

在子类中可以根据需要对从基类中继承来的方法进行重写,重写是对类中方法的扩充,因为继承用的是父类的东西,重写则不仅得到父类的东西,同时也加入了自己的东西

9.java中遍历list的几种方式

4种

for
forEach
iterator
stream
        ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);//forfor (int i = 0; i < list.size(); i++) {System.out.print(list.get(i)+" ");}//加强forfor (Integer i : list) {System.out.print(i+" ");}//iteratorIterator<Integer> iterator = list.iterator();while (iterator.hasNext()){Integer i = iterator.next();System.out.print(i+" ");}//streamlist.stream().forEach(System.out::println);

10.stream流用过吗?它能够实现什么?

是什么
对数据源的计算
特点
1.Stream 自己不会存储元素
2.Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。
3.Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。
Stream只在遇到终结操作的时候才会执行,比如:

        List.of(1, 2, 3).stream().filter(i -> i > 2).peek(System.out::println);

这么一段代码是不会执行的,peek方法可以看作是forEach,这里我用它来打印Stream中的元素。
因为filter方法和peek方法都是转换流方法,所以不会触发执行。
如果我们在后面加入一个count方法就能正常执行:

        List.of(1, 2, 3).stream().filter(i -> i > 2).peek(System.out::println).count();

count方法是一个终结操作,用于计算出Stream中有多少个元素,它的返回值是一个long型。
Stream的这种没有终结操作就不会执行的特性被称为延迟执行。

11.讲讲对lambda表达式的理解

(1)lambda能替换匿名内部类

        Runnable r = new Runnable() {@Overridepublic void run() {System.out.println("thread run");}}Runnable r = () -> {System.out.println("thread run");};

(2)哪里有list,哪里就有lambda

        //遍历输出集合List<Integer> list=Arrays.asList(1,2,3,4,5);list.forEach(x->System.out.print(x));//当然也可使用方法引用list.forEach(System.out::print);//取出所有大于1的元素,并形成新的集合List<Integer> collect = list.stream().filter(x -> x > 1).collect(Collectors.toList());//获取学生的所有年龄集合List<Integer> ageList=Arrays.asList(new Student("tom",20),new Student("jack",22)).stream().map(Student::getAge).collect(Collectors.toList());

在这里插入图片描述

12.我们在创建一个实体类的时候,必要的有哪些方法?

Getter,Setter,toString,equals,hasCode

13.这些方法你都是手写的,还是用什么工具生成的,还是说用注解?

快捷键alt+ins或者lombok的@data

14.lombok注解用过吗?

  • @Data
    使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。
  • @AllArgsConstructor
    使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
  • @NoArgsConstructor
    使用后创建一个无参构造函数
  • @Builder注解使用的创建者模式又叫建造者模式。简单来说,按照自定义属性去创建对象,比如一个类可能有很多属性 但是我创建对象想按照自己的属性去设置 就要创建很多构造方法 用了这个注解就不用了
@ToString
@Builder
public class User {private Integer id;private String name;private String address;
}class Test{public static void main(String[] args) {User user = User.builder().address("beijing").build();System.out.println(user);}
}

15.maven的常用命令

mvn -v, --version 显示版本信息
打包:mvn package
在本地 Repository 中安装 jar:mvn install
清除产生的项目:mvn clean

16.maven的pom文件有哪些标签及标签的作用

project - project 是 pom.xml 中描述符的根。
modelVersion - modelVersion 指定 pom.xml 符合哪个版本的描述符。maven 2 和 3 只能为 4.0.0。
groupId - 团体、组织的标识符。
artifactId - 单独项目的唯一标识符。
version - 一个项目的特定版本。
dependencyManagement 是表示依赖 jar 包的声明。即你在项目中的 dependencyManagement 下声明了依赖,maven 不会加载该依赖,dependencyManagement 声明可以被子 POM 继承。主要是为了统一管理依赖包的版本,确保所有子项目使用的版本一致
modules - 子模块列表。
properties- 属性列表。定义的属性可以在 pom.xml 文件中任意处使用。使用方式为 ${propertie} 。

17.git命令,它的提交过程

git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
git commit -m ‘注释’ 将缓存区内容添加到本地仓库
git push origin master 将本地版本库推送到远程服务器

19.Linux常用命令

ls:查看 linux 文件夹包含的文件,而且可以查看文件权限
pwd:命令用于查看当前工作目录路径。
cd:切换当前目录至 dirName。
rm:删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
mv:移动文件或者改名
cp:将源文件复制至目标文件
cat:查看文件的内容
tail:命令用于显示指定文件末尾内容
free:查看内存
查找指定进程

ps -ef | grep svn

相关文章:

安恒信息java实习面经

目录1.Java ME、EE、SE的区别&#xff0c;Java EE相对于SE多了哪些东西&#xff1f;2.jdk与jre的区别3.说一下java的一些命令&#xff0c;怎么运行一个jar包4.简单说一下java数据类型及使用场景5.Map跟Collection有几种实现&#xff1f;6.面向对象的特性7.重载和重写的区别8.重…...

第八章:枚举类与注解

第八章&#xff1a;枚举类与注解 8.1&#xff1a;枚举类的使用 ​ 类的对象只有有限个&#xff0c;确定的。我们称此类为枚举类。当需要定义一组常量是&#xff0c;强烈建议使用枚举类。如果枚举类中只有一个对象&#xff0c;则可以作为单例模式的实现方式。 如何定义枚举类 …...

Ceph介绍

分布式存储概述 常用的存储可以分为DAS、NAS和SAN三类 DAS&#xff1a;直接连接存储&#xff0c;是指通过SCSI接口或FC接口直接连接到一台计算机上&#xff0c;常见的就是服务器的硬盘NAS&#xff1a;网络附加存储&#xff0c;是指将存储设备通过标准的网络拓扑结构&#xff…...

remove 和 erase 的区别

remove 和 erase 的区别 以容器vector来说明remove和erase的区别 在STL中&#xff0c;vector容器也提供了remove()和erase()函数&#xff0c;用于从vector中删除元素。虽然这两个函数都可以实现删除元素的功能&#xff0c;但是它们之间还是有一些区别的。 remove() remove(…...

NFTScan:怎么使用 NFT API 开发一个 NFT 数据分析平台?

对很多开发者来说&#xff0c;在 NFT 数据海洋中需要对每个 NFT 进行索引和筛选是十分困难且繁琐的&#xff0c;NFT 数据获取仍是一大问题。而数据平台提供的 API 使得开发者可以通过接口获取区块链上 NFT 的详细信息&#xff0c;并对其进行分析、处理、统计和可视化。在本篇文…...

ECOLOY直接更换流程表单后导致历史流程中数据为空白的解决方案

用户反馈流历史流程打开是空白了没有内容。 一、问题调查分析&#xff1a; 工作流“XX0204 员工培训协议审批流程”workflowId37166产生的7个具体流程中&#xff0c;创建日期为2021年的4个具体流程原先引用的数据库表单应该是“劳动合同签订审批表”(formtable_main_190)&…...

mysql中的共享锁,排他锁,间隙锁,意向锁及死锁机制

一、前言&#xff08;以下均为读完 高性能Mysql第四版 后的个人理解&#xff0c;建议阅读&#xff0c;挺不错的&#xff09;在写锁机制前先简单贴出mysql InnoDB引擎中的事务特性与隔离级别&#xff1a;事务的ACID标准(1)原子性-atomicity&#xff1a;一个事务作为一个不可分割…...

SpringBoot整合MybatisPlus

文章目录前言一、MybatisPlus是什么&#xff1f;二、使用步骤1.导入依赖2.编写配置文件3.编写Controller和实体类4.编写持久层接口mapper5.启动类加包扫描注解6.测试总结前言 本篇记录一下SpringBoot整合MybatisPlus 一、MybatisPlus是什么&#xff1f; MyBatis-Plus&#xff…...

中电金信Gien享汇・大数据专题|金融行业数据架构及模型演进

本期嘉宾 陈子刚 中电金信商业分析事业部华南区总经理 毕业于复旦大学&#xff0c;硕士研究生&#xff1b;拥有16年以上金融行业商业智能领域从业经验&#xff1b;曾就职于中国工商银行、Teradata、东亚银行&#xff0c;服务于平安银行、广发银行、招商银行、广东农信、招商…...

Cadence Allegro 导出Design Cross Section报告详解

⏪《上一篇》   🏡《上级目录》   ⏩《下一篇》 目录 1,概述2,Design Cross Section作用3,Design Cross Section示例4,Component Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频 1,概述 <...

【LeetCode】剑指 Offer 23. 链表中环的入口节点 p139 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/c32eOV/ 1. 题目介绍&#xff08;23. 链表中环的入口节点&#xff09; 给定一个链表&#xff0c;返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环&#x…...

LeetCode-96. 不同的二叉搜索树

题目来源 96. 不同的二叉搜索树 递归 1.我们要知道二叉搜索树的性质&#xff0c;对于一个二叉搜索树&#xff0c;其 【左边的节点值 < 中间的节点值 < 右边的节点值】&#xff0c;也就是说&#xff0c;对于一个二叉搜索树&#xff0c;其中序遍历之后形成的数组应该是一…...

JavaWeb基础

Servlet 是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的&#xff0c;Java applet 是一种当作单独文件跟网页一起发送的小程序&#xff0c;它通常用于在客户端运行&#xff0c;结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序…...

C++基础了解-03-C++变量类型

C变量类型 一、变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型&#xff0c;类型决定了变量存储的大小和布局&#xff0c;该范围内的值都可以存储在内存中&#xff0c;运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。…...

树莓派4b——通过mjpg-streamer使用摄像头

参考博文&#xff1a;(51条消息) 树莓派4b如何打开摄像头_树莓派打开摄像头_会飞的小东的博客-CSDN博客(51条消息) 树莓派4B &#xff08;系统版本11&#xff0c;bullseye&#xff09;更换清华源_树莓派更换清华源_ASSSSHION的博客-CSDN博客这个坑踩了我一星期&#xff0c;找各…...

MySQL运维篇之读写分离

04、读写分离 4.1、介绍 读写分离&#xff0c;简单地说是把对数据库的读和写操作分开&#xff0c;以对应不同的数据库服务器。主数据库提供写操作&#xff0c;从数据库提供读操作&#xff0c;这样能有效地减轻单台数据库的压力。 通过Mycat即可轻易实现上述功能&#xff0c;…...

windows程序最小化到托盘并显示提示信息

windows程序最小化到托盘并显示提示信息背景干货直接上代码解析控制窗口显示初始化托盘添加第一条消息更新界面结束啦背景 有些时候需要程序在最小化的时候可以看到程序进度&#xff0c;甚至需要完全关闭界面&#xff0c;只留下托盘显示&#xff0c;这篇文章就是在这个背景下诞…...

使字符串平衡的最少删除次数(简单动态规划)

给你一个字符串 s &#xff0c;它仅包含字符 a 和 b​​​​ 。 你可以删除 s 中任意数目的字符&#xff0c;使得 s 平衡 。当不存在下标对 (i,j) 满足 i < j &#xff0c;且 s[i] b 的同时 s[j] a&#xff0c;此时认为 s 是 平衡 的。 请你返回使 s 平衡 的 最少 删除次…...

linux网络广播使用

广播使用的特殊的IP地址: 最后一位是255时的IP地址是给广播预留的IP地址, 如:192.168.1.255 UDP服务器在广播数据时,数据报使用的地址不是UDP服务器地址,而是广播地址 如:UDP服务器地址是:192.168.1.110 UDP服务器广播数据时使用地址是:192.168.1.255 UDP数据包发送给交换机…...

Kubernetes源码学习

kubernetes源码剖析 1.下载和编译源码 go 1.18.3 kubernetes 1.24.2 centos 7.9 进入目录$GOPATH/src/k8s.io/kubernetes&#xff0c;执行以下命令即可全量构建&#xff0c;并且构建结果只包含linux平台的&#xff1a; KUBE_BUILD_PLATFORMSlinux/amd64 make all GOFLAGS…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...