自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 如何优化SQL语句,提升数据库查询性能

总之,通过以上一些技巧,我们可以有效地优化SQL语句,提升数据库的查询性能,从而提高系统的响应速度和数据处理效率。使用EXPLAIN分析查询:使用数据库提供的EXPLAIN命令来检查查询执行计划,查看查询是否使用了索引,优化查询时提供了重要的信息。使用索引:在查询中使用索引可以加速数据的检索过程,确保在大型数据库中,查询的效率依然很高。缩小查询范围:尽量只检索实际需要的列和行,避免不必要的数据检索,可以减少查询的时间。避免使用SELECT *:明确指定需要的列,避免无谓的数据读取,减少不必要的开销。

2024-01-31 15:06:23 433

原创 Java中继承(extends)和实现(implements)的区别

继承是面向对象编程的基本概念之一,它允许一个类(称为子类)从另一个类(称为父类)继承属性和方法。通过继承,类可以从其他类中继承属性和方法,提高了代码的重用性和可维护性。例如,假设我们有一个接口Drawable,它定义了一个叫做draw()的抽象方法。这样,Dog类就可以继承Animal类中的eat()方法,而不需要重新实现它。与继承相反,实现是指一个类实现了一个接口中定义的所有方法。在Java中,接口定义了一组抽象方法,然后类可以实现这个接口并实现其中的所有方法。

2024-01-22 14:47:30 549

原创 百度文字转语音【短文本在线合成API】

百度文字转语音【短文本合成】

2024-01-12 14:38:31 773

原创 Java实现通过身份证号码计算出其年龄

【代码】Java实现通过身份证号码计算出其年龄。

2023-07-25 16:18:53 2124

原创 使用StringRedisTemplate手动序列化JSON对象到Redis,并手动反序列化从redis中取出数据

【代码】使用StringRedisTemplate手动序列化JSON对象到Redis,并手动反序列化从redis中取出数据。

2023-07-05 19:44:40 479

原创 Jedis的连接(demo)

【代码】Jedis的连接(demo)

2023-07-05 15:34:58 169

原创 Elasticsearch使用ik分词查询插件安装

