自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 就只说 3 个 Java 面试题 —— 02

总的来说,可重入读写锁比读写锁提供了更多的灵活性,但它也更复杂,如果使用不当,可能会导致死锁。读写锁是不可重入的,这意味着持有读锁的线程在不释放读锁的情况下无法获取写锁。另外,ReentrantReadWriteLock是可重入的,这意味着持有锁进行读或写的线程可以再次获取锁,而无需先释放锁。在此示例中,我们有两个线程,thread1 和 thread2,每个线程都尝试获取两个锁:lock1 和 lock2。由于两个线程都在等待对方释放它们所持有的锁,因此会产生死锁情况,程序将永远卡住,无法继续进行。

2023-09-20 20:54:18 58

原创 就只说 3 个 Java 面试题

例如,元素1是最小的元素,存储在最左边的叶子节点,而元素9是最大的元素,存储在最右边的叶子节点。例如,索引“53”处的集合包含元素 3 和 4,它们的哈希码都是 [197]。或者,可能有一个字段包含敏感数据,出于安全原因,这些数据不应包含在对象的序列化形式中。一般来说,当类之间存在明确的“is-a”关系,并且子类可以被视为超类的专门版本时,继承更合适。在这个例子中,字段“myTransientString”被标记为transient,这意味着当MyClass的实例被序列化时,它的值将不会被包含在内。

2023-09-20 13:55:15 280

原创 选择 Spring Boot 进行微服务开发的 7 大理由

这 7 个最重要的原因说明了为什么你应该选择 Spring Boot 进行微服务开发。你应该对Spring Boot有很好的掌握,并且在开发微服务时,你应该注意这些原因。因此,微服务开发是 Web 开发的重要组成部分。你应该很清楚为什么要选择Spring Boot进行微服务开发的原因。您应该很好地掌握 SpringBoot 和微服务开发,才能构建高效的应用程序。

2023-08-31 15:54:36 103

原创 Python 合并多个 PDF 文件并建立书签目录

今天在用 WPS 的 PDF 工具合并多个文件的时候,非常不给力,居然卡死了好几次,什么毛病?!心里想,就这么点儿功能,居然收了我会员费都实现不了?不是吧……!

2023-08-22 00:18:42 762

原创 在 Spring Boot 中使用 OpenAI ChatGPT API

我们探索了 OpenAI ChatGPT API 以生成对提示的响应。我们创建了一个 Spring Boot 应用程序,它调用 API 来生成对提示的响应。

2023-08-19 21:12:47 1518 1

原创 Mac 使用 rar 命令行工具解压和压缩文件

在 Mac 中常遇到的压缩文件有 zip 和 rar 格式的,如果是 zip 格式的 Mac 系统默认双击一下文件就能直接解压了,但 rar 文件就不行。需要额外下载 rar 工具了实现。

2023-08-19 14:46:37 1302

原创 使用 Spring Security LDAP 实现身份验证

在本文中,我们涵盖了“使用 Spring Boot 的 Spring Security LDAP 身份验证示例”的所有理论和示例部分。最后,您应该能够实现 Spring Security LDAP 身份验证。同样,您也可以根据自己的要求进一步扩展此示例。也尝试在您的项目中相应地实现它。

2023-08-18 22:56:03 469 1

原创 Java 模块解耦的设计策略

我们学习了如何实现两种模式来解耦 Java 模块。这两种方法都使消费者模块依赖于抽象,这始终是软件组件设计中所需的功能。当然,每一种都有其优点和缺点。对于第一个,我们得到了很好的解耦,但我们必须创建一个额外的工厂类。对于第二个,为了使模块解耦,我们必须创建一个额外的抽象模块并使用 Service Loader API 添加新的间接级别。

2023-08-16 23:15:47 122

原创 01 Python 网络爬虫:爬虫技术的核心原理

不夸张地说,现在哪怕是初中生,只要花点儿时间、精力稍微按「网络爬虫」的开发步骤学习了解一下,也能把它玩得贼溜。听起来感觉是很高大上的东西,但实际上并不复杂,也就是使用了某种编程语言按照一定步骤、规则主动通过互联网来抓取某些特定信息的代码程序。现在常见的就是使用 Python 来实现网络爬虫,后面慢慢讲。

2023-08-15 17:01:09 3113

原创 干货文:在 Mac 中卸载 Python 的方式

