1 Star 0 Fork 31

阿明 / Ebooks

forked from Java精选 / Ebooks 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
面试题2021年常见bug问题面试题及答案汇总.md 8.80 KB
一键复制 编辑 原始数据 按行查看 历史

面试题2021年常见bug问题面试题及答案汇总

全部面试题答案,更新日期:01月30日,直接下载吧!

下载链接:高清500+份面试题资料及电子书,累计 10000+ 页大厂面试题 PDF

常见 BUG 问题

题1:Tomcat 启动 Spring 项目如何实现注解方式配置定时任务?

Spring项目非Spring Boot项目借助Tomcat启动war包来启动项目,通过注解的方式配置定时任务。

1、在spring-mvc.xml的配置文件中添加约束文件:

xmlns:task="http://www.springframework.org/schema/task" 
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.2.xsd 

2、配置注解驱动

<task:annotation-driven />

3、添加注解的扫描包

<context:component-scan base-package="com.jingxuan" />

4、定时任务代码

package com.jingxuan;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class JingxuanTask {
    @Scheduled(cron = "0/5 * * * * ? ") // 间隔5秒执行
    public void task() {
        System.out.println("----定时任务开始执行-----");
		//执行具体业务逻辑----------  
        System.out.println("----定时任务执行结束-----");
    }
}

题2:Java 项目第一次登录页面加载很慢问题?

Java中UUID依赖于SecureRandom.nextBytes方法,而SecureRandom又依赖于操作系统提供的随机数源。在Linux系统下,它的默认依赖是/dev/random,而这个源是阻塞的。

主要原因是nextBytes方法是一个被synchronized关键字修饰的方法,也就是说如果多线程调用UUID,生成速率不升反降,解决这个问题需要修改java的默认随机生成规则就可以。

打开$JAVA_PATH/jre/lib/security/java.security文件,找到下面的内容:

securerandom.source=file:/dev/random

替换成

securerandom.source=file:/dev/./urandom

题3:IDEA 中 Maven 项目无法自动识别 pom.xml?

方式一

File->Settings->Build,Excecution,Deployment->Build Tools->Maven->Ignored Files

查看是否存在maven pom被勾选,去掉勾选即可。

方式二

右键项目pom.xml文件,选择“add as maven project”,自动导入pom所依赖的jar包。

刷新Maven配置

右键单击项目,在弹出菜单中选择Maven->Reimport菜单项。IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中。

或者将Maven的刷新设置为自动,单击File|Setting菜单项,打开Settings选项卡,在左侧的目录树中展开Maven节点,勾选Import Maven projects automatically选择项。

题4:thymeleaf 模板引擎在 Linux 解析报 500 问题?

Spring Boot项目中集成了thymeleaf模版引擎本地正常运行没任何问题,但是放到Linux系统后出现访问页面报500的问题。

分析原因:可能是thymeleaf模板引擎解析找不到模板路径导致的问题。

例如controller层返回url中出现有大写,文件名config.html,路径写成了device/Config,在window下启动项目时可能可以正常访问页面,但是在Linux系统时必须与文件名一致,还有就是前面不要加/,否则也会报500的问题。

题5:应用服务 8080 端口被意外占用如何解决?

1)按键盘WIN+R键,打开后在运行框中输入“CMD”命令,点击确定。

2)在CMD窗口,输入“netstat -ano”命令,按回车键,即可查看所有的端口占用情况。

3)找到本地地址一览中类似“0.0.0.0:8080”信息,通过此列查看8080端口对应的程序PID。

4)打开任务管理器,详细信息找到对应的应用PID(若不存在通过设置可以调出来),右键结束任务即可。

题6:Tomcat 可以多个同时启动吗?如何实现?

Tomcat可以多个同时启动,但需要修改server.xml配置文件的端口号。

修改%TOMCAT_HOME%\conf下的server.xml配置文件

第一个: 修改http访问端口(默认为8080端口)

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是访问web时所用的端口号。

第二个: 修改Shutdown端口(默认为8005端口)

<Server port="8005" shutdown="SHUTDOWN">

将8005修改为没有在使用的端口号。

第三个: 修改8009端口

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

将8009修改为没有在使用的端口号。

题7:如何解决 Linux 显示中文乱码问题?

在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持。locale的命名规则为_.,如zh_CN.GBK,zh代表中文,CN代表大陆地区,GBK表示字符集。

修改 /etc/locale.conf文件的内容

LANG="zh_CN.UTF-8"

执行命令,使修改文件立刻生效

source /etc/locale.conf

题8:MySQL 中日期函数时间不准确?

这是由于时区问题导致,首选设置MySQL时区为中国。

需要注意的是MySQL重启后就会恢复默认:

set time_zone='+8:00';

url连接MySQL数据库的时区要和MySQL服务的时区一致,配置参数如下:

characterEncoding=utf-8&serverTimezone=UTC

题9:Spring Cloud Config 使用 SSH 连接 GitHub 报错?

Spring Cloud Config使用SSH连 GitHub报错:

JSchException: Auth fail

可以使用命令生成公钥来解决GitHub报错问题,举例如下:

ssh-keygen -m PEM -t rsa -b 4096 -C "java精选@qq.com"

题10:MySQL 中 如何解决 Incorrect string value: '\xE5\xB0' 异常?

mysql5.7插入中文字汉字时报java.sql.SQLException: Incorrect string value: '\xE5\xB0'异常。

原因:由于默认情况下,mysql的字符集是latin1(ISO_8859_1),注意此时包含库、表、字段,建表时指定编码格式也会失效。

解决方法

1、查看库、表、表字符字段编码格式

SHOW CREATE DATABASE kepler; //查看库字符集
SHOW CREATE TABLE kepler.statis;//查看表字符集
SHOW FULL COLUMNS FROM kepler.statis; //查看字段编码

2、修改库、表、字符字段编码格式

ALTER DATABASE kepler DEFAULT CHARACTER SET utf8; //修改库字符集
ALTER TABLE kepler.statis CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表及字符字段字符集

题11:sql-语句执行时间过长如何优化

题12:如何解决-redis-key/value-中-\xac\xed\x00\x05t\x00-字符串

题13:jsp-模版引擎如何解析-${}-表达式

题14:form-表单嵌套如何解决表单提交问题

题15:前端传输参数保存数据到-mysql-中乱码问题

题16:jsp-获取-modelandview-传参数据问题

题17:linux-运行-sql-语句文件报错

题18:dubbo-中抛出-rpcexception-no-provider-available-for-remote-service-异常如何处理

题19:maven-打包提示-“程序包com.sun.deploy.net不存在”-的问题

题20:linux-中如何解决-too-many-open-files-异常问题

大厂面试题

大厂面试题

大厂面试题

Java
1
https://gitee.com/AminDev/ebooks.git
git@gitee.com:AminDev/ebooks.git
AminDev
ebooks
Ebooks
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891