自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LocalGPT本地化大模型一键部署与远程访问方法指南

本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址+端口号的形式访问,实现远程访问还需搭配cpolar内网穿透。LocalGPT这个项目最大的亮点在于:1.使用LLM的力量,无需互联网连接,就可以向你的文档提问。100%私密,任何数据都不会离开你的执行环境。你可以摄取文档并提问,无需互联网连接!2.使用LangChain和Vicuna-7B以及InstructorEmbeddings构建。可以借助LangChain构建更高级能力的pipeline。

2024-07-01 15:41:23 996 19

原创 ONLYOFFICE 桌面编辑器 8.1 发布:全新功能齐备的 PDF 编辑器、丰富的幻灯片版式

ONLYOFFICE 8.1 的 PDF 编辑器得到了全面升级,用户现在可以更加方便地编辑 PDF 文件。这一升级不仅仅是对原有功能的简单优化,而是对整个 PDF 编辑体验的彻底革新。ONLYOFFICE 8.1 版本与主流操作系统和浏览器兼容良好,在界面设计、性能、功能和安全性等方面都表现出色。它不仅满足了用户日常办公的基本需求,还提供了许多超越想象的新特性。体验一番下来之后还是非常推荐使用的其性能强大功能更是全面,非常推荐。

2024-06-24 19:58:59 1147 1

原创 使用Axure RP和内网穿透技术发布静态web页面并实现公网访问

AxureRP对于产品经理来说,是一款经常使用的网站原型设计工具。它可以用来创建和设置图表样式,为图表页面和元素添加交互性和注释,并能将正在设计中或设计完成的页面随时发布到HTML,使用Web浏览器查看。但除了在局域网中访问,很多时候也会有出差在外,需要使用公网访问的需求,这时候可以利用cpolar内网穿透工具实现在公网访问内网的本地web展示站点,方便随时查看并提出修改意见。

2024-06-11 21:10:22 689 1

原创 Docker本地部署Drupal并实现公网访问

Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公网远程访问首先,您需要在您的机器上安装Docker,并且启动,可以按照Docker官方文档中的说明进行安装。

2024-06-11 20:23:53 643

原创 使用Axure RP和内网穿透技术发布静态web页面并实现公网访问

AxureRP对于产品经理来说,是一款经常使用的网站原型设计工具。它可以用来创建和设置图表样式,为图表页面和元素添加交互性和注释,并能将正在设计中或设计完成的页面随时发布到HTML,使用Web浏览器查看。但除了在局域网中访问,很多时候也会有出差在外,需要使用公网访问的需求,这时候可以利用cpolar内网穿透工具实现在公网访问内网的本地web展示站点,方便随时查看并提出修改意见。

2024-06-11 20:22:32 975

原创 如何搭建Tomcat服务并结合内网穿透实现公网访问本地站点

Tomcat作为一个轻量级的服务器,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装载,就成为配置JSP和Java系统必备的环境软件,也是开发调试JSP程序的首选。Tomcat运行稳定且开源免费,加上apache和Sun的加持即免费和开源的特性,使其广泛应用在中小型系统及并发访问用户较少的场景中。但想要让Tomcat网页能在公共互联网环境下被访问到,就需要cpolar内网穿透的协助。现在。笔者就为大家介绍,如何使用cpolar内网穿透。

2024-06-10 17:57:07 918

原创 不同数据库背后的数据存储方案

如果以组件的类型是关系型数据库还是非关系型数据库,并结合服务的场景是OLTP还是OLAP来对业界各种存储组件进行划分的话,可以得到如下图所示的结果。关系型数据库中既有为OLTP设计的,也有为OLAP设计的,同时还有新兴发展起来兼容二者的HTAP数据库。这些系统都有各自适用的业务场景,它们在存储引擎选型时,往往会根据适用场景来决定。如果是读多写少的场景,通常会选择B+树、哈希表来构建存储引擎。而如果是写多读少的场景,往往会选择LSM树来构建存储引擎。

2024-06-10 12:58:23 1282

原创 618精选编程书单:让你的编程技能飞跃提升

●《深入理解Java虚拟机》(第3版):周志明老师编著,深入剖析Java虚拟机的工作原理,让你对Java性能优化有更深的理解。●《Java核心技术 卷I:开发基础》(原书第12版):深入浅出地介绍了Java编程的基础知识,适合初学者和有经验的开发者。●《Java核心技术 卷II:高级特性》(原书第12版):深入探讨Java的高级特性,让你的Java技能更上一层楼。●《Java并发编程的艺术》第2版:深入探讨Java并发编程的复杂性,帮助你掌握多线程编程的精髓。618大促来袭,是时候为你的书架添置新成员了!