第 2 步: 打开终端并从根目录导航到您的库文件夹。然后,您可以使用 ls 命令列出库中的当前文件夹。Mac 原本有预装了 Python,直接可以用。你也可以自己从官网下载相应的版本进行安装。但如果说,你现在不想用了,想卸载它也是可以的,几种方式吧,一个个来看。第 3 步:使用命令“rm -rf Python”删除 Python。第 1 步:打开活动监视器并在“内存”选项卡中关闭与 Python 相关的所有进程;如果要卸载内置的 Python,则需要使用终端。找到 Python 文件夹并右键单击它;

2023-07-03 16:11:37 5678

原创 干货文:SpringBoot 配置 AOP 打印请求参数和返回参数

*实际原理:**在前端请求后端的是后,AOP 会最先起作用。你可以使用 AOP 的 @Before 注解来打印请求参数,@Around 注解打印返回参数,@Pointcut 注解来定义切点。**应用场景:**当我们想要查看前端传的数据是否正确,后端的返回值是否符合前端要求时,就可以打印请求参数和响应参数出来看,这样就有利于前后端对接;**重点说明:**结合使用 fastjson2 对请求对象和返回对象实现序列化打印,再配置相关过滤器,用来过滤敏感信息和无效的过长信息;

2023-06-25 23:27:47 1103

原创 yum 安装报错 No package nginx available Error:Nothing to do

那么,建议你可以通过使用。方式来安装 Nginx。

2023-06-25 17:08:17 511

原创 Spring Framework 6 中的设计模式

设计模式是软件开发的重要组成部分。这些解决方案不仅可以解决反复出现的问题,还可以通过识别常见模式来帮助开发人员了解框架的设计。Singleton pattern 单例模式Factory Method pattern 工厂方法模式Proxy pattern 代理模式Template pattern 模板模式我们还将研究 Spring 如何使用这些模式来减轻开发人员的负担并帮助用户快速执行繁琐的任务。

2023-06-24 15:10:40 656

原创 技术人的四大「造神」学习法,为啥就没人好好用呢?

有时候,就是想不明白一件事儿,好东西早就摆在那里了,但为啥就是没人主动去学、去用呢?可能你也发现了,身边很多人的学习能力都不能用「弱」来表示了,而他们的学习能力甚至是没有的。但,好的学习方法,被验证为有效的学习方式不是没有呀,人家早就总结出来,还向全世界公布了。下面的这 4 种学习方法上已被证明是目前地球上最有效率的学习方法,值得好好看看,一定用得上!1、费曼学习法2、SQ3R 阅读法3,西蒙学习法4、思维导图学习法。

2023-06-21 21:03:08 315

原创 干货文:如何在 Java 中制作对象的深层副本

当我们想在 Java 中复制一个对象时,我们需要考虑两种可能性,浅拷贝和深拷贝。对于浅层复制方法,我们只复制字段值,因此复制可能依赖于原始对象。在深层复制方法中,我们确保树中的所有对象都被深度复制,因此副本不依赖于任何可能更改的早期现有对象。接下来,我们将比较这两种方法,并学习实现深层复制的四种方法。制作深度拷贝时应该使用哪种实现?最终的决定通常取决于我们要复制的类,以及我们是否拥有对象图中的类。

2023-06-21 16:51:37 177

原创 干货文:Mac 中 .bash_profile 和 .zshrc 的区别

所以,我们可以在 .zshrc 文件中,添加一句 source $HOME/.bash_profile 即可解决原来需要手动 source 才能使用的问题。.bash_profile 文件中所修改的环境变量,只会对当前窗口起效,还要手动 source ~/.bash_profile 之后才能使用;.zshrc 文件则像是开机启动的配置文件,在电脑启动后生效。

2023-06-17 19:01:01 786

原创 Spring Boot 3.x 全新的热部署配置方式(IntelliJ IDEA 2023.1)

今天在暨大给学生上课的时候,发现在 Spring Boot 项目中配置热部署的方式有一丢丢的改变,具体往下看。最近还把 IDEA 更新到了 IntelliJ IDEA 2023.1 版本。

2023-06-13 22:23:30 1169

原创 Internal error. Please report to https://jb.gg/ide/critical-startup-errors

