首页 > 编程语言 >Java开发八月七号下午笔试 面试

Java开发八月七号下午笔试 面试

时间:2024-09-22 13:21:42浏览次数:3  
标签:Java 笔试 接口 服务 分布式 七号 class 加载

SpringBoot有两种配置方式,properties和yml,两种配置方式只是格式上不同,功能是一致的,比如

properties:

server.port=8080

对应的yml:

server:

port:8080

就实际开发而言,yml更简洁一些,但是properties出错率更低一些。

2、SpringBoot怎么修改启动时的端口号?

(1)、在配置文件中修改端口号:

server.port=8888

(2)、.可以通过实现EmbeddedServletContainerCustomizer接口来实现

public class Application extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

return builder.sources(Application.class);

}

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

@Override

public void customize(ConfigurableEmbeddedServletContainer container) {

container.setPort(8081);

}

}

3、mysql有几种锁?怎么创建一个带锁的sql语句?

从数据库的角度来看,锁可以分为共享锁、独占锁和更新锁。

共享锁:共享锁锁住的资源可以被其它资源读取,但不能被修改。

独占锁:独占锁锁住的资源只允许进行锁定操作的程序使用。

更新锁:是为了防止死锁设立的。

从程序员的角度来看,锁可以分为乐观锁、悲观锁。

参考【6】讲的不错。

4、JVM加载class文件的原理机制是什么?

JVM装载class文件都是由ClassLoader(类加载器)实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。

类加载器中,BootstrapClassloader是Java无关的,是由C/C++编写的类加载器,其它的类加载器都直接或间接继承自它。

5、分布式锁应当具备哪些条件?

为了防止分布式系统之间的多个进程相互干扰,需要一种分布式协调技术来对这些进程进行调度,而这个分布协调技术的核心就是分布式锁。

分布式锁需要具备的条件:

.在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行

.高可用的获取锁与释放锁

.高性能的获取锁与释放锁

.具备可重入特性(可理解为重新进入,由多于一个任务并发使用,而不必担心数据错误)

.具备锁失效机制,防止死锁

.具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败

6、SpringCloud和Dubbo有什么区别?

| | SpringCloud | Dubbo |

| --- | --- | --- |

| 底层实现 | 底层是使用Netty这样的NIO框架,是基于TCP协议传输的,配合以Hession序列化完成RPC通信。 | 基于Http协议+rest接口调用远程过程的通信 |

| 背景 | 来源于Spring团队,可以保证稳定的更新和维护 | Dubbo是来源于阿里团队,曾被阿里弃用,后来又低调重启 |

| 定位 | Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。定位是服务治理。 | SpirngCloud诞生于微服务架构时代,考虑的微服务治理的方方面面。依托于Spring和SpringBoot,SpringCloud定位的是生态 |

| 模块 | 完整的一站式分布式框架,模块包括服务注册中心,服务提供者,服务消费者,管控台,断路器,分布式配置服务,消息总线,以及服务追踪等 | 主要是四个模块:服务注册中心,服务提供者,服务消费者,还有管控中心 |

7、SpringMVC是单例模式吗?如果是,存在什么问题?该怎么解决?

SpringMVC是单例模式。

在多线程访问时存在安全问题。

解决办法:不需要同步,在控制器中不能写字段。如果在特殊情况需要定义属性的时候,那么就在类上面加上注解@Scope(“prototype”)改为多例的模式

7、List、Map、Set是否继承Collection?

List和Set继承Collection,Map是基本映射表接口,没有继承Collection。

8、线程有几种实现方式?

三种:

(1)、继承Thread类

(2)、实现Runnable接口,Thread类其实也是一个实现了Runable接口的类。

(3)、实现Callable接口,可以创建一个带返回值的线程,可以看作是对Runnable接口的补充。

标签:Java,笔试,接口,服务,分布式,七号,class,加载
From: https://blog.51cto.com/u_17015016/12080217

相关文章

  • 【java面经速记】Mysql和ES数据同步
    目录Mysql业务数据库ES查询数据库数据同步方案同步双写异步双写(MQ方式)基于Mysql的定时扫描同步基于Binlog实时同步使用canal监听binlog同步数据到es(流行方案)拓展:mysql的主从复制原理canal原理:数据迁移同步工具Mysql业务数据库核心特点:开源免费、高并发、稳定、......
  • 【java面经】微服务架构速记
    目录由来是什么本质和单体架构的区别适用项目开发框架SpringCloud(流行)DubboDropwizardConsul,etcd&etc(微服务的模块)由来独立系统,SOA服务切换时间长,成本高,不够稳定是什么一套小服务来开发单个应用,每个服务运行在自己的进程中,使用HTTPAPI等轻量级机制通信服务可......
  • 测试类 测试 java
    1importcom.alibaba.fastjson.JSON;2importcom.alibaba.fastjson.JSONObject;3importcom.lgq.ai.YouProjectApplication;4importcom.lgq.ai.service.XxxService;5importorg.junit.Test;6importorg.junit.runner.RunWith;7importorg.springframewor......
  • JAVA开源项目 甘肃非物质文化网站 计算机毕业设计
    本文项目编号T042,文末自助获取源码\color{red}{T042,文末自助获取源码}......
  • JAVA开源项目 房屋租赁系统 计算机毕业设计
    本文项目编号T041,文末自助获取源码\color{red}{T041,文末自助获取源码}......
  • JavaScript数据类型转换 字符串
    类型转换数据类型的转换有两种方式,一种是在运算等处理过程中自动转换,另一种是显式的转换。字符串类型转换除了在处理过程中的隐式转换,可以使用String(Value)函数进行转换。例子1:letval1=true;letval2=false;letval3=null;letval4=99;letval5=798.125; console.log(......
  • 解锁Java线程池:实战技巧与陷阱规避
    专业在线打字练习网站-巧手打字通,只输出有价值的知识。一前言线程池作为初学者常感困惑的一个领域,本次“巧手打字通课堂”将深入剖析其中几个最为普遍的误区。为了更清晰地阐述这些知识点,让我们以一个具体定义的线程池为例来展开说明。如下:ThreadPoolExecutorexecutor=ne......
  • JAVA毕业设计|(免费)springboot农产品智慧物流系统包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot537springboot农产品智慧物流系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.万字文档展示(部分)2.系统图片展示第5章系统详细设计......
  • JAVA毕业设计|(免费)springbootJAVA流浪动物救助平台-包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot530springbootJAVA流浪动物救助平台-开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.万字文档展示(部分)2.系统图片展示第5章系统详细设计系统实现部分就是将系统分析,系......
  • JAVA毕业设计|(免费)Springboot和BS架构宠物健康咨询系统包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot509Springboot和BS架构宠物健康咨询系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.万字文档展示(部分)2.系统图片展示第5章系统详细设计5.1管理员功能模块的实现5......