自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

岛森年的博客

整理分享开发,测试,生产环境中的问题及个人整理的知识点

  • 博客(24)
  • 收藏
  • 关注

原创 Java面试题(java高级面试题)

我们的系统中是使用的基于MQ的异步双写来实现数据同步的,具体来说,当mysql数据发生变化的时候,会向MQ中发一个消息,然后我们的搜索服务会接收这个消息,根据消息中的数据Id构造出完整的数据,然后同步到ES中。客户端点击导出按钮以后,服务端记录一个日志,状态是待处理,给客户端返回日志的id,然后服务端异步做excel的导出,完成以后,把excel上传到oss,把下载的url地址记录到日志,并把日志的状态改成已完成。// 从MQ收消息,下单,SQL中要加上stock>0的判断,防止把库存扣成负数。

2024-01-12 23:11:07 1085 1

原创 Java中的原子类-枚举-类加载器

Java中的原子类提供的这些方法都是线程安全的,不会被其他线程中断或干扰。读取方法get():获取当前值修改方法set():设置当前值lazySet():延迟设置当前值。与set()不同的是,它不保证其他线程立即看到修改后的值,而是在可能的情况下延迟更新值,从而提高性能。:比较并设置。如果当前值等于预期值(expected),则设置新值(update)并返回true;否则返回false。:弱比较并设置。

2024-01-10 11:29:15 873

原创 分享一个idea插件MyBatisX的Bug

这个错误表明 MyBatis 插件 (com.baomidou.plugin.idea.mybatisx) 在保存设置时遇到了问题,并且已被禁用。要解决这个问题,您可以尝试以下几个步骤:重启 IntelliJ IDEA: 按照错误消息中的建议,尝试重新启动 IntelliJIDEA。有时候重新启动可以解决临时性的配置问题。检查插件版本: 确保您使用的 MyBatis 插件是最新版本。在 IntelliJ IDEA 中,您可以转到 “File” ->“Settings” -> “Plugins”,然后找到

2024-01-05 09:53:28 1936 1

原创 Java中的迭代器

Java中的迭代器是一种用于遍历数据结构的对象。它提供了一种简单的方式来访问集合中的元素,而不需要显式地指定位置或索引。以下是Java中的迭代器的几个重要特征:迭代器接口:在Java中,迭代器实现了Iterator接口,这个接口定义了遍历集合中元素的方法,例如next()和hasNext()。遍历方式:Java中的迭代器可以从前到后依次遍历集合中的元素。可通过remove()删除元素:Java的迭代器还提供了一个remove()方法,用于删除它最后返回的元素。

2023-12-30 21:26:24 533 1

原创 java有关时间的整理

返回当前时间的毫秒数。new Date():获取当前日期和时间的对象。:用于格式化日期和时间,可将日期和时间转换为不同的字符串格式,或将字符串解析为日期和时间对象。:获取日历对象实例,可进行日期和时间的计算、比较和格式化等操作。:获取当前日期和时间的毫秒数。:判断当前日期是否在给定日期之前。:判断当前日期是否在给定日期之后。:比较两个日期的先后顺序。:获取指定字段的值,如年、月、日、时、分、秒等。:设置指定字段的值,如年、月、日、时、分、秒等。

2023-12-29 16:47:05 926 1

原创 ECharts基本使用(入门)

Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。1). 柱形图2). 饼形图3). 折线图**总结:**不管是哪种形式的图形,最本质的东西实际上是数据,它其实是对数据的一种可视化展示。

2023-12-28 08:39:23 494 1

原创 Java中利用Redis,ZooKeeper,数据库等实现分布式锁(遥遥领先)

在我们进行单机应用开发涉及并发同步的时候,我们往往采用synchronized或者ReentrantLock的方式来解决多线程间的代码同步问题。但是当我们的应用是在分布式集群工作的情况下,那么就需要一种更加高级的锁机制,来处理种跨机器的进程之间的数据同步问题,这就是分布式锁。分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。

2023-12-27 16:23:11 1254 1

原创 Java中Collections工具类和Map集合

