java常见问题处理

news2024/9/24 21:28:37

文章目录

    • 一、前言
    • 二、实战演练
      • 1、idea常用快捷键使用
      • 2、idea设置字体大小
      • 3、idea设置背景颜色-背景
      • 4、idea配置Maven
      • 5、idea中配置JDK
      • 6、idea中java.util变红报错
        • IDEA中Sources、JavaDocs路径是红色的
      • 7、idea中使用mybatisPlus 自增主键失效,自增主键超大
        • 小知识点
      • 8、idea中文乱码问题

一、前言

一些常见的知识点、琐碎,但是有些很常用,当时却总是想不起来,又要自己进行搜索,就很麻烦,就部分简单记录一下。

二、实战演练

1、idea常用快捷键使用

C-V大全
美化代码
Ctrl+Alt+L
下一行
Alt+Enter
全局搜索
Ctrl+Shift+R
断点调试快捷键
F8 单步调试,不进入函数内部
F7 单步调试,进入函数内部
Shift+F7 选择要进入的函数
Shift+F8 跳出函数
Alt+F9 运行到断点
Alt+F8 执行表达式查看结果
F9 继续执行,进入下一个断点或执行完程序
Ctrl+F8 设置/取消当前行断点
Ctrl+Shift+F8 查看断点

2、idea设置字体大小

启动idea,点击菜单栏File->选择Settings
在这里插入图片描述

选择Editor->Font;改变size大小—>点击apply—>点击OK即可
在这里插入图片描述

字体就会变大了!
**菜单栏大小的设置:Appearance;如图,将use custom font选中,然后改变size,点击apply—>点击OK即可
在这里插入图片描述

3、idea设置背景颜色-背景

启动idea,点击菜单栏File->选择Settings
在这里插入图片描述

选择背景颜色
在这里插入图片描述

自定义背景;找到background image点击进去-选择想要的背景图片即可
在这里插入图片描述

最终效果
在这里插入图片描述

4、idea配置Maven

打开IDEA,点击菜单栏File->选择Settings;
在这里插入图片描述

** 在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点击maven。**
在这里插入图片描述

修改maven的路径(使用本地的Maven),以及修改settings文件的位置和本地仓库的位置。
在这里插入图片描述

推荐配置:设置maven在不联网的情况下使用本地插件
一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网路的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。
输入内容:-DarchetypeCatalog=internal
在这里插入图片描述

注意:
详细博客maven使用
阿里云镜像

<!--  配置阿里云  -->
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

配置默认JDK版本(在setting.xml文件中配置)

<profile>
    <id>jdk-1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

5、idea中配置JDK

**打开IDEA,点击菜单栏File->选择Project Structure;
**
在这里插入图片描述

选择Project
在这里插入图片描述

6、idea中java.util变红报错

①检查java环境变量是否配置正确
②检查idea中是否引入了java SDK
快捷键Ctrl+alt+shift+s
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如无问题可在maven工程中重新加载一下pom文件,如果你用的是其它依赖管理插件可以去对应的官方文档查不赘述。
在这里插入图片描述

然后clean、compile

IDEA中Sources、JavaDocs路径是红色的

Project Settings -> Libraries -> Sources、JavaDocs路径出现红色字体
在这里插入图片描述

Classes
Classes中的jar,是程序在运行项目的时候使用的,因为这个是直接编译好的class文件,可以直接被虚拟机运行的。
Sources
Sources中的jar,就是给开发人员看的,自己在学习和debug的时候,可以看到jar包里面的各种注释说明,方便学习。
JavaDocs
JavaDocs中的jar,与Sources的jar一个道理,起到辅助的作用。
解决方案:
在这里插入图片描述

注意:
只要Classes中的jar不报错,那么久不会影响程序的正常运行。而有些jar包没有相关的Doc文档,可能也会出现路径红色,但是无关紧要。

7、idea中使用mybatisPlus 自增主键失效,自增主键超大

问题现象
①建表语句-设置id为自增id

DROP TABLE IF EXISTS `bbb`;
CREATE TABLE `bbb`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

②插入数据(使用idea工具运行)
例子语句:idea中会执行一条插入sql

INSERT INTO bbb (create_time) VALUES ( DEFAULT);

③数据库中查看数据
查看发现自增id直接来到了 1580089915291529217且从第八位后毫无规律
在这里插入图片描述

④删除数据并把自增id设置为1,重新用代码插入数据(使用idea工具运行)

delete from bbb;
alter table bbb  auto_increment = 1;

然后执行代码插入数据
查看数据库发现自增id依旧是随机数
在这里插入图片描述

⑤分析原因
计算下这个id的长度,共19位,恰好是雪花算法id长度。mysql不可能自己生成雪花算法id,问题应该在mybatisplus上,对比下刚生成的代码和之前的代码,发现实体类主键上缺少如下注解

@TableId(value = "id", type = IdType.AUTO)

