- 博客(30)
- 收藏
- 关注
原创 java实现,使用向量相似度 输入字符串,在定义好的字符串集合中根据语义匹配出最准的一个。
【代码】java实现,使用向量相似度 输入字符串,在定义好的字符串集合中根据语义匹配出最准的一个。
2024-10-24 23:49:26 83
原创 vim:一款强大而受欢迎的文本编辑器
这只是 Vim 的一小部分功能介绍,Vim 还有许多高级功能和插件可供探索。您可以使用 :help 命令在 Vim 中查阅更详细的文档,以了解更多关于 Vim 的信息。:在这个模式下,您可以执行光标移动、复制粘贴、删除等操作。:在这个模式下,您可以执行保存、退出、搜索等命令。在这个模式下,您可以输入文本。:分别向左、下、上、右移动。:移动到文件的开头或结尾。:删除光标所在位置的字符。:按单词向前或向后移动。:粘贴剪贴板中的内容。:移动到行首或行尾。:查找下一个匹配项。
2023-12-15 19:26:01 420
原创 在java上传接口防止zip炸弹攻击
Zip炸弹是一种特殊类型的Zip文件,它包含了大量的无用数据。Zip文件格式允许使用压缩算法来减小文件的大小,但是如果Zip文件中的某些内容被重复压缩,就会导致文件大小急剧增加。Zip炸弹利用这个特性,将一些无用的数据多次压缩到一个Zip文件中,从而生成一个极其庞大的文件。当服务器尝试解压缩这个Zip文件时,它需要解压缩所有的内容。由于Zip炸弹中包含了大量的重复数据,这可能会导致服务器耗尽所有的内存和CPU资源,从而导致服务器崩溃或拒绝服务攻击。
2023-10-25 17:19:37 1418
原创 探索前端新星:Svelte框架介绍
与React、Vue等常见的前端框架不同,Svelte在构建阶段就把组件编译成高效的指令代码,而不是在运行时进行解释。Svelte以其独特的设计理念和优秀的性能表现,为前端开发带来了新的可能性。在众多的前端框架中,Svelte以其独特的设计理念和出色的性能表现,逐渐引起了开发者们的关注。编译型框架:Svelte在构建阶段就把组件编译成高效的指令代码,这样可以减少运行时的负担,提高应用的性能。小巧且快速:由于Svelte在构建阶段就完成了大部分工作,所以它的运行时体积非常小,性能也非常出色。
2023-10-25 10:49:41 392
原创 springboot,配置redis,并且写一个工具类,包括增删改查,设置过期时间
作为值的序列化器,它可以将对象序列化为 JSON 字符串。你也可以根据需求选择其他序列化器。方法,分别用于设置键值对、获取键对应的值、删除键值对。此外,还包括了带有过期时间的。并使用它来操作 Redis 数据库。方法将用户对象存储到 Redis 中,使用。方法从 Redis 中获取用户对象,使用。方法删除 Redis 中的用户对象,使用。方法,用于设置带有过期时间的键值对。方法设置带有过期时间的用户对象。这个 Redis 工具类包括了。现在,你可以在其他组件中注入。或者,以下是一个示例的。
2023-10-24 19:41:22 141
原创 在 Spring Boot 中 使用 RestTemplate 流程
当然,除了基本的 GET、POST、PUT、DELETE 请求外,RestTemplate 还提供了更多高级的功能,例如文件上传、Cookie、HTTPS 支持等。你可以查看官方文档来了解更多信息。现在,你可以使用 RestTemplate 来发送 GET、POST、PUT、DELETE 等请求了。并返回响应的字符串。方法来获取响应的状态码和头信息。这将会发送一个 GET 请求到。等方法来发送其他类型的请求。类似地,你也可以使用。
2023-10-07 16:53:28 116
原创 Java RestTemplate
RestTemplate 是一个功能强大、使用方便的 HTTP 客户端类库,用于在 Java 应用中进行 HTTP 请求和响应处理。它可以用于访问 RESTful API、调用第三方接口等场景。
2023-10-07 16:21:35 187
原创 使用Spring Boot和Lombok创建通用返回类和状态码枚举
通过引入Lombok依赖并使用注解,我们能够快速生成通用返回类的代码,包括数据、消息和状态码。同时,通过定义状态码枚举类,我们能够统一管理常见的状态码和对应的消息。通过以上示例代码,我们可以看到,创建通用返回类和状态码枚举能够帮助我们简化开发过程并提高代码的可读性。为了简化这个过程,我们可以使用Spring Boot框架和Lombok库来创建一个通用的返回类和状态码枚举。使用这两个通用类,我们可以在Spring Boot项目中快速创建统一的返回格式,并且使用统一的状态码来表示请求结果。
2023-09-20 20:11:31 620 1
原创 Java反射总结
Java反射是指程序在运行时动态地获取类的信息并操作类的成员(字段、方法、构造函数等)的能力。通过反射,可以在编译时无需知道类的具体信息,而是在运行时通过查找和操作类的成员。反射的实现主要依赖于以下几个关键类:Class、Field、Method和Constructor。Constructor类:代表类的构造函数,可以创建类的实例对象。Class类:代表一个类或接口,在运行时可以获取类的相关信息。Method类:代表类的方法,可以调用方法并获取返回值。Field类:代表类的字段,可以获取和设置字段的值。
2023-08-04 15:03:27 59 1
原创 雪花算法的详解与java实现
雪花算法(Snowflake)是一种基于时间有序的全局唯一ID生成算法,最初由Twitter开发并开源。该算法能够在分布式系统中生成唯一且递增的ID,且性能高效。方法来获取唯一ID。运行示例代码,会输出10个不重复的ID。需要注意的是,该示例中用到了系统当前时间戳来作为参考,因此。另外,如果在多线程环境下使用,需要保证线程安全。方法中,我们创建了一个ID生成器实例,并调用。上述示例中,我们创建了一个。类来生成雪花算法ID。
2023-08-03 10:27:50 362
原创 理解jvm双亲委派机制
这个机制可以通俗地理解为"向上请教",即当一个类需要加载时,它会先向它的父类加载器请教,如果父类加载器能够找到并加载这个类,就直接使用父类加载器加载的类;总结起来,双亲委派机制是Java中一种用于加载类的机制,通过委派给父类加载器的方式来加载类。避免类的重复加载:通过双亲委派机制,如果一个类已经被更高级的类加载器加载过了,那么下一级的类加载器就不会再次加载,从而节省了资源,避免了类的重复加载。使用不同的类加载器实现隔离:如果系统中存在多个类加载器,可以使用不同的类加载器加载不同的类,从而实现类之间的隔离。
2023-07-27 11:07:44 87 1
原创 Redis缓存穿透、击穿和雪崩
Redis是一种开源的高性能缓存数据库,常用于加速数据访问,提高系统性能。然而,在使用Redis时,我们需要注意一些常见的问题,例如缓存穿透、击穿和雪崩。这些问题可能会导致系统性能下降甚至崩溃,因此了解和解决这些问题是非常重要的。
2023-07-21 11:03:51 267 1
原创 Java 8 新特性之Optional详细介绍
使用Java Optional可以使代码更加简洁和易读,并提供了更好的错误处理机制。它非常适合处理可能为空的对象,例如方法返回的结果或者从外部数据源获取的数据。通过使用Optional,我们可以避免繁琐的if-else条件判断,使代码逻辑更加清晰和优雅。Java Optional是Java 8引入的一个类,用于处理可能为空(null)的值,以提供更安全和优雅的方式来处理这些情况。通过使用Java Optional,我们可以以一种优雅和安全的方式来处理可能为空的值,使代码更加健壮和可读。
2023-06-29 17:40:43 2286 1
原创 java 设计模式之装饰模式
Java装饰模式允许在运行时动态地修改对象的行为,它与继承具有替代作用。Java IO流和Java Servlet API 中都广泛使用了装饰模式。在日常的Java开发中,也可以充分应用装饰模式来避免冗余代码,提高代码的复用性。
2023-06-15 10:49:35 255
原创 java 设计模式之适配器模式
适配器模式是一种结构型设计模式,它可以将一个类的接口转换成另一个客户端所需要的接口。这种模式通常被用来解决接口不匹配的问题,从而使不兼容的接口可以在一起工作。适配器模式是一种比较灵活的设计模式,在实现中,可以根据实际需要使用对象适配器或者类适配器。适配器模式是一种解决不兼容接口的经典设计模式,具有灵活性和可扩展性。在Java中,适配器模式常常用于解决接口不匹配的问题,如JDBC连接池、Servlet API、Spring框架等。在实现适配器模式时,可以采用类适配器和对象适配器两种方式。
2023-06-15 10:08:18 422
原创 java 实现TextRank算法提取文章摘要
寻找文章中的关键句子:首先需要分割出文章中的句子,可以使用分词库将文章拆分成句子,然后使用 TextRank 算法找到文章中与主题相关的句子,这些句子通常包含有标题、关键字等。最后,需要注意的是,使用 TextRank 算法提取文章摘要是一种启发式算法,不能保证一定能够提取到正确的文章摘要,所以需要结合具体业务的需求和情况进行调整和优化。计算句子的权重:针对关键句子,需要对每个句子计算权重,使用 TextRank 算法可以计算每个句子与文章内容的相关性以及与其他句子的相关性。
2023-06-14 17:06:50 1602 3
原创 java 设计模式之代理模式
代理模式(Proxy Pattern)是一种经典的设计模式,它提供了一个代理对象来控制对另一个对象的访问。代理模式主要解决的是对象直接的业务关系,即将行为请求和行为实现分离出来,以达到增强类的功能的目的。
2023-06-14 10:26:07 263
原创 学习jena总结
本文详细介绍了Jena的基本概念、安装与配置、API和工具、SPARQL查询、推理机制、应用场景、优势和不足,以及未来的发展趋势。通过学习本文,读者可以更好地了解和掌握Jena的使用,并在语义技术、搜索引擎、自然语言处理、机器学习等领域中应用Jena。
2023-06-13 16:11:22 1435 1
原创 java 设计模式之建造者模式
Java建造者模式是一种创建型模式,它通过将对象构造过程和表示分离来便于使用相同的构造过程来构造不同的对象表示。与工厂模式的区别在于,建造者模式的重点在于对对象的构建过程进行控制。在Java编程中,常常使用生成器设计模式来动态生成对象。Java建造者模式是一种特殊的生成器模式,它允许用户创建对象而不必指定其所有参数。此模式允许用户指定参数来自定义对象的生成。
2023-06-13 11:39:50 196 1
原创 java 设计模式之原型模式
Java原型模式指的是通过复制已有对象创建新对象的模式。Java原型模式提供了一种更加灵活、更加高效的对象创建方式。与传统的new实例化方式相比,原型模式创建对象不需要调用构造函数,并且可以动态地创建新的对象实例。
2023-06-13 10:11:40 73 1
转载 【提问的智慧】如何提问,并获得高回复率
你可能曾经试过向大牛提问,但是这些提问往往石沉大海,于是你就纳闷了,这些大牛们平时在网上看都性格好好和蔼可亲的样子,怎么一向他们提问变得那么冷漠了?反差实在是太大了。其实,出现这样的情况,往往不是对方耍大牌,而是你提问的方式错了。所以这篇文章让大家了解几个原则,让你更好地提问,并获得高回复率。
2023-06-13 09:12:51 174 3
原创 Edge浏览器上安装WeTab新标签页
点击Edge浏览器的主页图标即可使用"WeTab新标签页",你可以通过单击扩展右上角的图标来配置它。系统将会弹出一个确认提示框,点击"添加扩展"来添加"WeTab新标签页"。在搜索结果中找到"WeTab新标签页",并点击"获取"按钮来获取它。等待一段时间,直到"WeTab新标签页"在您的浏览器中安装完毕。在搜索栏中输入"WeTab新标签页"并按下回车键。可以进入Microsoft Edge插件市场。打开Edge浏览器,在地址栏中输入。希望以上教程对您有所帮助。
2023-06-12 17:39:29 2539 1
原创 Java 设计模式之工厂模式
Java工厂模式是一种创建型设计模式,它提供了一个通用的接口来创建对象,使得对象的创建更加灵活和可维护。在Java中,通常有三种不同的工厂模式:简单工厂模式、工厂方法模式和抽象工厂模式。以上就是Java工厂模式的详细介绍和常见运用场景,工厂模式在实际开发中应用广泛,能够有效提高代码的可维护性和可扩展性。
2023-06-12 11:39:55 464
原创 Java 设计模式之单例模式
在Java中,除了以上两种单例模式,还有另外一种枚举单例模式。枚举单例模式是Java中最简单、最安全、最有效的单例模式实现方式,它能够避免反射和序列化/反序列化的问题。在Java中单例模式一般有两种实现方式:懒加载(懒汉式)和饿加载(饿汉式)。懒汉式和饿汉式各有优缺点,在具体场景下需要选择适合的方式。以上就是Java单例模式的简介和实现方式,选择合适的单例模式可以使得程序更加高效、简洁和方便。饿汉式单例模式在类加载时就进行实例化,因此无需考虑多线程和同步等问题,但会浪费一定内存空间。
2023-06-12 10:41:49 117 1
原创 java 设计模式 第一篇
Java设计模式是一套被广泛应用的编程范式,它包括了23种经典的设计模式。这些模式都是针对不同场景、不同需求而提出的,通过将问题模型化、形成通用解决方案,进而提高代码的可重用性、可维护性、可扩展性等。以上这些模式都具有独特的优点,在Java的应用程序开发中能有效提高代码质量、可读性、可维护性等方面的性能。
2023-06-12 10:33:15 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人