2024-05-23 08:43:06 1390 5

原创 SQL执行流程、Innodb与MyISAM存储引擎的区别

SQL执行流程、Innodb与MyISAM存储引擎的区别,空闲连接的最大连接时长是8个小时MySQL中的长连接累计很多,将会导致MySQL服务占用内存太大,可能会发送MySQL服务重启现象,如何解决呢?

2024-05-16 18:20:31 274 1

原创 学习ReentrantLock 原理

可重入是指同一个线程如果首次获得了这把锁,那么它是这把锁的拥有者,因此有权利再次获取这把锁,如果不可重入锁,那么第二次获得锁时,自己也会被锁挡住,直接造成死锁。从后向前的唤醒的原因:enq 方法中,节点是尾插法,首先赋值的是尾节点的前驱节点,此时前驱节点的 next 并没有指向尾节点,从前遍历会丢失尾节点。当前队列不为 null,并且 head 的 waitStatus = -1,进入 unparkSuccessor。如果锁被另一个线程保持,则当前线程被禁用线程调度,并且在锁定已被获取之前处于休眠状态。

2024-03-24 17:22:49 843 3

原创 Zset有序集合

有序集合相对于字符串、列表、哈希、集合来说会有⼀些陌⽣。它保留了集合不能有重复成员的特点,但与集合不同的是,有序集合中的每个元素都有⼀个唯⼀的浮点类型的分数(score)与之关联,使用分数作为排序依据。有序集合中的元素是不能重复的,但分数允许重复。

2024-03-24 14:08:18 1512 9

原创 Set集合命令

集合类型也是保存多个字符串类型的元素的,元素之间是无序的且不能重复。Redis 除了⽀持集合内的增删查改操作,同时还⽀持多个集合取交集、并集、差集,合理地使⽤好集合类型,能在实际开发中解决很多问题。

2024-03-20 11:44:08 1913 14

原创 string类型的使用以及编码方式

Redis 中所有的键的类型都是字符串类型,⼀个字符串的最⼤值不能超过 512 MB。由于 Redis 内部存储字符串完全是按照⼆进制流的形式保存的,所以 Redis 是不处理字符集编码问题的,客⼾端传⼊的命令中使⽤的是什么字符集编码,就存储什么字符集编码。例如输入你好,查询出来的却是\xe4\xbd\xa0\xe5\xa5\xbd。

2024-03-18 17:51:43 1180

原创 JUC-线程池

ThreadPoolExecutor 使用 int 的高 3 位来表示线程池状态,低 29 位表示线程数量。这些信息存储在原子变量ctl中,将线程状态与线程数合二为一,这样就可以用一次cas操作进行赋值。

2024-03-14 19:18:55 1387 2

原创 redis中通用命令以及key过期策略

redis通用命令,key过期策略

2024-03-12 21:21:25 752

原创 解密N数之和问题的秘密

解决n数之和问题

2023-11-14 21:31:00 345 5

原创 快速掌握队列的基础知识

队列的几种实现方式,用链表实现队列以及用栈实现队列。

2023-11-13 23:31:29 479 2

原创 精解括号匹配问题与极致栈设计:揭开最大栈和最小栈的奥秘

括号匹配问题,以及最大栈和最小栈问题总结

2023-11-08 22:22:55 801 6

原创 如何基于链表与数组实现栈

栈(Stack)是一种常用的数据结构,它的特点是先进后出(FILO)的顺序。在计算机科学中,栈经常被用来处理函数调用、表达式求值等问题。在本文中,我们将介绍如何使用链表和数组来实现栈。

2023-11-04 16:16:34 243 5

原创 在Ubuntu上安装Redis并学习使用get、set和keys命令

安装redis,以及主要命令

2023-11-02 21:19:10 1517 12

原创 链表加法与节点交换:数据结构的基础技能

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。我们的实现思路就是先把链表压入栈中,给最低位加一,用carry来记录是否有进位,然后用头插的方式把加一的链表连接起来。首先创建一个空的栈(Stack)用于保存链表中的数字,并将链表中的每个节点的值依次入栈。创建一个新的节点cur,将其值设为ans,并将cur插入到虚拟节点dummy之后。创建两个新的节点a和b,并将它们的值设为stack1和stack2弹出的节点值。创建一个虚拟节点dummy,并将其值设为-1,用于存储相加后的链表。