在这里插入图片描述](https://img-blog.csdnimg.cn/11857e2d3b3d4e41b2ac63fcb5729599.png将上面的安装包解压到elasticsearch下的plugins中。最后保存,重启elasticsearch.bat即可!

2023-06-29 10:31:02 133

原创 使用java实现数据爬取的功能(爬虫)

在日常生活中,为了实现对数据的快速获取或者生成,可能没有那么大的数据,所以今天介绍一个小小的在网站爬取数据的案例。

2023-06-29 09:25:41 973

原创 使用 phaser 实现乘客搭乘公交车的案例

让我们看看下面的例子。有五站,前四个可以让乘客站在那里等公共汽车。巴士离开公园,在每个车站停一段时间,到达最后一站后,巴士又前往公园。这个案例中我们需要把乘客带到正确的车站。顺便说一句,移相器功能可以复制倒计时。乘客{1->2}在1号站等候。乘客{1->5}在1号站等候。乘客{2->3}在2号站等候。乘客{2->5}在2号站等候。一名乘客上了公共汽车。一名乘客上了公共汽车。一名乘客上了公共汽车。一名乘客上了公共汽车。公共汽车离开了公园。

2023-06-21 16:58:04 46

原创 对CountDownLatch、Semaphore和CyclicBarrier的理解

对CountDownLatch、Semaphore和CyclicBarrier concurrency,phaser,semaphore,cyclicbarrier,exchanger的理解

2023-06-21 15:58:37 42

原创 使用Exchanger(交换器)实现两辆卡车在某一点处实现交换包裹的案例

正如我们所看到的,当一辆卡车(一个线程)到达E点(到达同步点)时,它会等待另一辆卡车(另一个线程)到达E点(到达同步点)。然后交换包(字符串),两辆卡车继续工作。

2023-06-21 15:39:33 31

原创 使用 CyclicBarrier 实现用一个渡轮可以同时运送三辆车

让我们看看下面的例子:用一个渡轮可以同时运送三辆车,为了不让渡轮多开一次,你必须在渡口聚集至少三辆车时发船。运行结果:0号车驶向渡轮。1号车驶向渡轮。2号车驶向渡轮。3号车驶向渡轮。渡轮把车运过来了!2号车继续行驶。1号车继续行驶。0号车继续行驶。4号车驶向渡轮。5号车驶向渡轮。6号车驶向渡轮。渡轮把车运过来了!5号车继续行驶。4号车继续行驶。3号车继续行驶。7号车驶向渡轮。8号车驶向渡轮。渡轮把车运过来了!8号车继续行驶。

2023-06-21 15:18:30 37

原创 使用CountdownLatch 实现汽车比赛的案例

倒计时可以用于各种同步方案:例如,当一个线程运行时,让其他线程等待,或者相反,让线程等待其他线程执行工作。

2023-06-21 15:04:22 31

原创 使用 Semaphore 实现停车场停车的案例

信号灯非常适合这样一个任务:它不允许汽车(线程)停车(进入指定的代码块并使用共享资源),如果没有停车位(计数器为0)。停车场最多可同时容纳5辆车。如果停车位满了,新来的车必须等到至少有一个车位空出来。3号车停在2号地方。4号车停在3号地方。5号车停在4号地方。1号车离开了停车场。2号车离开了停车场。3号车离开了停车场。4号车离开了停车场。5号车离开了停车场。6号车离开了停车场。7号车离开了停车场。

2023-06-21 14:52:12 76

原创 产生随机的订单编号

【代码】产生随机的订单编号。

2023-06-21 09:32:42 218

原创 Dates and Time (java.time.*)

时间的选择

2023-06-20 19:05:45 83 1

原创 关于数据类型强制转换的学习——java基础

字符在内存中表示为一个无符号的16位整数值(2个字节),因此转换为字节(1个字节)将丢弃其中的8个位(这对ASCII字符来说是安全的)。当源类型由目标类型扩展或实现时,必须执行显式强制转换(强制转换为子类型)。当被强制转换的对象不是目标类型(或目标的子类型)时,这可能会产生运行时异常(ClassCastException)。可以通过两种方式进行强制转换。布尔类型不能强制转换为任何其他基元类型或从任何其他基基元类型强制转换。当源类型扩展或实现目标类型(转换为超类或接口)时,会发生隐式转换。

2023-06-20 18:20:17 276 1

原创 随机数字生成器(Random Number Generation)看这一篇就够了!

随机数的产生与原理

2023-06-20 17:54:41 3354 1

原创 mysql8解压安装步骤

如需要删除服务,执行以下命令:sc delete mysqlsevicename。9,使用mysql -uroot -p 输入新密码123456 能登录成功就结束。2,进到解压根目录,新建一个文件my.ini,将以下内容拷贝过去。3, 进到根目录/bin目录,执行以下命令,找到随机产生的密码。目的将MySQL安装为一个Windows Service。注意:以下命令使用管理员角色执行。4,进到根目录/bin目录,1,解压,不要使用中文目录。6,执行命令连接MySQL。8,使用quit退出连接。

2023-06-19 15:20:17 482

原创 MySQL主从数据库配置(详细介绍)

这样就连接成功了 ,你可以在数据库中进行测试,在主数据库中创建一个数据库,从数据库也会创建一个。条件准备:准备两个数据库,这里就不详细介绍如何下载和安装数据库了,默认你已经有了两个基本数据库。2,重启从数据库服务(和主服务器相同的操作,不是重启主的服务器哦,而是你从服务器的数据库)default-storage-engine=MyISAM #一般从数据库作为读数据库。本文章是介绍如何实现数据库的主从配置,只允许从数据库进行读的操作。注意这几个位置,都是主数据库配置过的,见上面的一些图或者命令。

2023-06-19 15:18:47 4881

原创 使用VirtualBox 配置桥接网络时,由于没有虚拟机选项,导致虚拟机启动不成功,详细解决步骤

一. 在VirtualBox的"设置"处,找到"网络",把连接方式由"桥接网卡"改为"内部网络"。试了下可行,能启动了,但是虚拟机与外部网络完全断开,因为彼此不属于一个网络。虚拟机之间可以互相访问,但是要前提是在设置网络时,两台虚拟机设置同一网络名称。位置:文件位置指的是虚拟机当时安装的地方,正常默认的是C盘,像我当时是存在D盘的,按照这个路径找到下图这个文件就可以了。打开VirtualBox,点击启动,然后就弹出了"未能启动虚拟电脑,由于物理网卡未找到"的提示。注意:混杂模式选择全部允许。

2023-06-15 15:00:03 2505 3

原创 从Redis中取数据时(包含日期):java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to xxx.entity

报错原因是Jackson库默认没有支持Java 8中的LocalDateTime类型。可以按照报错提示所示,添加jackson-datatype-jsr310模块来支持。发生这样的错误应该是你在将数据加入Redis的时候进行了序列化,再从Redis中取出来的时候直接以对象的形式来取数据就不对了。去掉之前的配置文件,在加入redis的时候不进行序列化。

2023-06-08 16:24:45 597 2

原创 关于Redis的主—从关系的手动配置

*1.**主redis的配置不用管,需要对所有的从redis进行配置,在每个redis的配置文件里:如下图。执行命令:图中端口号为被指定为新的主redis的地址,端口号为新的主redis的端口,密码也一样。所以当主数据库挂了(宕机,不可用,下线),需要手动指定新的主数据库,手动将从数据库指向主数据库。主redis挂掉之后,所有的从redis会不停的寻找主redis的地址。效果:主数据库的数据会自动同步到所有从数据库,从数据库只能读不能写。主redis现只演示一个,正常情况下,主Redis也应该是多个。

2023-06-06 18:06:09 159

原创 Redis中数据实现序列化(包含日期格式的转换)

查询了一些资料, 大概是因为 redis-cli 不支持中文的解码, 首先需要在启动时后面追加 --raw 来添加转码操作。如果想要在redis中直接看见就是存入的JSON格式的数据,可以在进行加入redis前进行一些数据的序列化。向 redis 存放中文数据时, 出现了 /x53/x54/x78 这样的问题, 也即出现了乱码问题。

2023-06-06 11:43:15 494

原创 输入地铁上车位置和下车位置,计算所需金额和所用时间!

输入地铁上车位置和下车位置,计算所需金额和所用时间!如果输入有误则会提醒重新输入,直到输入正确的上车下车位置。stations.put(“天府广场”,1);stations.put(“省体育馆”,2);stations.put(“火车南站”,4);stations.put(“天府三街”,7);stations.put(“天府五街”,8);stations.put(“倪家桥”,3);stations.put(“孵化园”,5);stations.put(“世纪城”,6);

2023-02-20 20:04:01 129 1

原创 Lambda表达式

只有函数式接口才能使用Lambda表达式,可称之为语法糖Lambda表达式它关系操作逻辑,逻辑是可以作为参数传递只有函数式接口才能使用Lambda表达式,可称之为语法糖Lambda表达式它关系操作逻辑,逻辑是可以作为参数传递(@FunctionalInterface)

2023-02-20 19:57:45 31

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除