Map集合是Java中的一种数据结构,用于存储键-值对(Key-Value Pair)。Map集合的特点如下:存储方式:Map集合以Key-Value的方式存储数据,Key和Value可以是任何类型的Java对象,但是一个Key只能对应一个Value,而一个Value可以对应多个Key。可以包含null:Map可以存储null值的键和值,但是要注意空指针异常。实现方式:Java中常用的Map实现类有HashMap、TreeMap、LinkedHashMap和Hashtable。

2023-12-27 08:52:13 524 1

原创 Java中的单元测试

单元测试是指在软件开发中对软件的最小可测试单元进行测试和验证的过程。最小可测试单元通常是指函数、方法或者类,单元测试可以保证开发人员的代码正确性,同时也方便后期维护和修改。单元测试的主要目的是检测代码的正确性,确保单个函数或方法的输入和输出正确无误,同时减少开发中的错误和错误的影响。单元测试还可以帮助程序员理解代码的调用和流程,提高程序员的开发效率。单元测试可以自动化执行,提高测试效率和准确性,同时减少手动测试的工作量。

2023-12-26 09:19:28 2359 1

原创 Java回调方法和动态代理

动态代理是一种在运行时动态生成代理类的机制。代理类继承了被代理类的接口,并且拥有相同的方法名和参数。在 Java 中,动态代理可以通过类和接口来实现。具体流程如下:创建一个实现 InvocationHandler 接口的类,该类中实现了 invoke 方法,该方法会在代理类的每个方法被调用时被执行。使用 Proxy 类的方法创建一个代理类实例,该方法需要传入三个参数:类加载器、代理类要实现的接口以及代理类对应的 InvocationHandler 实例。

2023-12-25 09:56:56 921 1

原创 精选JAVA:50道面试题

Java虚拟机(Java Virtual Machine,缩写为JVM)是Java程序的运行环境。它负责执行Java程序编译后的字节码,并提供了内存管理、垃圾回收、安全检查等功能。Java程序可以在任何安装了Java虚拟机的计算机上运行,而不必担心不同操作系统、不同硬件平台的兼容性问题。多态性指的是一个对象可以以不同的形态表现出来,即同一类型的对象,在不同的情况下可以有不同的表现形式和功能。

2023-12-22 13:23:05 887

转载 路由器服务器修改密码,TP-Link TL-WR842N路由器设置密码

(3)、新版本的TL-WR842N路由器,是没有默认的用户名和密码的,这种新款的TL-WR842N路由器,是第一次设置这台路由器时,由用户自己创建的管理员密码(也就是登录密码)。如果已经忘记了TL-WR842N路由器的登录密码,老版本的TL-WR842N路由器可以尝试用默认密码:admin登录;(1)、TL-WR842N路由器目前有V1、V2、V3、V4、V5、V6、V7几个版本,不同版本的TL-WR842N路由器,登录界面、设置页面也会有些不同。2、修改TL-WR842N路由器的WiFi密码。

2023-12-21 16:55:24 99 1

原创 AOP的理论及实践

Component@Aspect //声明该bean是一个切面bean 找到切入点+添加通知(增强动作)@Slf4j// "execution(* com.heima.tlias.service.impl.DeptServiceImpl.*(..))" 找到切入点// @Before做通知增强 buildLu() 增强的功能log.info("开始修路....");log.info("帮助卖 销售....");

2023-12-20 14:05:03 861

原创 解放双手生产力强劲工具,阿里通义灵码安装教程

下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击 从 VSIX 安装,选择下载的 VSIX 文件后安装;下载完安装包后,打开 IntelliJ IDEA 后,打开设置,在插件管理的设置下拉菜单中单击从本地安装插件,选择下载的 zip 文件后安装。重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。重启 IntelliJ IDEA 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。

2023-12-20 12:47:11 2302

原创 Gitee保姆级教程

Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。本地仓库:开发人员自己电脑上的 Git 仓库远程仓库:远程服务器上的 Git 仓库解释说明:commit:提交,将本地文件和版本信息保存到本地仓库push:推送,将本地仓库文件和版本信息上传到远程仓库pull:拉取,将远程仓库文件和版本信息下载到本地仓库。

2023-12-19 16:18:46 1436 1

原创 分享一个自己用的Linux中自动化部署脚本:一键启动、停止、重启Java应用