2023-10-29 14:58:33 731 3

原创 转变命运!揭秘反转链表的神奇算法!

链表是计算机科学中常用的数据结构之一,它由一系列节点构成,每个节点包含一个值和指向下一个节点的指针。链表的灵活性使其在许多场景下被广泛应用,但其中的一个常见问题是如何反转链表。

2023-10-28 18:33:43 314 7

原创 经典链表问题:解析链表中的关键挑战

链表是常见的数据结构之一,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表的灵活性使得它在很多问题中都能发挥重要作用。然而,链表问题也有其特殊性和挑战性。相较于数组,链表的访问和操作更为复杂,因为链表中的每个元素并不是按照顺序存储的。这一特性导致了在解决链表问题时需要采取特定的方法和技巧。本文将从经典链表问题的角度出发,解析在解决链表问题时所面临的关键挑战。我们将深入探讨链表的基本特性及其对问题求解的影响,介绍一些常见的链表问题,并提供相应的解决策略和优化方法。

2023-10-22 22:59:12 741 14

原创 链表增删操作问题及解决方法

链表是一种常用的数据结构,用于存储和组织数据。在链表中,增加和删除元素是常见的操作。然而,在进行链表的增删操作时,对于首部、中间和尾部位置的元素,都存在一些问题需要解决。

2023-10-18 17:40:35 846 13

原创 掌握优先级队列:提升效率的关键技巧

队列是一种先进先出的数据结构,但在一些情况下我们要优先处理一些情况,比如:正在手机上打游戏的时候,如果有来电,那么系统就应该处理打进来的电话。在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue)。

2023-10-15 13:13:20 264 6

原创 深入解析哈希表、哈希映射和并发哈希映射的区别,以及死锁的成因和解决方案

可以举例“哲学家就餐问题”,有一群哲学家围着一张桌子吃饭,每两个哲学家之间放一个筷子,哲学家只做两件事:思考人生 或者 吃面条。思考人生的时候就会放下筷子。吃面条就会拿起左右两边的筷子(先拿起左边, 再拿起右边),哲学家发现筷子拿不起来就会阻塞等待思考人生。五个哲学家同一时刻同时拿起左的筷子,再去拿右边的筷子就会发现筷子已被占有,就会阻塞等待,进行思考人生,哲学家们互相挂起等待就会形成“死锁”。死锁是多线程编程中常见的问题,当两个或多个线程互相等待对方持有的资源而无法继续执行时,就会发生死锁。

2023-09-24 15:36:50 310 11

原创 Java中synchronized:特性、使用、锁机制与策略简析

当一个线程进入synchronized代码块时,它会尝试获取指定对象的内置锁,只有当线程释放锁之后,其他线程才能获得锁并执行同步代码。按照之前对锁的理解就是,锁没有释放,进行再次加锁就会进行阻塞,直到第一次的锁被释放,才能获取到第二个锁,但释放第一个锁也由该线程来进行,结果现在这个线程啥都干不了,也就只能形成死锁了。按照之前对锁的理解就是,锁没有释放,进行再次加锁就会进行阻塞,直到第一次的锁被释放,才能获取到第二个锁,但释放第一个锁也由该线程来进行,结果现在这个线程啥都干不了,也就只能形成死锁了。

2023-09-20 22:33:38 356 5

原创 解密Java多线程中的锁机制:CAS与Synchronized的工作原理及优化策略

CAS: 全称Compare and swap,字面意思:”比较并交换“,CAS涉及如下操作:假设内存中的原数据为A,旧的预期值为B ,需要修改的值为C。首先把A与B进行比较,看A与B是否相同。如果A与B相同,则把数据C的值赋予A。返回操作成功。我们来写一个CAS的伪代码以帮忙我们更好理解CAS。//进行比较看a是否发生变化if(a==b){a=c;CAS是乐观锁的一种实现方式,当多个线程对一个数据进行操作时,只有一个线程操作成功,其他线程并不会阻塞,会返回操作失败的信号。

2023-09-20 17:52:16 290 1

原创 深入理解Java单例模式和优化多线程任务处理

单例模式能保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例,并提供一个全局访问点。单例模式确保类的唯一实例,并提供了全局访问点,以便全局共享该实例。阻塞队列提供了一种线程安全的协作机制,用于在线程间传递和同步数据,实现高效的任务处理。通过理解和正确应用单例模式和阻塞队列,可以提高多线程编程的效率、可靠性和安全性。

