- 博客(267)
- 资源 (3)
- 收藏
- 关注
原创 java基础教程9_Java 修饰符
抽象类:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。实例// 抽象方法抽象方法抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。抽象方法不能被声明成 final 和 static。任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
2024-12-12 14:59:52
675
原创 java基础教程8_Java 变量命名规则
驼峰命名法(Camel Case): 在变量名中使用驼峰命名法,即将每个单词的首字母大写,除了第一个单词外,其余单词的首字母都采用大写形式。区分大小写: Java 是大小写敏感的,因此变量名中的大小写字母被视为不同的符号。遵循命名约定: 对于不同类型的变量(局部变量、实例变量、静态变量等),可以采用不同的命名约定,例如使用前缀或后缀来区分。使用有意义的名字: 变量名应该具有清晰的含义,能够准确地反映变量的用途。变量名应该是描述性的,能够清晰地表示其用途。变量名应该是描述性的,能够清晰地表示其用途。
2024-12-11 16:48:30
412
原创 java基础教程7_Java 变量类型
静态变量的定义方式是在类中使用static关键字修饰变量,通常也称为类变量。以下实例中我们定义一个静态变量count。
2024-12-11 15:52:42
685
原创 java基础教程6 Java 基本数据类型
Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少次方。必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
2024-12-10 16:54:29
703
原创 java基础教程5 Java 对象和类
Java 是一种面向对象的编程语言,支持以下基本概念:类(Class):对象(Object):继承(Inheritance):封装(Encapsulation):将对象的状态(字段)私有化,通过公共方法进行访问。示例:多态(Polymorphism):抽象(Abstraction):接口(Interface):方法(Method):方法重载(Method Overloading):同一个类中可以有多个同名的方法,但参数不同。示例:本节重点研究对象和类的概念。下图中男孩(boy)和女孩(g
2024-12-10 16:53:42
1375
原创 java基础教程3 java基础语法
Java是一种广泛使用的编程语言,以其平台独立性和强大的面向对象特性而闻名。无论是开发桌面应用程序、Web应用还是移动应用,Java都提供了丰富的功能。本文将简要介绍Java的基础语法,包括变量、数据类型、控制结构、方法以及类和对象等概念。System.out.println(name + "说汪汪!");以上就是Java基础语法的一些核心要素。掌握这些概念为进一步深入Java编程打下了良好的基础。无论你是编程的新手还是有经验的开发者,理解和运用这些基本语法都是编写高效Java代码的关键。
2024-12-03 16:42:21
572
原创 AI大模型如何重塑软件开发流程
AI大模型是指通过深度学习技术训练而成的具有大量参数的模型,这些模型能够处理复杂的任务,如自然语言处理、图像识别和代码生成等。与传统的机器学习模型相比,AI大模型在数据处理能力和学习能力上具有显著优势,能够从海量数据中提取有价值的信息。
2024-12-02 16:24:09
625
原创 如何撰写高质量的技术文档
撰写高质量的技术文档是一项重要的技能,它不仅能提高团队的工作效率,还能提升用户的使用体验。通过明确文档目的、了解目标读者、保持结构清晰、使用简洁语言、定期更新以及利用合适的工具,开发者可以创建出更具价值的技术文档。希望本文能为您在撰写技术文档时提供一些有用的指导和启示。
2024-12-02 16:17:05
455
原创 java基础教程 Java 简介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。Java分为三个体系:JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
2024-11-28 10:52:36
742
原创 手摸手6-Vue 3 登录功能实现
在这篇文章中,我们将实现一个简单的 Vue 3 登录功能。我们将使用 Composition API 和 Vue Router 来构建这个功能。在这篇文章中,我们实现了一个基本的 Vue 3 登录功能。
2024-11-28 09:50:13
522
原创 手摸手6-创建前端应用
create-vue 是 vue 应用程序的脚手架工具。它取代了 vue cli,成为创建 vue spa(单页应用程序)的推荐方式。
2024-11-19 16:18:29
702
原创 手摸手5-springboot开启打印sql完整语句
MyBatis-Plus提供了SQL分析与打印的功能,通过集成p6spy组件,可以方便地输出SQL语句及其执行时长。本功能适用于MyBatis-Plus 3.1.0及以上版本。p6spy是一个针对数据库访问进行拦截和记录的工具,它通过代理JDBC驱动程序来工作。这意味着你的应用程序可以像往常一样使用JDBC,而p6spy会在幕后记录所有的SQL语句及其执行时间。这对于开发和调试过程中的SQL优化非常有用。p6spy慢SQL检测:通过配置和p6spy可以记录执行时间超过设定阈值的SQL语句。自定义日志格式。
2024-11-19 16:17:56
1058
原创 手摸手4-springboot整合redis
这里我们引入application-jdbc.yml和application-redis.yml两个配置文件,方便切换不同的环境,这里生效的环境根据pom.xml里的配置获取。这里的配置文件位置放置在resource下的dev文件夹中。这里需要配置下Maven构建过程中的资源文件处理规则。
2024-11-11 14:35:29
505
原创 vscode 支持 vm模板文件
在扩展里搜索 vm,这里我们安装 apache velocity 扩展,安装成功后即可支持vm文件,安装成功后vm会有高亮显示。
2024-10-23 16:33:50
356
原创 java 提示 避免用Apache Beanutils进行属性的copy。
这里引入了 import org.apache.commons.beanutils.BeanUtils;我们替换成 import org.springframework.beans.BeanUtils;避免用Apache Beanutils进行属性的copy。说明:Apache BeanUtils性能较差,可以使用其他方案比如Spring BeanUtils, Cglib BeanCopier。避免用Apache Beanutils进行属性的copy。
2024-10-23 10:07:51
758
原创 Vue3 -- 设置分页,切换分页之后选项仍能保留 & 控制多个表格的选中不会互相影响
通过以上步骤,可以在 Vue 3 应用中实现分页功能,并确保在切换分页时选中的项能够保留,同时控制多个表格之间的选中状态不互相影响。这种设计提升了用户体验,使得操作更加直观和灵活。
2024-10-10 15:43:59
1307
原创 springboot项目中开启mybatis的sql日志
在 application.yml 文件中 添加 mybatis-plus 配置,再重启项目,这里用到了mybatis-plus的自带sql日志打印。如果只是用的mybatis的话,需要这样设置。
2024-10-10 15:26:44
1108
原创 vue3中详情子页面的组件列表加载一次后再次点击其他详情就不重新请求加载了
使用本地数据:如果数据量不大,可以在第一次请求数据后将数据保存在组件的状态中(例如 data 或 computed 属性),然后在分页时直接从本地数据中获取。条件请求:在 approveLogList 方法中,添加条件判断,只有在特定情况下(如首次加载或数据过期)才进行数据请求。缓存数据:在数据请求后,将数据缓存到 Vuex 或其他状态管理方案中,分页时直接从缓存中获取数据。这里的assetId是点击的时候传过来的。
2024-09-29 09:35:36
447
原创 vue3 子页面根据父页面传递的参数获取数据
1、父页面 index.vue 里调用子页面 approvalRecords.vue。4、编写请求接口代码 assetApproveLog-api.js 文件中编写。页面 approvalRecords.vue中编写。这里的assid就是要传给子页面的参数。在页面 js 中编写,引入该组件页面。3、子页面中调用接口请求数据。在 html 中编写代码。先引入调用接口编写的js。
2024-09-27 14:46:01
853
原创 apifox统一添加头部请求参数
3、这时个url请求里面就会默认添加上这个参数,不需要每次都手动添加。1、首先在全局参数里面添加每次请求都需要添加的参数。这里的值设置为动态获取的变量,值可以在环境里设置。2、在环境变量里设置要具体的值。
2024-09-27 10:36:38
1430
原创 设计模式-装饰器模式
装饰器设计模式(Decorator Pattern)是一种结构型设计模式,它允许你通过将对象包装在一个装饰器类中来动态地扩展其功能。装饰器模式能够在不改变原有对象的情况下,通过添加新的装饰器类来增加对象的功能。在装饰器模式中,有一个抽象组件(Component)接口,定义了被装饰对象和装饰器对象的共同行为。然后有一个具体组件(ConcreteComponent)类,实现了抽象组件接口,并定义了基本的功能。接下来,有一个抽象装饰器(Decorator)类,也实现了抽象组件接口,并持有一个抽象组件对象的引用。
2023-10-24 21:28:50
543
原创 设计模式-原型模式
原型设计模式(Prototype Pattern)是一种创建型设计模式,它用于创建对象的克隆副本,而无需通过实例化对象的方式。该模式通过复制现有对象的原型来创建新的对象,从而避免了使用new关键字实例化对象的过程。在原型设计模式中,一个原型对象作为模板,通过克隆的方式创建新的对象。原型对象是一个已经存在的对象,它包含了需要被复制的属性和方法。通过复制原型对象,可以创建新的对象,而且这个新的对象与原型对象具有相同的属性和方法。
2023-10-19 21:09:15
549
原创 设计模式-适配器模式
适配器设计模式是一种结构型设计模式,它允许将一个类的接口转换为客户端所期望的另一个接口。适配器模式可以解决由于接口不兼容而无法合作的问题。适配器模式的核心思想是通过一个适配器类来实现接口的转换。适配器类实现了客户端所期望的目标接口,并将其方法委托给另一个已有的类,该类实现了需要适配的接口。目标接口(Target):定义客户端所期望的接口。需要适配的类(Adaptee):具有一个不兼容的接口,需要被适配。适配器类(Adapter):实现目标接口,并将方法委托给需要适配的类。
2023-09-29 22:47:54
712
原创 设计模式-组合模式
组合模式是一种结构型设计模式,它允许将对象组合成树状结构来表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。在组合模式中,有两种主要类型的对象:叶子对象和组合对象。叶子对象是没有子对象的基本对象,而组合对象是包含子对象的复合对象。组合对象可以是叶子对象或其他组合对象的集合。组合模式的主要思想是通过将对象组合成树状结构来表示对象之间的整体-部分关系,使得用户可以统一地处理单个对象和组合对象。这种设计模式可以使得客户端代码更加简洁,不需要对单个对象和组合对象进行特殊处理。
2023-09-29 22:47:01
800
原创 设计模式-建造者模式
建造者模式是一种创建型设计模式,它允许你按照特定的步骤创建复杂对象。它将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于创建具有复杂结构的对象,例如需要多个步骤或多个部件来构建的对象。它将构建过程分解为一系列的步骤,每个步骤都有一个具体的建造者来完成。最终,所有的步骤都被组合在一起,形成一个完整的对象。产品(Product):要创建的复杂对象,它由多个部件组成。抽象建造者(Builder):定义了构建产品的抽象接口,包括各个部件的构建方法。
2023-09-27 21:34:23
425
原创 idea设置项目启动的JVM运行内存大小
在开发当中,idea默认服务启动要占用1G内存。其实每个项目本地开发和调试的时候,根本不需要1G内存,200M左右足以。刚好本人的电脑只有8G,公司的微服务项目启动后,电脑风扇疯狂的转动。如果在微服务体系下,那效果更明显,相同的内存可以启动更多的服务。
2023-09-18 21:15:58
8591
原创 springcloud相关面试题
Eureka作为SpringCloud的服务注册功能服务器,他是服务注册中心,系统中的其他服务使用Eureka的客户端将其连接到Eureka Service中,并且保持心跳,这样工作人员可以通过Eureka Service来监控各个微服务是否运行正常spring cloud bus 将分布式的节点用轻量的消息代理连接起来,它可以用于广播配置文件的更改或者服务直接的通讯,也可用于监控。如果修改了配置文件,发送一次请求,所有的客户端便会重新读取配置文件。使用:1、 添加依赖2、 配置rabbimq。
2023-09-13 21:42:58
208
原创 设计模式-策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装起来,并使它们可以互相替换。策略模式使得算法可以独立于使用它的客户端而变化。总之,策略模式可以帮助我们将算法的定义、使用和变化分离开来,提高代码的可维护性和扩展性。
2023-09-09 22:07:33
668
原创 jwt和token的区别
需要注意的是,无论是Token还是JWT,都需要注意安全性,例如使用HTTPS来保证传输过程的安全性,以及适当地设置Token或JWT的过期时间,避免被恶意使用。而一般的Token没有这种机制,只能通过验证Token的合法性来确保安全性。JWT是无状态的,即服务端不需要保存任何用户信息,只需验证JWT的签名即可。总的来说,JWT是一种更安全、更灵活、更轻量级的身份验证机制,适用于分布式系统和无状态的API。JWT可以存储更多的信息,例如用户的角色、权限等,而一般的Token只能存储有限的信息。
2023-09-07 21:51:00
5209
原创 分布式锁的实现
分布式锁是一种用于协调分布式系统中多个进程或线程之间对共享资源的访问的机制。在分布式系统中,多个进程或线程同时访问共享资源可能会导致数据不一致或并发冲突的问题。分布式锁通过保证在同一时间只有一个进程或线程能够访问共享资源,从而解决了这些问题。
2023-09-06 11:11:34
187
原创 Relying upon circular references is discouraged and they are prohibited by default.
不鼓励依赖循环引用,并且默认情况下禁止循环引用。更新应用程序以删除bean之间的依赖循环。作为最后的手段,可以通过设置spring.main来自动打破这个循环。允许循环引用为true。提示中已经把解决方案说了 setting spring.main.allow-circular-references to true.在springboot2.6正式发布,循环依赖默认静止了。我这里是 yml配置,加上后重启就正常运行了。如果是 properties 配置文件。如果是 yml 配置文件。
2023-08-14 22:00:08
5282
1
原创 35岁程序员体能下降,没用了?
笔者本人已经35岁以上了,明显的能感觉到身体相对于30岁以前的话,体能确实下降了不少。但是说实话,有班上就上班,没班上,总会有出路的,上班只是生命的一部分,不是必要部分。身体是自己的,还是要平时注意。而且需要会的多,也没有什么导师之类的,没有人会教你。主要也是看公司,有些公司在乎结果,活干完就不会玩加班那一套,有些老板在乎过程,需要你哄他,喜欢看你加班。甚至坐久了会腰疼、睡眠困扰开始加重,在众多的归因中,仿佛35岁的到来,会为一切的焦虑埋下伏笔。有条件的话还是要注意身体的健康,适当的运动很是有必要的。
2023-08-14 13:28:27
224
人人都是架构师
2018-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人