- 博客(14)
- 收藏
- 关注
原创 【毕业设计】基于SpringBoot+vue的美容美发管理系统设计与实现
🎅 作者简介:大家好,我是莫子莫✌️毕业设计参考案例🍁✉️格言:没有复杂的系统💻只有复杂的灵魂!🌞1833738460🍅随着科技的不断发展,互联网技术已经深入到各个领域,尤其在美容美发行业,通过数字化技术提升服务质量和效率已经成为一种趋势。本文将介绍一款基于SpringBoot+vue的美容美发管理系统的设计与实现方法,以期为相关领域的研究和实践提供有益的参考。美容美发行业是一个快速发展的行业,随着消费者需求的不断变化,美容美发店面临着越来越多的挑战。
2023-11-07 23:00:22
316
原创 【毕业设计】基于SpringBoot+vue的水果店销售商城设计与实现
水果店销售商城是一种线上水果销售平台,它结合了电子商务和移动支付的优势,为消费者提供了一个购买新鲜水果的便捷途径。然而,在设计和实现水果店销售商城时,需要充分考虑用户需求、购物流程、支付安全等因素,以确保用户能够享受到优质、高效的购物体验。SpringBoot和Vue作为当前主流的技术框架,具有开发效率高、安全性强、用户体验良好等优点。
2023-11-02 17:59:02
717
原创 RabbitMQ详解
消息中间件基于队列模型实现异步/同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合度。小项目用多线程也可以处理,但有些大型项目有可能会消耗服务器cpu资源资源RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),RabbitMQ服务器是用Erlang语言编写的。
2023-10-12 11:51:48
108
原创 【JAVA集合】HashMap
桶数组是用来存储数据元素,链表是用来解决冲突,红黑树是为了提高查询 的效率。元素通过计算哈希公式得到具体位置,存储到数组中,但数组中已有元素占用位置,则用链表来存放发生冲突的元素,当链表长度大于8时,则会将链表转化为红黑树,提高查询效率。
2023-09-25 12:32:22
147
1
原创 【JAVA集合】ArrayList的扩容机制以及序列化
这种扩容机制使得在插入大量元素时,ArrayList的效率较高,因为每次扩容只需要创建一次新数组,然后进行一次元素复制,而对于元素插入的每次操作,只需要在新数组中找到合适的位置插入即可。扩容的过程是创建一个新的数组,其长度是原数组长度的1.5倍(也可以理解为原数组长度加上原数组长度的一半),然后将原数组的所有元素复制到新数组中。ArrayList的底层实现是动态数组,其扩容机制是在需要插入新元素而当前数组容量不够时,通过创建一个新的数组,并将原数组中的元素复制到新数组中,以实现扩容。
2023-09-15 16:18:58
193
原创 【JAVA】JDK1.8新特性
Stream是一个能描述某些指令序列的新抽象概念。这个序列可以来自于各种数据源,例如集合、数组、I/O通道等。Stream API支持串行和并行操作,并且支持延迟操作,这意味着只有在需要结果时才会执行操作。这些操作可以链接在一起,形成一个复杂的操作链。以上代码首先过滤出以"P"开头的名字,然后将这些名字转换为大写,最后打印出来。
2023-09-14 16:03:53
149
1
原创 【JAVA】反射
Java反射(Reflection)是在运行时对于任意一个类,都能够了解这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。
2023-09-14 12:15:38
97
1
原创 【JAVA】注解
在这个示例中,@MyAnnotation 注解被应用于 myMethod 方法上,并设置了 value 属性为 “hello”,count 属性为 3。再比如 Spring 常见的 Autowired ,就是 RUNTIME 的,所以在运行的时候可以通 过反射得到注解的信息,还能拿到标记的值 required。, valueN 是注解的属性值,可以有多个属性值。使用自定义注解时,可以在代码中使用 @annotationName 语法来应用注解,并在代码中使用注解的属性值来访问注解的属性。
2023-09-14 11:46:36
152
1
原创 【装饰器模式】
装饰器模式是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。在这个例子中,我们创建了一个基础的煎饼果子套餐类,然后我们通过鸡蛋装饰器和香肠装饰器来给基础套餐添加额外的职责。装饰器模式的实际应用场景是在不想增加更多子类的情况下扩展类,动态地给一个对象添加一些额外的职责。总的来说,装饰器模式是一种非常灵活和有用的设计模式,它允许我们在不改变现有对象结构的基础上,动态地添加新的功能。
2023-09-09 15:51:01
210
1
原创 == 和 equals 的区别
在这个例子中,s1和s2是两个不同的对象,虽然它们的内容相同,但是它们在内存中的位置是不同的,所以s1 == s2返回false。在这个例子中,虽然s1和s2不是同一个对象(它们的引用不同),但它们的值是相同的,所以s1.equals(s2)返回true。默认情况下,equals()方法的行为与==操作符相同,它比较两个对象的引用。然而,许多类(如String,Integer等)重写了equals()方法,使其比较对象的值而不是引用。操作符用于比较两个对象的引用是否相同,即它们是否指向内存中的同一个对象。
2023-09-08 17:03:22
169
1
原创 JAVA重载与重写
● 重写(Override): 发生在子类和父类之间,子类中定义一个与父类同名、返回类型、参数类型均相同的方法。重写是子类对父类中允许访问的方法实现过程的再次编写,是实现多态性的一种方式。在调用这些方法时,会根据传递给它们的参数类型和数量来决定具体使用哪个方法,这就是多态性的一种表现。重载(Overload)和重写(Override)是Java中两个重要的概念,都是面向对象编程的一部分,但它们之间存在明显的区别。简单来说,重载是同一个类中的方法名相同但参数不同,而重写是子类中的方法覆盖了父类的方法。
2023-09-08 16:43:37
718
1
原创 JAVA中switch的使用
在这个示例中,根据变量day的值,switch语句选择相应的代码块执行。在这种情况下,day的值为3,因此会执行与case 3关联的代码块,输出为"Wednesday"。如果day的值不在1到7之间,将执行default代码块并输出"Invalid day"。● default是可选的,当expression的值与所有case的值都不匹配时,执行此代码块。● case用于指定一个值,当expression的值与该值相匹配时,相应的代码块会被执行。
2023-09-08 15:42:22
1054
1
原创 JAVA自动拆箱与封箱
当我们将一个Integer对象赋值给一个int类型的变量时,Java会自动将Integer对象拆箱成int值,这就是自动拆箱。相反,当我们从一个int类型的变量赋值给Integer对象时,Java会自动将int值封箱成Integer对象,这就是自动封箱。这些包装类型都是不可变的(immutable),即它们的值一旦被创建就无法更改。需要注意的是,自动拆箱和自动封箱功能只适用于赋值操作,不能用于方法参数传递或返回值类型等场景,因为在这些场景中需要明确数据类型和对应的包装类之间的转换。
2023-09-08 15:34:17
186
1
原创 Java中&和&&的区别
而&&运算符的短路功能可以保证当username为null时,不会执行equals方法的调用。这段代码将会执行并输出"Both are true",因为虽然a的值为false,但b的值为true,所以a & b的结果为true。这段代码将不会执行并输出"Both are true",因为a的值为false,所以当计算。当第一个表达式的值为false时,则不再计算第二个表达式。时,由于短路功能,b的值将不会被计算,因此整个表达式的值为false。只有当a和b都为真时,这两个表达式的值才为真。
2023-09-08 15:28:28
121
1
并发思维导图Java并发编程的相关概念和知识
2023-11-04
Redis学习思维导图.jpg
2023-11-04
广告视频图片动起来简单AE教程.docx
2023-11-04
《基于SpringBoot+vue的水果店销售商城设计与实现》设计方案
2023-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人