2023-09-18 21:13:01 590 3

原创 解析Spring Boot中的Profile:配置文件与代码的双重掌控

在Spring Boot中,Profile是一种非常有用的功能,它可以让我们根据不同的环境需求来加载不同的配置文件。本文将详细介绍Spring Boot中的Profile功能,以及如何通过代码来控制Profile的使用。

2023-09-10 19:37:07 3216 122

原创 探索多线程编程:线程的本质、状态和属性

线程是现代计算机编程中至关重要的概念之一。它使得我们能够更高效地利用多核处理器,提高程序性能并实现多任务并发操作。本文将深入探讨线程的本质、不同状态以及可配置的属性,帮助读者更清晰地理解并应用线程。

2023-09-06 23:50:46 497 37

原创 Go语言中的数组、切片和映射解析

map 中所有的 Key 必须具有相同的类型,Value 也同样,但 Key 和 Value 的类型可以不同。在类型名前加 [] 中括号,并设置好长度,大括号中的元素用于初始化数组,需要注意的是数组的长度不同,即属于不同的类型。容量就是申请的内存空间,而长度是已经使用的内存空间,我们可以通过 append 函数往切片中追加元素,来使用空闲内存。通过两张结果图可以看出map 的遍历是无序的,也就是说你每次遍历,键值对的顺序可能会不一样。数组存放的是固定长度、相同类型的数据,而且这些存放的元素是连续的。

2023-09-05 20:55:38 2028 71

原创 解锁Spring AOP的神秘面纱

Spring AOP作为Spring框架的核心模块,为我们提供了一种优雅的方式来处理横切关注点。本篇博客将从组成、实现和实现原理三个方面深入剖析Spring AOP,并结合具体的例子进行说明,帮助读者深入理解和使用该技术。

2023-08-20 20:35:52 1733 102

原创 MyBatis动态SQL:打造灵活可变的数据库操作

动态SQL就是根据不同的条件或需求动态地生成查询语句,比如动态搜索条件、动态表或列名、动态排序等。

2023-08-17 23:23:00 1498 102

原创 深入浅出:MyBatis的使用方法及最佳实践

创建⼀个全新的 MyBatis 和 Spring Boot 的项⽬时添加引⽤。其他代码修改跟增加操作相似。使用浏览器进行查询访问。查看数据库发现修改成功。查看数据库,删除成功。

2023-08-13 03:29:38 1213 115

原创 内网穿透:实现公网访问内网群晖NAS的方法

群晖NAS作为应用较为广泛的小型数据存储中心,近年来颇受使用者的青睐,越来越多的小型企业和家庭使用该系统存储数据。通常,群晖系统几乎都是在内网系统内运行,我们很难从公共互联网上,访问位于内网的群晖NAS。不过现在,我们可以使用cpolar内网穿透,建立一条专属的数据隧道,轻松地从公共互联网上访问到内网的群晖NAS。现在,就让我们来看看如何操作吧。

2023-08-10 14:00:46 867 48

原创 解密SpringMVC:探秘常用注解,让你的Java应用飞速起航!

Spring MVC是Spring框架中的一个模块,是基于Java的Web应用程序开发框架。它提供了一种用于构建灵活、高效、可扩展的Web应用程序的方式。Spring MVC允许开发者将业务逻辑与视图逻辑分离,以及支持MVC(Model-View-Controller)设计模式,使开发过程更加模块化和易于管理。在Spring MVC中,控制器(Controller)负责处理用户请求,模型(Model)表示应用程序的数据和业务逻辑,视图(View)用于展示数据给用户。

2023-08-05 06:33:27 470 77

原创 深入理解 Java Bean 的生命周期及各个阶段解析

Java Bean是一个符合特定规范的Java类,通常具有私有的成员变量、公共的getter和setter方法,以及一个无参构造函数。这些特性使得Bean对象易于序列化和反序列化,并且被广泛应用于Java开发中,尤其在框架和应用程序中经常被用作数据封装和组件复用。创建阶段:当使用构造函数或者工厂方法创建Bean对象时,就进入了创建阶段。属性设置阶段:在Bean对象创建后,通过setter方法设置Bean的各个属性。

2023-08-01 22:28:24 11140 116

原创 探究Spring Bean的六种作用域:了解适用场景和使用方式

