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

news2024/12/23 19:30:59

目录

  • 一 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.coloradmin.cn/o/1012636.html

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

相关文章

算法|图论 6 并查集

并查集基本模板&#xff1a; int n 10; vector UFSets(n,0);//若将初值全设置为-1&#xff0c;那就不用再有初始化操作了。//初始化 void Initial(vector<int> S[]){for(int i0;i<n;i){S[i] -1;} }//查操作 int Find(vector<int> &S,int x){int root x;…

【红包雨压测环境】

文章目录 红包雨压测环境并发预估积分与权重对于新用户&#xff0c;活跃度占比为70%&#xff0c;贡献度占比为30%。活跃度权重分配&#xff1a;贡献度权重分配&#xff1a; 对于高质量作品的作者&#xff0c;活跃度占比为30%&#xff0c;贡献度占比为70%。活跃度指标权重&#…

杭州企业型通配符SSL数字证书

通配符SSL数字证书是众多数字证书产品中比较特殊的一款产品&#xff0c;在互联网安全领域&#xff0c;SSL数字证书是保障网站安全性的一种重要手段。而通配符SSL数字证书&#xff0c;更是其中的一种特殊类型&#xff0c;它允许用户对多个域名进行保护&#xff0c;只需一张证书即…

C++--简单实现定长内存池

1.什么是定长内存池 在C/C中&#xff0c;动态申请内存都是通过malloc来申请的&#xff0c;但是实际上不是是直接从堆上直接申请的内存&#xff0c;而是通过malloc动态申请一大块内存&#xff0c;malloc就相当于一块内存池&#xff0c;然后分给程序使用&#xff0c;如果申请的内…

网络安全进阶学习第十六课——业务逻辑漏洞介绍

文章目录 一、什么是业务逻辑二、业务逻辑漏洞的成因三、逻辑漏洞的重要性四、业务逻辑漏洞分类五、业务逻辑漏洞——业务授权安全1、未授权访问2、越权访问1) 平行越权&#xff08;水平越权是指相同权限的不同用户可以互相访问&#xff09;2) 垂直越权&#xff08;垂直越权是指…

企业架构LNMP学习笔记47

企业架构队列缓存中间件分布式redis&#xff1a; 一直想学习下这块的。今天总算学到了&#xff0c;好好把redis的这块内容理解下。 1&#xff09;能够描述Redis作用及其业务适用场景 &#xff1b; 2&#xff09;能够安装配置启动Redis&#xff1b; 3&#xff09;能够使用命令…

Qt使用注意事项

1.菜单选项不能出现数字&#xff0c;可以是 英文 加 “_”&#xff1a; 2.如何确保加载的图片&#xff0c;尺寸大小与原来一样&#xff1f; 【QT】添加图片资源并使用QImage加载图片显示_qimage显示图片_李春港的博客-CSDN博客 ui->PicLabel->setPixmap(QPixmap::fromIm…

(9.8-9.14)【大数据新闻速递】

加gzh“大数据食铁兽”&#xff0c;了解更多大数据快讯 【2023百度十大科技前沿发明】 近日&#xff0c;百度发布了“2023百度十大科技前沿发明”&#xff0c;包括“基于大模型的检索生成决策交互一体的智能系统”“基于大模型的端到端搜索技术”“飞桨端到端自适应的分布式训…

网络工程师的甩锅指南,果断收藏

大家好&#xff0c;我是老杨。 都说IT行业最容易被甩锅的就是网工&#xff0c;这是有科学依据的&#xff0c;比如&#xff1a; 纵观我网工群的群友聊天&#xff0c;“锅”不离口&#xff0c;很难不说明一点什么问题。 遇到甩锅&#xff0c;我相信没有哪位朋友的心情是愉悦的。…

父子工程搭建

1. 构建父工程 父工程的职责是对依赖包的版本进行管理&#xff0c;创建父工程分两步&#xff0c;第一创建父工程&#xff0c;第二在pom.xml编辑依赖管理。 进入新建模块界面&#xff0c;选择Spring Initializr&#xff0c;填写模块的信息&#xff1a; 创建成功&#xff0c;删…