在脚本中,我们定义了两个变量,JAR_NAME 表示要运行的Java应用的路径,LOG_PATH 表示应用的日志路径。脚本中定义了四个方法,分别是启动(start)、停止(stop)、查看状态(status)和重启(restart)。这些方法通过操作 ps 命令和 kill 命令来实现相应的功能。# 启动方法start() {# 重新获取一下pid,因为其它操作如stop会导致pid的状态更新$JAR_NAME# -z 表示如果$pid为空时执行then$JAR_NAMEecho ""else。

2023-12-19 10:33:51 760 1

原创 Java中UDP和TCP的使用(简单介绍和示例)

UDP通信程序是基于UDP协议实现的网络通信程序。

2023-12-19 09:23:37 1011 1

原创 Java常用API总结

包括基本数据类型的包装类、String类、Object类等。:包括List、Set、Map等。常用的有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。:包括字节流和字符流的API,常用的有InputStream、OutputStream、Reader、Writer等。:包括Socket和ServerSocket等。:包括多线程编程的API,如Thread、Runnable、Executor、Semaphore等。

2023-12-18 16:44:36 995

原创 单例模式概述与示例

单例模式是一种创建型设计模式,它保证一个类在任何情况下都只有一个实例,并提供了全局访问点。在Java中,单例模式通常会使用一个私有的构造方法来限制该类的实例化,然后通过一个静态方法来获取该类的唯一实例。在多线程环境下,需要考虑线程安全的问题,可以使用“双重检查锁定”或者是静态内部类的方式来实现。单例模式常用于需要频繁使用的对象,如日志工具、数据库连接池等。确保一个类只有一个实例,避免了重复创建对象的开销。提供了全局访问点,方便其他对象调用该类的方法和属性。

2023-12-18 16:35:38 576

原创 关于Stream流io流实用小整理

read(byte[] b): 从输入流中读取一些字节数,并将它们存储到字节数组 b中 ,返回读取的长度,如果没有数据,返回-1。对象 . listFiles();格式为new FileWriter(“qqqqqq.txt”, Charset.forName(“utf-8”));wirte(String[])写入一个字符串或者字符串数组,可以指定字符串数组开始写入的位置和结束。wirte(char[])写入一个字符或者字符数组,可以指定字符数组开始写入的位置和结束位置。

2023-12-14 11:06:26 897

原创 教你学会Docker的使用

*数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。而要自定义镜像,就必须先了解镜像的结构才行。

2023-11-28 11:41:43 1065

原创 ruoyi-Vue前后端分离版本,生成代码404问题

2、在ruoyi-test业务模块下新建pom.xml文件以及src\main\java,src\main\resources目录。在ruoyi-test业务模块添加com.ruoyi.test包,新建TestService.java。在ruoyi-admin新建测试类,调用helloTest成功返回hello代表成功。4、根目录pom.xml模块节点modules添加业务模块。5、ruoyi-admin目录pom.xml添加模块依赖。1、新建业务模块目录,例如:ruoyi-test。

2023-11-20 11:17:51 713 1

原创 SpringBoot原理详解

SpringBoot的自动配置就是当Spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。比如,我们要进行事务管理、要进行AOP程序的开发,此时就不需要我们再去手动的声明这些bean对象了,我们直接使用就可以从而大大的简化程序的开发,省去了繁琐的配置操作。运行SpringBoot启动类可以看到有两个CommonConfig,在第一个CommonConfig类中定义了一个bean对象,bean对象的名字叫reader。

2023-11-01 15:39:45 47

原创 什么是加密?浅谈MD5加密

加密解密是一种通过使用密码算法对信息进行转换,以使其在传输或存储过程中变得不可读或难以理解,从而保护信息的安全性和隐私性的过程。加密是将明文(原始文本)转换为密文(加密后的文本)的过程。在加密过程中,使用密钥和特定的算法来改变原始文本的形式,使其在未经授权的情况下无法理解。只有持有正确密钥的人才解密是将密文转换回明文的过程。数字摘要算法(Digital Digest Algorithm)是一种加密算法,用于将任意长度的数据转换为固定长度的摘要(也称为哈希值)。

2023-11-01 09:33:53 288

阿里通义灵码idea插件包

通义灵码插件

2023-12-21

空空如也

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

TA关注的人

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