在⼀个HTTP WebSocket的⽣命周期中,定义⼀个Bean实例,WebSocket的每次会话中,保存了⼀个Map结构的头信息,将⽤来包裹客户端消息头。每次对该作⽤域下的Bean的请求都会创建新的实例:获取Bean(即通过applicationContext.getBean等⽅法获取)及装配Bean(即通过@Autowired注⼊)都是新的对象实例。我们现在创建一个公共的Bean供用户一与用户二使用,用户一再使用完后对其内容进行修改,后被用户二使用,查看Bean是否改变,即可查看Bean的作用域。

2023-07-27 01:14:52 1819 101

原创 探秘Spring中Bean的注解宝典:解读存取Bean的相关注解及用法

在这篇文章中,我们将深入探讨Spring框架中与Bean存取相关的注解。Spring作为一个强大的IoC(控制反转)容器,提供了多种注解用于标记和管理Bean组件。本文将详细介绍每个注解的用途和使用方法,帮助读者全面了解如何优雅地存取Bean对象。无论是@Component、@Repository、@Service和@Controller等通用注解,还是@Autowired、@Qualifier、@Resource和@Value等依赖注入和属性注入相关注解,都将一一呈现在读者面前。精彩内容,不容错过!

2023-07-23 08:31:59 2476 98

算法设计-格雷码的分治构造算法

算法课程设计-格雷码的分治构造算法 设计内容: 1. 任务说明 题目描述:Gray码是一个长度为2n的序列,序列中无相同元素,且每个元素都是长度为n位的二进制位串,相邻元素恰好只有1位不同。例如长度为23的格雷码为(000,001,011,010,110,111,101,100),设计分治算法对任意的n值构造相应的格雷码。 2. 要求 (1)根据设计题目的要求和说明,理解和分析问题,梳理问题中的输入数据和输出数据,并确定用何种数据结构存储数据; (2)使用某种算法设计方法,按照“自顶向下、逐步求精”的方式,用伪代码编写问题求解主要步骤,然后细化每个主要步骤; (3)将编写的完整算法伪代码转换成某种编程语言程序,转换时注意按照程序模块化要求,定义主模块和多个子模块; (4)运行和调试程序并分析运行结果是否正确; (5)编写课程设计报告。

2024-01-24

微机原理课程设计-模拟电子琴设计

用于进行微型计算机原理的课程设计书-模拟实现电子琴 一、目的任务: 依据实验器材提供的功能,利用定时器产生的不同音阶频率的基本方法,使数字键1、2、3、4、5、6、7作为电子琴键驱动喇叭发声。 二、设计内容: 1. 复习相关课程内容:微机原理及应用课程相关内容;汇编语言程序设计的相关内容;熟悉模拟电路、数字电路的相关知识; 2. 熟悉实验相关器材的主要功能。 3. 在上述基础上,根据课程设计的基本要求,完成以下各项任务(反映在设计说明书中): (1)题目要求涉及的硬件电路图及摘要说明。 (2)题目的工作原理及相应描述。 (3)程序流程框图。 (4)程序文本输入及实验完成。 三、时间安排: 周一~周二完成相关知识点的复习与软硬件设计; 周三~周四完成实验调试和编写设计说明书; 周五进行课程设计验收、答辩。 四、设计要求: 1.软件程序文档;2.硬件电路图(用专业软件);3.完成实验;4.完成设计说明书。

2024-01-24

mysql数据库做的数据库课程设计报告-书店租赁系统

书店租赁系统数据库课程设计描述: 项目名称:书店租赁系统 项目背景:随着数字化时代的来临,人们对传统书店的需求逐渐减少,但仍然存在一定的读者群体倾向于租赁图书而非购买。因此,为了满足这一市场需求,本书店租赁系统的设计旨在建立一个高效、便捷的图书租赁平台,为用户提供广泛的图书租赁选择。 项目目标:书店租赁系统的目标是创建一个完整的数据库系统,以支持书店的租赁业务。该系统旨在实现以下目标: 1. 用户管理:允许用户注册、登录和管理他们的个人信息,包括姓名、联系信息等。 2. 图书管理: 实现图书的添加、编辑、删除和检索功能,包括图书的基本信息(标题、作者、出版日期、ISBN等)和库存信息(可供租赁的数量、租赁价格等)。 3. 租赁流程:提供用户租赁图书的功能,包括查看可租赁图书、选择租赁期限、支付租金等。 4. 订单管理:跟踪用户的租赁订单,包括订单状态、租赁期限等信息。 5. 评价和反馈: 允许用户对租赁的图书进行评价和反馈,以提供改进和参考其他用户的建议。

2023-09-18

空空如也

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

TA关注的人

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