bug总结问题集和知识点集(一)

目录

  • 一 bug问题集
    • 1. 端口被占用
  • 二 oracle
    • 1. oracle查看版本怎么操作
    • 2. oracle数据库:参数个数无效![在这里插入图片描述](https://img-blog.csdnimg.cn/6a2eebc164f9406c81525371893bbd11.png)
    • 3. ORACLE数据库如何完整卸载?
  • 三 mybatis
    • 1. mybatis用注解如何实现模糊查询
  • 四 List
    • 1. 如何判断Java List是否为空?
  • 五 java字符串
    • 1. 如何实现Java字符串去掉双引号的具体操作步骤

一 bug问题集

1. 端口被占用

报错说明:
Web server failed to start. Port xxx was already in use.端口占用问题
解决方案:
A 换一个未被占用的端口,再启动。
B 查看被占用端口的进程。

netstat -aon|findstr 端口号

杀死相关进程即可

二 oracle

1. oracle查看版本怎么操作

A 使用SQL*Plus命令行工具:

  • 打开命令行窗口,并输入sqlplus命令进入SQL*Plus环境。

  • 输入数据库的用户名和密码进行登录。

  • 输入以下SQL语句查询数据库版本:

sql

SELECT * FROM V$VERSION;

  • 执行以上语句后,会显示数据库的版本信息,包括Oracle数据库版本号、主机名、操作系统版本等。

B 使用SQL Developer:

  • 打开SQL Developer工具。

  • 连接到要查询版本的数据库实例。

  • 在连接成功后,可以在“对象浏览器”中找到数据库实例,右键点击并选择“属性”。

  • 在属性窗口中,可以看到数据库的版本信息。

无论使用哪种方法,都可以方便地查看Oracle数据库的版本信息。这些方法适用于大多数Oracle数据库版本,无论是在Windows、Linux还是其他操作系统上。

2. oracle数据库:参数个数无效在这里插入图片描述

在这里插入图片描述

3. ORACLE数据库如何完整卸载?

卸载步骤:

A 停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。
在这里插入图片描述
B 在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品。

在这里插入图片描述
C 在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除。

在这里插入图片描述

D 按Windows徽标键和R键,打开运行窗口,输入regedit,打开注册表,依次展开HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle,删除。
在这里插入图片描述
E 依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,删除所有oracle开头的项。

在这里插入图片描述

F 依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有oracle开头的项;在HKEY_CLASSES_ROOT,删除以ora开头的项。
在这里插入图片描述
G 重启电脑,删除oracle目录,删除Oracle的安装目录app等。这样就卸载完毕了

三 mybatis

1. mybatis用注解如何实现模糊查询

在 MyBatis 中使用注解实现模糊查询非常简单,只需要在相应的 SQL 语句中使用 like 关键字即可。以下是实现模糊查询的示例代码:

@Select("SELECT * FROM users WHERE name LIKE '%${keyword}%'")
List<User> findUsersByName(@Param("keyword") String keyword);

上述代码用 @Select 注解指定了查询语句,其中的 ${keyword} 是用于动态替换的占位符,然后用 @Param 注解指定了参数名。在调用该方法时,只需要传入对应的关键字即可,MyBatis 会将其自动拼接到 SQL 语句中。

需要注意的是,由于使用了字符串拼接,存在 SQL 注入的风险,因此建议使用预编译的方式来防止注入攻击。如下所示:

@Select("SELECT * FROM users WHERE name LIKE CONCAT('%', #{keyword}, '%')")
List<User> findUsersByName(@Param("keyword") String keyword);

上述代码使用了 #{} 占位符,并使用 CONCAT 函数来进行字符串拼接,这样就可以有效地防止注入攻击。

四 List

1. 如何判断Java List是否为空?

A 使用isEmpty()方法
Java List是一种常用的数据结构,如果我们需要判断一个List是否为空,最简单的方法就是使用isEmpty()方法。这个方法会返回一个boolean类型的值,如果List为空,返回true;如果List不为空,返回false。

List<String> list = new ArrayList<>();
if(list.isEmpty()) {System.out.println("List为空");
} else {System.out.println("List不为空");
}

B 使用List的size()方法
除了使用isEmpty()方法外,我们也可以使用List的size()方法来进行判断。size()方法会返回List包含的元素的数量,如果数量为0,就说明List为空。

List<String> list = new ArrayList<>();
if(list.size() == 0) {System.out.println("List为空");
} else {System.out.println("List不为空");
}

C 使用Objects.isNull()方法
如果我们使用Java 8以上的版本,我们也可以使用Objects.isNull()方法来进行判断。这个方法会判断一个对象是否为null,如果是null,就返回true;否则返回false。

List<String> list = null;
if(Objects.isNull(list)) {System.out.println("List为null");
} else {System.out.println("List不为null");
}

D 判断List的第一个元素是否为null
通常情况下,我们如果需要判断一个List是否为空,就应该使用前面介绍的方法。但是有时候,我们可能会遇到一个特殊情况,就是List不为null,但是第一个元素为null。这时候,如果我们使用前面的方法判断,会得到错误的结果。此时,我们可以先判断List是否为null,然后再判断第一个元素是否为null。

List<String> list = new ArrayList<>();
list.add(null);
if(list == null || list.size() == 0 || list.get(0) == null) {System.out.println("List为空");
} else {System.out.println("List不为空");
}

上面的例子中,我们首先向List中添加了一个null元素,然后在判断时,先判断List是否为null,再判断List的长度是否为0,最后再判断List的第一个元素是否为null。这样做可以避免在第一个元素为null时得到错误的结果。

五 java字符串

1. 如何实现Java字符串去掉双引号的具体操作步骤

去掉双引号
要去掉Java字符串中的双引号,我们可以使用replaceAll()方法来替换双引号为空字符串。replaceAll()方法接受两个参数:要替换的模式和替换后的字符串。

以下是一个示例代码,演示了如何去掉双引号:

String str = "\"Hello, World!\"";
String result = str.replaceAll("\"", "");
System.out.println(result);

在这个示例中,我们首先定义了一个包含双引号的字符串str。然后,我们使用replaceAll()方法将双引号替换为空字符串。最后,我们打印出结果。

输出结果为:

Hello, World!

注意事项
在使用replaceAll()方法时,需要注意以下几点:

replaceAll()方法将会替换所有匹配的字符串。如果字符串中有多个双引号,它们都将被替换。
注意转义字符。在Java中,双引号是特殊字符,我们需要使用转义字符\来表示它们。

结论
对于如何去掉Java字符串中的双引号。我们使用了replaceAll()方法来替换双引号为空字符串。要注意双引号是特殊字符,需要使用转义字符来表示。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix监控组件及流程

Zabbix 由5大组件构成 Zabbix Web、Zabbix Server、Zabbix Proxy、Zabbix Database、Zabbix Agent Zabbix监控系统具体监控系统流程如图&#xff1a; Zabbix Web Zabbix Web是基于PHP语言编写的WEB UI界面&#xff0c;展示Zabbix整个监控平台监控数据、配置信息、方便对整个…

揭秘弹幕游戏制作

最近好多人问弹幕游戏&#xff0c;甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系&#xff0c;别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术&#xff0c;于是乎我决定下场写这篇帖子&am…

Java并发编程面试题

基础知识 并发编程的优缺点 为什么要使用并发编程&#xff08;并发编程的优点&#xff09; 充分利用多核CPU的计算能力&#xff1a;通过并发编程的形式可以将多核CPU的计算能力发挥到极致&#xff0c;性能得到提升方便进行业务拆分&#xff0c;提升系统并发能力和性能&#…

day15-面向对象进阶(抽象类接口内部类)

今日内容 抽象类接口内部类 教学目标 能够写出抽象类的格式 能够写出抽象方法的格式 能说出抽象类的应用场景 写出定义接口的格式 写出实现接口的格式 说出接口中成员的特点 能说出接口的应用场景 能说出接口中为什么会出现带有方法体的方法 能完成适配器设计模式 第一章 抽…

怎样吃透一个java项目?

前言 对于刚开始看视频敲代码&#xff0c;最忌讳的便是一上来就完全照着视频做&#xff0c;这么做就算完完全全的跟着视频做出来一个项目&#xff0c;始终都无法将里面具体的知识化为己有&#xff0c;单纯来说只是简单的复刻&#xff0c;视频的作者本身是不会对他在做该项目过…

《TCP/IP网络编程》阅读笔记--标准I/O和I/O流分离

目录 1--标准I/O 1-1--标准I/O的优缺点 1-2--FILE 指针和文件描述符的转换 1-3--基于Socket的标准I/O函数使用 2--I/O流分离 2-1--文件描述符的复制和半关闭 2-2--复制文件描述符实现 I/O 流的分离 1--标准I/O 1-1--标准I/O的优缺点 标准 I/O 函数的优点&#xff1a; ①…

SSTables和LSM-Tree

SSTables 可以类比Kafka&#xff1a;将数据按键排序写入磁盘&#xff0c;并分为多个段&#xff0c;组织段的稀疏索引&#xff0c;并定期合并段文件&#xff08;kafka因为不存在重复数据&#xff0c;所以不需要合并&#xff09; LSM-Tree是基于SSTables的&#xff1a;在内存中维…

Linux中防火墙的简单使用方法

目录 前言 ​编辑 一、概念 1、防火墙的分类&#xff1a; 2、防火墙性能 3、硬件防火墙的品牌、软件防火墙的品牌 4、硬件防火墙与软件防火墙比较 二、linux中的防火墙 1、iptables 2.netfilter/iptables功能 3、四表 iptables中表的优先级 4、五链 三、iptables…

国家网络安全周2023时间是什么时候?有什么特点?谁举办的?

国家网络安全周2023时间是什么时候&#xff1f; 2023年国家网络安全宣传周将于9月11日至17日在全国范围内统一开展。其中开幕式等重要活动将在福建省福州市举行。今年网安周期间&#xff0c;除开幕式外&#xff0c;还将举行网络安全博览会、网络安全技术高峰论坛、网络安全微视…

机器学习——boosting之XGBoost(未完)

划水一整天&#xff0c;模型看了仨&#xff01;不错&#xff0c;虽然现在在打哈欠&#xff0c;还是很想把XGBoost梳理梳理 先从名字开始 XGBoost&#xff0c;eXtreme Gradient Boosting: em。。。。不理解 书上说&#xff0c;XGBoost有很好的性能&#xff0c;在各大比赛中大放异…

从头开始制作扩散模型(实现快速扩散模型的简单方法)

一、说明 本文是关于自己从头开始构建扩散模型的教程。我总是喜欢让事情变得简单易行&#xff0c;所以在这里&#xff0c;我们避免了复杂的数学。这不是一个正常的扩散模型。相反&#xff0c;我称之为快速扩散模型。将仅使用卷积神经网络&#xff08;CNN&#xff09;来制作扩散…

API(九)基于协程的并发编程SDK

一 基于协程的并发编程SDK 场景&#xff1a; 收到一个请求会并发发起多个请求,使用openresty提供的协程说明&#xff1a; 这个是高级课程,如果不理解可以先跳过遗留&#xff1a; APSIX和Kong深入理解openresty 标准lua的协程 ① 早期提供的轻量级协程SDK ngx.thread ngx…

数据结构——【堆】

一、堆的相关概念 1.1、堆的概念 1、堆在逻辑上是一颗完全二叉树&#xff08;类似于一颗满二叉树只缺了右下角&#xff09;。 2、堆的实现利用的是数组&#xff0c;我们通常会利用动态数组来存放元素&#xff0c;这样可以快速拓容也不会很浪费空间&#xff0c;我们是将这颗完…

【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )

文章目录 一、默认构造函数1、默认无参构造函数2、默认拷贝构造函数 二、构造函数调用规则1、构造函数规则说明2、代码示例 - 只定义拷贝构造函数3、代码示例 - 只定义有参构造函数 一、默认构造函数 C 类中 2 种特殊的构造函数 , 分别是 : 默认无参构造函数 : 如果 C 类中 没…

PyTorch实现注意力机制及使用方法汇总,附30篇attention论文

还记得鼎鼎大名的《Attention is All You Need》吗&#xff1f;不过我们今天要聊的重点不是transformer&#xff0c;而是注意力机制。 注意力机制最早应用于计算机视觉领域&#xff0c;后来也逐渐在NLP领域广泛应用&#xff0c;它克服了传统的神经网络的的一些局限&#xff0c…

sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务。

现象&#xff1a; 系统出现异常&#xff0c;手动执行过程提示如上。 问题排查&#xff1a; 1.直接执行的过程事务挂起&#xff08;排除&#xff09; 2.重启数据库实例&#xff08;重启后无效&#xff09; 3.过程中套用过程&#xff0c;套用的过程中使用事务&#xff0c;因为…

STM32-HAL库06-硬件IIC驱动FM24CL16B非易失存储器

STM32-HAL库06-IIC驱动FM24CL16B非易失存储器 一、所用材料&#xff1a; STM32VGT6自制控制板 STM32CUBEMX&#xff08;HAL库软件&#xff09; MDK5 二、所学内容&#xff1a; 通过HAL库的硬件IIC对FM24CL16B存储器进行写与读取操作。 三、CUBEMX配置&#xff1a; 第一步…

Virtualbox中Ubuntu根目录空间不足

现象 Virtualbox中Ubuntu根目录空间不足 解决 动态存储 虚拟机关闭先在虚拟介质管理里把硬盘Size调大开启Ubuntu用Disks或者GParted重新调整分区大小重新启动 步骤参考: https://zhuanlan.zhihu.com/p/319431032 https://blog.csdn.net/ningmengzhihe/article/details/1272…

Java 毕业设计-基于SpringBoot的在线文档管理系统

基于SpringBoot的在线文档管理系统 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术栈简介 文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;sp…

rocketmq

&#x1f353;代码仓库 https://gitee.com/xuhx615/rocket-mqdemo.git &#x1f353;基本概念 ⭐生产者(Producer)&#xff1a;消息发布者⭐主题&#xff08;Topic&#xff09;&#xff1a;topic用于标识同一类业务类型的消息⭐消息队列&#xff08;MessageQueue&#xff09…