⑥确认问题
为实体类主键加上注解

   /**
     * 自增id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

重置自增主键,执行如下sql

alter table bbb  auto_increment = 1;

再次执行代码插入数据
发现数据已经正常
在这里插入图片描述

查看了mybatisPlus主键策略枚举

public enum IdType {
    AUTO(0),
    NONE(1),
    INPUT(2),
    ASSIGN_ID(3),
    ASSIGN_UUID(4),
    /** @deprecated */
    @Deprecated
    ID_WORKER(3),
    /** @deprecated */
    @Deprecated
    ID_WORKER_STR(3),
    /** @deprecated */
    @Deprecated
    UUID(4);

    private final int key;

    private IdType(int key) {
        this.key = key;
    }

    public int getKey() {
        return this.key;
    }
}

其中 AUTO 是自增,不加注解mybatisplus会默认使用 ASSIGN_ID策略,即雪花算法。
⑦结论
mybatisplus自增主键要在实体主键上加如下注解

@TableId(value = "id", type = IdType.AUTO)

小知识点

表名注解(@TableName)
作用:实体类和数据库中表建立对应关系:如

@TableName("user")
public class userTable implements Serializable {
}

代表:userTable 对应数据库中表为user
主键注解(@TableId)

   /**
     * 自增id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

属性注解(@TableField)
作用:该属性非主键属性,解决属性名与字段名不匹配问题、属性是否是数据表中字段、insert、update生成策略等。如:

  
    @TableField(exist=falseprivate String name;

代表name属性不与表中的字段匹配,在新增、修改时,不用去匹配
常用的就这三个,其他注解不再详细描述。

8、idea中文乱码问题

可以分为以下几类场景:
1、工程代码乱码。
2、main方法运行,控制台乱码。
3、tomcat运行,控制台乱码。
解决方案:
工程乱码,打开

Settings > Editor > File Encodings > Global Encodings & Project Encodings 设置为:UTF-8

main运行,控制台乱码,打开

Settings > Build, Execution, Deployment > Compiler > Java Compiler > Additional command line parameters > 设置为:-encoding utf-8

tomcat运行,控制台乱码,打开

Edit Configurations > Tomcat Server > server > VM options > 设置为:-Dfile.encoding=UTF-8

待更新
在这里插入图片描述

各位看官》创作不易,点个赞!!!
诸君共勉:万事开头难,只愿肯放弃。

免责声明:本文章仅用于学习参考

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

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

相关文章

ZI-data RO-data RW-data Code BSS DATA

KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释&#xff08;转&#xff09; - 酒醉的Tiger - 博客园源&#xff1a;KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释KEIL RVMDK编译后的信息Program Size: Code86496 RO-datahttps://ww…

STM32MP157驱动开发——Linux 音频驱动

STM32MP157驱动开发——Linux 音频驱动一、简介1.CS42L51 简介2.I2S总线3.STM32MP1 SAI 总线接口二、驱动开发1.音频驱动1&#xff09;修改设备树i2c 接口&#xff1a;1.8v电源管理&#xff1a;2&#xff09;SAI 音频接口设备树3&#xff09;sound 节点2.使能和修改内核的 CS42…

linux系统中字符设备驱动开发方法

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;linux系统中的字符设备驱动实现的基本过程。 目录 第一&#xff1a;字符设备驱动简介 第二&#xff1a;字符设备驱动开发步骤 第三&#xff1a;编写字符设备驱动实验程序 第一&#xff1a;字符设备驱动简介 字符设备是Li…

130道基础OJ编程题之: 58 ~ 67 道

130道基础OJ编程题之: 58 ~ 67 道 文章目录130道基础OJ编程题之: 58 ~ 67 道0. 昔日OJ编程题:58. BC61 金字塔图案59. BC62 翻转金字塔图案60. BC63 菱形图案61. BC64 K形图案62. BC65 箭形图案63. BC66 反斜线形图案64. BC67 正斜线形图案65. BC68 X形图案66. BC69 空心正方形…

电商大促话术

每逢节日&#xff0c;各大电商平台为了迎合节日气氛&#xff0c;会有各种大促活动&#xff0c;客户咨询量都会较平日有所增加&#xff0c;为了接待更多的客户&#xff0c;客服要掌握一定的电商大促话术。 前言 每逢节日&#xff0c;各大电商平台为了迎合节日气氛&#xff0c;会…

Python--数据容器

文章目录一、数据容器数据容器特点对比二、序列三、列表(list)3.1、列表定义&#xff1a;3.2、列表下标索引3.3、列表常用方法&#xff1a;3.4、list遍历四、元组(tuple)4.1、元组定义4.2、元组的常用方法4.3、元组的遍历五、字符串(str)5.1、字符串定义5.2、常用方法5.3、字符…

Unity 3D 资源下载 || Unity 3D 综合案例

Unity 3D 资源下载 你也可以在 Unity 3D 中执行 Window → Asset Store 菜单命令直接访问 Unity 资源商店&#xff08;Asset Store&#xff09;。 Unity 资源商店简介 Unity 资源商店https://www.assetstore.unity3d.com/ 中提供了多种类的游戏媒体资源&#xff08;人物模型…

某微1day后台RCE审计漏洞

某应用存在后台RCE&#xff0c;根据相关信息&#xff0c;我们在对后台审计过程&#xff0c;这里发现一处调用newInstance实例化溯源找到InterfaceRegisterCustomOperationCmd #excute访问路径为 /api/integration/workflowflow/getInterfaceRegisterCustomOperationgetInterfac…

腾讯云域名备案以及ssl证书申请部署springboot

网站备案 1. 先进行网站备案 网站&#xff1a;https://console.cloud.tencent.com/beian 2. 然后在进行公安备案 流程&#xff1a;https://cloud.tencent.com/document/product/243/19142 3. 再在网站中添加备案号 #示例代码如下&#xff1a; <a href"https://b…

计算机网络——ICMP协议

ICMP 支持主机或者服务器实现差错或者异常的探寻。ICMP的功能体现即发送特定的ICMP报文 类型&#xff1a;ICMP属于哪一类的 代码&#xff1a;是为了进一步区分某种类型中不同的情况 检验和&#xff1a;检验整个ICMP报文 ICMP报文 1 终点不可达类型&#xff1a;当路由器或者…

excel超链接应用:快速生成目录的几个方法-上

在平时工作中&#xff0c;为了能快速打开需要的工作表&#xff0c;我们通常会设置一个目录。目录的设置方法有很多种&#xff0c;但大多数人使用的方法还是基本的手动插入超链接的操作。虽然这个方法也行&#xff0c;但是将大大降低你的工作效率&#xff0c;那么今天&#xff0…

【eiseg教程,快速给语义分割任务打标签】

eiseg教程1.安装EISeg2.载入模型权重3.添加类别标签4.设置格式5.标注图片6.部分按键/快捷键eiseg是百度开发的半自动标注工具&#xff0c;可以快速给语义分割任务打标签&#xff0c;提高工作效率。1.安装EISeg &#xff08;1&#xff09;新建一个python3.8的虚拟环境 &#xf…

3D Diffusion模型来了!OpenAI出品,已开源

文&#xff5c;天于刀刀2022年不愧是 AIGC 行业元年。伴随着 ChatGPT 的大火使得谷歌一周之内改口“会认真评估 ChatGPT 对搜索引擎的影响”&#xff0c;OpenAI 在 3D 图像生成领域进一步放出了大招开源项目“Point-E” [1]&#xff0c;可玩程度不下于 ChatGPT&#xff01;简单…

Spring AOP源码探究

1. 前言 Spring除了IOC和DI&#xff0c;还有另一个杀手锏功能——Spring AOP。AOP是一种面向切面的编程思想&#xff0c;它的关注点是横向的&#xff0c;不同于OOP的纵向。面向对象编程时&#xff0c;如果我们要给多个类引入同一个行为&#xff0c;唯一的方式就是使用继承&…

了解SpringBoot自动配置原理

目录 1、SpringBoot特点 1.1、依赖管理 1.1.1 父项目做依赖管理 1.1.2 开发导入starter场景启动器 1.1.3 无需关注版本号&#xff0c;自动仲裁机制 1.1.4 可以修改默认版本号 1.2、自动配置 2、容器功能 2.1、组件添加 1、Configuration 2、Bean、Component、Contro…

医院室内定位导航,便捷、低成本智慧医院室内地图应用解决方案

医院布局作为公共建筑最复杂的结构之一&#xff0c;有规模大、功能复杂等特点&#xff0c;因而&#xff0c;面向医护人员、患者就诊、医院管理等一系列基础医疗服务就成了当下医院智慧化改善的首要问题。电子地图作为大家最喜闻乐见的高效应用形式&#xff0c;可高效为病患提供…

SpringMVC的学习

SpringMVC 文章目录SpringMVC学习目标SpringMVC简介优点入门案例springmvc入门程序开发流程入门案例工作流程分析SpringMVC对应bean加载与spring对应bean加载web配置类简化开发PostMan插件简介基本使用请求与响应请求映射路径请求参数请求方式请求参数(传递json数据)日期类型参…

小程序和公众号相互跳转

小程序跳转公众号 小程序跳转公众号目前只找到 微信暴露的 引导关注组件 official-account, 官方文档如下&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/component/official-account.html 且这个组件展示是有限制的&#xff0c;只有在扫码进入小程序的情况下…

【数据结构Java版】二叉树堆与优先级队列PriorityQueue

目录 一、优先级队列 &#xff08;1&#xff09;优先级队列的概念 &#xff08;2&#xff09;优先级队列的模拟实现 二、堆 &#xff08;1&#xff09;堆的概念 &#xff08;2&#xff09;堆的存储方式 &#xff08;3&#xff09;堆的创建 1.堆的向下调整 2.堆的创建 …

Nginx access.log日志详解及统计分析

Nginx access.log日志详解及统计分析一、nginx的access.log二、日志流量统计统计接口地址访问量PV统计UV统计独立IP统计三、配置access.log按天生成四、nginx.conf配置一、nginx的access.log 1.日志文件一般存放在 /var/log/nginx 下&#xff0c;若是docker启动则可以使用主机…