第二,删除第三方插件目录 ( idea.plugins.path 在用户的主目录中,取决于操作系统和 IDE 版本。您可以平分插件以查找有问题的插件,并仅删除该插件,保留工作中的插件。第五,在大多数情况下,问题应该已经解决,但如果 IDE 仍然没有以相同的错误对话框启动,您也可以尝试备份并删除配置目录 ( idea.config.path )。第三,从官方重新再次下载并安装 IDE。在 Linux 上从.tar.gz安装时,请确保解压缩到新的空目录中,而不是在现有安装的顶部。是的,他们有 bug。

2023-06-06 23:21:23 1033

原创 Keras 的模型(Model)和层(Layers)的介绍

我们上面使用 Model 快速建立一个模型,总结一下,很简单的:1、我们的权重不需要初始化了2、我们构建模型也比较简单,使用 dance 就可以,不需要我们进行线性计算。事实上,如果模型越来越复杂的话,那么这个方法的优势就会越来越明显得。

2023-03-19 11:39:28 2245 1

原创 《Java 多线程实战系列》- 01 基本概念与底层原理

不过,在并发的过程中,也会带来了一些额外的性能开销。另外一个,多核 CPU 的出现,使并行成为了可能,极大程度上地提高了我们现在计算机的处理能力啊,像四核、八核的 CPU 已经非常普遍了,它们的性能特别的强,非常猛。因此,在装修房屋的整个任务中,咱们采用了并行这个方式呢,可以让整个任务的总耗时更少,而实质上你可以发现,它是取决于耗时最长的内建子任务所需要的时间。咱们来看一个生活中常见的例子,我们现在有钱了,买了套房子,马上就要开始装修了,但是呢我们钱不多了,现在的经费有限,只请得起一个师傅来装修房屋。

2022-08-20 19:33:03 409 4

原创 为啥并发编程,要从 JDK 源码里去学?

那你还可以在自己搞熟基础知识后,可以再去看看 Spring Cloud Eureka 的服务注册中心的源码,可能会有更多收获喔,你看看人家是如何去使用集合、IO、网络、并发等等技术的,然后看懂了,你可以讲给旁边的人听,甚至可以自己模仿着去开发一个简易版的来玩玩儿,都是很好的学习方式。不过没事儿,不懂就学,多么简单的道理,一点一点慢慢把它学好了就行,对吧。有没有发现,在你读源码的时候,一些很基础性的代码逻辑,包括各种内存里的数据结构,还有并发、磁盘 IO、网络请求等等,估计你也没完全搞定是吧?...

2022-08-11 14:15:59 222

原创 Python + Excel 办公自动化 01 —— 硬菜马上就来

职场中的我们,或多或少都会做一些重复性的工作,而且还要耗费大量的时间和精力,更尴尬的是时不时还出错,还不容易发现。

2022-07-26 22:08:19 477

原创 终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了

想知道,怎样才能跟公司HR的关系处得更好嘛?终于!手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了

2022-07-23 14:02:59 1357

原创 Python 基于 Matplotlib 实现数据可视化

当我们进行数据分析的时候,如果单纯的只有一堆数据摆在你面前,你看起来肯定不舒服。最好能将数据的变化,通过图形呈现出来,在实现数据可视化后,我们就能够更快、更容易、更清晰地看懂数据所要呈现、传达的信息。Python 在数据展示方面,有非常多好用的工具,比如 Matplotlib、Seaborn、Pygal等,都是颇受欢迎的功能包。我们接下来看看,怎么去实现展示本地的数据,还有从网络中获取到的数据。可视化视图,大致上我们可以分为 4 大类,分别是:常用的 10 种视图:散点图、折线图、直方图、条形图、饼图、热力

2022-07-02 00:30:15 325

原创 Python 读写 Excel 文件

我自己喜欢使用 pandas,它足够强大。Pandas 是一个开源的第三方 Python 库,基于 Numpy 和 Matplotlib 上构建而来,业内数据分析主流方向【三件套】(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它作为强大、灵活、可以支持任何编程语言的数据分析工具,颇受大家的喜爱。......

2022-06-29 15:42:01 1438

原创 01. 正则表达式概述

正则表达式,其实是一个「规则表达式」,我们通过设定的规则,可以从某个字符串中匹配出想要的数据……

2022-06-27 23:25:29 224

原创 03. Vue3 中的条件判断与循环

在 Vue 中判断条件,咱可以用 v-if,意思就是「如果 xxx 的话,那就 xxx」。当满足条件,也就是条件返回 true 的时候,就可以做它要做的事情了。

2022-06-18 18:10:24 1845

原创 02. Vue3 绑定事件的方式

继续来玩玩咱的「定时器」,发现没,刚刚的定时器,如果你不把网页关掉,它是停不下来的,那咋办?

2022-06-18 09:25:10 2813

原创 01. 5 分钟,Vue3 开发快速上手

哎……万万没想到,我居然学会了使用 Vue.js,还用它开发了好几个项目。

2022-06-17 21:20:35 283

原创 终于被我搞掂了 Vue3 + Element 的正确打开方式(直接拿来就用)

vue3 + element-plus

2022-06-10 12:33:21 345 1

原创 java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 报错的解决办法

java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 异常解决方案

2022-06-06 14:16:24 7102 9

原创 Spring Security 5.7 最新配置细节(直接就能用),WebSecurityConfigurerAdapter 已废弃

Spring Security 5.7.1 最新配置细节,WebSecurityConfigurerAdapter 已废弃

2022-06-06 00:03:17 28088 33

原创 最新版 MyBatisPlus 分页插件(直接拿来就可以用)

一、创建 MyBatisPlusConfig 工具类package xxxx;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;impo

2022-05-31 13:23:16 1199 1

原创 MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)

开始了喂~别眨眼 O,O一、编辑 pom.xml 文件,添加依赖注意:数据库,我用的是 PostgreSQL,用 MySQL 的同学记得自己换哈~模版,我用的是 FreeMarker,用 Velocity 的同学记得自己换哈~ <properties> <java.version>18</java.version> <postgresql.version>42.3.6</postgresql.version>

2022-05-30 18:04:03 2030 3

原创 Python 模块与自定义模块

文章目录一、导入 Python 标准库二、Python 自定义模块最后一、导入 Python 标准库想问你一下,有一件相对复杂的事儿,你看了下发现要实现它,得至少 20 个步骤,然后还得自己写至少 1000 行代码。但与此同时,在这个世界上,居然还有人曾经遇到跟你一模一样的问题,他也是通过 20 个步骤,写了 1000+ 行代码,并最终实现了。更让人惊喜的是,他还将所有的代码打包成了一个产品,开源并免费供大家使用。如果,此时此刻,你需要去实现这个功能的话,你是想自己从 0 开始一行一行去写呢,还是

2022-04-27 22:14:43 961

原创 Python 的异常处理

首先,我们得承认,没有任何一位程序员同学是完美的,写的代码也不可能是无可挑剔的,即使再简单的程序,要把里面所有可能出现的错误都预判到的话,也是不太现实的,就跟你永远不知道女朋友啥时候会不开心一样。你的程序,可能会在运行时发生各类异常(也叫 Exception),所以,如果要保证程序足够健壮,则必须要设置异常处理模块。异常处理,是一种特定的程序出错处理机制,是为了让开发者更加高效、更加专注在正常的程序设计上。就好像,你给你的代码,请了一个永不休息的「代码保安」,时时刻刻帮你「盯着」你那些有可能会出错的代

2022-04-14 19:42:47 1021

原创 Python 文件的读写操作

文章目录一、Python 文件读写概述二、使用 open() 打开文件三、使用 read()、readline()、readlines() 读取数据四、使用 write()、writelines() 写入文件最后一、Python 文件读写概述Python 在文件读写操作中,会使用「内置函数」和「Pandas 库」两种方式。先来看内置函数,包括 open()、read()、readline()、readlines()、write()、writelines()、close() 等方法,也是接下来给大家详

2022-04-13 15:05:20 52101 6

原创 Python 流程控制

文章目录一、顺序结构二、if 分支结构2.1 if 分支的三种方式第一种:if...第二种:if...else...第三种:if...elif...else...2.2 Assert 断言三、循环结构3.1 while 循环3.2 for-in 循环3.3 循环中使用 else一、顺序结构顺序结构,就是程序按「从上到下」一行一行地执行,中间没有任何的条件判断和逻辑跳转。二、if 分支结构if 分支,重点在「条件判断」。if 分支,需要使用 bool 表达式(其中会得到 bool 值,true 或

2022-04-12 12:29:21 3318

原创 Python 列表、元素、字典

一、创建「列表」和「元组」语法格式:1、创建列表,使用方括号,可以包含多个元素。 [ele1, ele2, ele3, …]2、 创建元组,使用小括号,可以包含多个元素。 (ele1, ele2, ele3, …)案例代码:# 创建列表mylist = ['Python', 13.14, 520]# 创建元组mytuple = ('Java', 22, 33)二、列表和元组的通用用法2.1 通过索引使用元素列表和元组的元素的索引值,是从 0 开始的如果是倒数,索引值则从

2022-04-11 14:34:41 2943

原创 NumPy 系列教程 001:入门和使用数组

Python 系列教程

2022-03-01 17:14:50 340

空空如也

空空如也

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

TA关注的人

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