linux服务器内服务访问域名Name or service not know

目录 linux服务器内服务访问域名Name or service not know 1.前言2.排查是不是这个域名无法访问2.1服务内ping 这个域名2.2在浏览器打开这个域名2.3服务内ping 这个域名所对应的ip2.4在服务器内配置host 总结参考 文章所属专区 项目问题解决 1.前言 linux服务器内服务访问域名…

许可分析 license分析 第五章

许可分析是指对软件许可证进行详细的分析和评估&#xff0c;以了解组织内部对软件许可的需求和使用情况。通过许可分析&#xff0c;可以帮助组织更好地管理和优化软件许可证的使用。以下是一些可能的许可分析方法和步骤&#xff1a; 软件许可证自动化管理&#xff1a;考虑使用自…

飞驰的高铁-第15届蓝桥杯第一次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第150讲。 飞驰的高铁&#xff0c;本题是2023年8月20日举行的第15届蓝桥杯STEMA测评Scratch编程中级组编程第2题&#…

字节、京东等大厂年薪50w的测试都什么水平?

各位做测试的朋友&#xff0c;但凡经历过几次面试&#xff0c;那么你一定曾被问到过以下问题&#xff1a; 1、在Linux环境下&#xff0c;怎么执行web自动化测试&#xff1f; 2、Shell如何&#xff0c;Docker熟悉吗&#xff1f; 3、全链路的压测实操过吗&#xff0c;如何推进与开…

hexo搭建一个自己的博客

hexo腾讯云服务器搭建一个自己的博客 我的博客: http://www.elcarimqaq.top/ 前期准备 node.js&#xff1a; https://nodejs.org/en/ git&#xff1a;https://git-scm.com/download/win hexo官方文档&#xff1a;https://hexo.io/zh-cn/docs/index.html 安装hexo npm ins…

“存量竞争” 体验为王,火山引擎边缘云助力内容社区破局

今年4月&#xff0c;在宣布要技术升级、数据重构后&#xff0c;承载无数人青春的天涯社区疑似关停&#xff0c;一代传奇的衰落为所有内容社区释放出了不可忽视的信号。 图片来源&#xff1a;天涯官博 回顾天涯社区发展史&#xff0c;从“周公子大战易烨卿”、天涯十大诡异事件&…

“批量文件改名:将日语文件名翻译成中文,轻松管理你的文件!

如果你经常处理各种文件&#xff0c;可能有时候会遇到一些以日语命名的文件。这时候&#xff0c;为了更好地管理和查找文件&#xff0c;你可能需要将这些日语文件名翻译成中文。那么&#xff0c;如何实现批量将日语文件名翻译成中文呢&#xff1f; 首先&#xff0c;第一步进入…

对抗生成网络总结

对一些基本的对抗生成网络的总结。部分内容整理自Teeyohuang’s blog 文章目录 GAN (NeurIPS, 2014)CGANDCGANStackGANPix2Pix (CVPR, 2017)CycleGAN (ICCV, 2017)SRGAN (CVPR, 2017)StyleGAN (CVPR, 2019) GAN (NeurIPS, 2014) Generative adversarial nets m i n G m a x D …

有关‘全局唯一id‘

UUID和Snowflake的对比 当需保证全局唯一的id&#xff0c;可以选用UUID或Snowflake(及其变种) 其中UUID 不依赖于任何第三方系统&#xff0c;性能和可用性上较好&#xff1b; Snowflake生成的id具有单调递增性&#xff08;可以拿到生成时的时间戳信息&#xff09;&#xff0c;能…

深入了解MySQL中的JSON_ARRAYAGG和JSON_OBJECT函数

在MySQL数据库中&#xff0c;JSON格式的数据处理已经变得越来越常见。JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它可以用来存储和表示结构化的数据。MySQL提供了一些功能强大的JSON函数&#xff0c;其中两个关键的函数是…