- 博客(163)
- 收藏
- 关注
原创 java基础语法速成(十五)API(时间,包装类,练习)
java.util.Date`类 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数:从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。:将指定参数的毫秒值date,转换成Date对象,分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
2025-03-29 11:33:16
784
原创 java基础语法速成(十四)API(正则表达式)
语法示例:“.” : 匹配任何字符。“\d”:任何数字[0-9]的简写;“\D”:任何非数字[^0-9]的简写;“\s”: 空白字符:[ \t\n\x0B\f\r] 的简写“\S”: 非空白字符:[^\s] 的简写“\w”:单词字符:[a-zA-Z_0-9]的简写“\W”:非单词字符:[^\w]代码示例://.表示任意一个字符System.out.println("你".matches(".."));//false。
2025-03-29 11:29:06
702
原创 java基础语法速成(十三)API(常见API,对象克隆)
tips:了解内容查看API文档,我们可以看到API文档中关于Math类的定义如下:Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。要想使用Math类我们就需要先创建该类的对象,那么创建对象就需要借助于构造方法。因此我们就需要首先查看一下API文档,看看API文档中针对Math类有没有提供对应的构造方法。通过API文档来查看。
2025-03-05 17:38:50
1039
原创 java基础语法速成(十二)面向对象进阶(抽象类&接口&内部类)
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类只需要提供一个没有方法体的定义即可,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。抽象方法: 没有方法体的方法。抽象类:包含抽象方法的类。
2025-03-03 11:27:40
808
原创 java基础语法速成(十一)面向对象进阶(多态&包&final&权限修饰符&代码块)
多态: 是指同一行为,具有多个不同表现形式。从上面案例可以看出,Cat和Dog都是动物,都是吃这一行为,但是出现的效果(表现形式)是不一样的。前提【重点】有继承或者实现关系方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】父类类型:指子类对象继承的父类类型,或者实现的父接口类型。 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。如果有一个方法我不想别人去改写里面内容,该怎么办呢?Java提供了final关键字,表示修饰的内容不可变。final。
2025-03-03 11:24:05
832
原创 java基础语法速成(十)面向对象进阶(static&继承)
修饰符 class 类名 {// 1.成员变量(属性) // 2.成员方法 (行为) // 3.构造方法 (初始化类的对象数据的) }// 1.成员变量// '男' '女'// 成员变量// '男' '女'// 无参数构造方法// 有参数构造方法我们已经知道面向对象中,存在类和对象的概念,我们在类中定义了一些成员变量,例如name,age,sex ,结果发现这些成员变量,每个对象都存在(因为每个对象都可以访问)。
2025-03-03 11:17:37
705
原创 java基础语法速成(九)集合(ArrayList)
什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点 长度可以变化,只能存储引用数据类型。泛型的使用 用于约束集合中存储元素的数据类型。
2025-03-03 11:09:23
429
原创 java基础语法速成(八)字符串
什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。
2025-03-03 10:52:17
1001
原创 java基础语法速成(七)面向对象(类和对象、封装)
类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;// 成员方法方法1;方法2;/*手机类:类名:手机(Phone)成员变量:品牌(brand)价格(price)成员方法:打电话(call)
2025-03-03 10:46:06
621
原创 面向对象编程三大特征
面向对象编程有三大特征:封装、继承和多态。继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过 extends 来声明继承父类即可。画出继承的示意图方法或对象具有多种形态。是面向对象的第三大特征,多态是建立在封装和继承基础之上的。
2025-02-28 17:35:32
540
原创 Java基础语法速成(六)方法
方法(method)是程序中最小的执行单元注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用public static void 方法名 ( ) {// 方法体;// 方法体;方法名();method();注意: 方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int apublic static void 方法名 (参数1) {方法体;
2025-02-23 17:21:40
1311
原创 Java基础语法速成(四)判断和循环
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。 小明的考试成绩,如果用switch,那么需要写100个case,太麻烦了,所以用if简单。
2025-02-23 16:48:04
937
原创 Java基础语法速成(三)运算符
- * / % 这些操作跟小学数学几乎是一模一样的。/ 和 % 的区别:他们两个都是做除法运算,/取结果的商。% 取结果的余数。整数操作只能得到整数,如果想要得到小数,必须有浮点数参与运算。算术运算符的高级用法:是以+为例进行的讲解,其余减法,乘法,除法的运算规则也是一样的。特例:字符串只有+操作,没有其他操作。 && 和 & 、||和|的运行结果都是一模一样的。 但是短路逻辑运算符可以提高程序的运行效率。
2025-02-23 15:46:31
540
原创 Java基础语法速成(二)Java基础概念
变量就在程序中临时存储数据的容器。但是这个容器中只能存一个值。 数据类型 变量名 = 数据值;//1.定义byte类型的变量//数据类型 变量名 = 数据值;//2.定义short类型的变量//3.定义int类型的变量int c = 30;//4.定义long类型的变量//5.定义float类型的变量//6.定义double类型的变量//7.定义char类型的变量//8.定义boolean类型的变量注意点。
2025-02-23 15:40:09
828
原创 Java基础语法速成(一)Java入门
就是在windows操作系统中,利用命令行的方式去操作计算机。我们可以利用cmd命令去操作计算机,比如:打开文件,打开文件夹,创建文件夹等。语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java是一门非常火的计算机语言。(也叫做编程语言)我们想要让计算机做一些事情,那么就可以通过Java语言告诉计算机就可以了目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。
2025-02-23 09:38:11
811
原创 如何在本地和服务器新建Redis用户和密码
打开redis-cli.exe。然后在 redis 目录下找到。如果有注释,记得取消注释。如果有注释,记得取消注释。,双击启动,放那别关掉。,双击启动,放那别关掉。,双击启动,放那别关掉。redis 目录下找到。redis 目录下找到。redis 目录下找到。
2025-02-20 23:33:36
1086
原创 如何在本地和服务器新建mysql用户和密码
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6+中的。先为后端项目添加一个数据库。com.mysql.jdbc.Driver 是 mysql-connector-java 5中的;宝塔面板中的软件商店中直接安装即可mysql即可,选择适合的版本。宝塔面板已经自动安装 MySQL 数据库,我们可以直接使用。小结:除了上面的异常报错,其余均按照炎的文档操作即可。记得验证数据库表是否创建成功。
2025-02-20 22:06:30
568
原创 如何在本地和线上安装和配置RabbitMQ
如果你想从远程服务器访问管理面板,你需要创建一个新的管理员账号,不能使用默认的 guest 账号,否则会被系统拦截,导致无法访问或登录。如果你想从远程服务器访问管理面板,你需要创建一个新的管理员账号,不能使用默认的 guest 账号,否则会被系统拦截,导致无法访问或登录。ps.里面的 5672、15672 很重要,我们的应用程序之间就是通过 5672 端口来和 RabbitMQ 做链接的,就像 redis 的6379,es 的 9200是一样的。将命令粘贴到此处,回车,显示已经启动了,并配置了一些插件。
2025-02-18 23:43:55
1538
原创 后端的config包中的常用配置
Redisson 是一个 java 操作 Redis 的客户端,提供了大量的分布式数据集来简化对 Redis 的操作和使用,可以让开发者像使用本地集合一样使用 Redis,完全感知不到 Redis 的存在。通过新建 RedisTemplateConfig 配置类来创建自定义的 RedisTemplate Bean。Redisson则提供了更高级的功能,比如分布式系统、集群和哨兵模式、RxJava集成。RedisTemplate更适合于简单的Redis操作,比如简单缓存、简单消息队列。
2025-01-23 23:07:48
553
原创 Redisson 实现分布式锁
单机锁:用于一台服务器的同步执行。分布式锁:用于多台服务器之间的同步执行。有限资源的情况下,控制同一时间(段)只有某些线程(用户 / 服务器)能访问到资源。Java 实现锁:synchronized 关键字、并发包的类。Java synchronized 实现锁存在问题:只对单个 JVM 有效。分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。
2025-01-23 21:29:59
1249
原创 RedisTemplate和Redisson的使用和区别
●数据量大时,可以提前将数据提前写入缓存,提高第一次访问的数据●解决第一次访问时间过长,太长时间加载不出来页面,但是后面的访问页面就不会存在访问页面时间过长●提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!RedisTemplate和Redisson都是操作Redis的Java客户端库。RedisTemplate更适合于简单的Redis操作,比如简单缓存、简单消息队列;
2025-01-23 20:53:15
1081
原创 全网最全的跨域解决方式
在Web应用程序中,由于浏览器的同源策略(Same-Origin Policy),浏览器会限制从一个源(域、协议、端口)发起的HTTP请求,只能访问同一源上的资源。1)设置 CORS 响应头:后端可以在 HTTP 响应头中添加相关的 CORS 标头,允许特定的源(域名、协议、端口)访问资源。3)@CrossOrigin 注解:Spring Boot 项目可以直接在对应的 Controller 或接口方法上添加 @CrossOrigin 注解实现跨域,但这种方式对代码的侵入性较大。
2025-01-20 21:31:05
1268
原创 前端的全局请求配置和后端的yml文件配置api
在这个信息中,context-path是空的,意味着web应用的根目录将会映射到http://localhost:8082;浏览器中打开"http://localhost:8082/api/doc.html",即可打开在线文档;当server.servlet.context-path有配置时,比如/demo,此时的访问方式为localhost:8080/demo/xxxxxx。同一个项目需要再次打包重新上传时,只需要将更目录对应的文件更换即可,刷新页面,一直正常,不需要删除项目,重新再创建。
2025-01-20 11:23:44
945
原创 如何将 session 共享存储到 redis 中
分布式(Distributed)是指将计算、存储和处理任务分散到多台计算机或服务器上进行完成的一种计算模式。传统的集中式系统中,所有的计算和数据处理都依赖于中央服务器,而分布式系统则将任务分解为多个子任务,并将其分配给不同的计算机节点来并行处理。提高性能和可伸缩性:通过将任务分布到多个计算机上执行,分布式系统能够充分利用计算资源,提高系统的处理能力和性能,并且可以根据需要动态扩展系统规模。
2025-01-17 11:17:22
848
原创 苍穹外卖(十二)数据统计(Excel报表)
Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。银行网银系统导出交易明细各种业务系统导出Excel报表批量导入业务数据。
2025-01-16 14:33:14
1089
原创 苍穹外卖(十一)数据统计(图形报表)
Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。官网地址:https://echarts.apache.org/zh/index.html1). 柱形图2). 饼形图3). 折线图**总结:**不管是哪种形式的图形,最本质的东西实际上是数据,它其实是对数据的一种可视化展示。
2025-01-16 14:18:50
710
原创 苍穹外卖(十)订单状态定时处理、来单提醒和客户催单
是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。**定位:**定时任务框架**作用:**定时自动执行某段Java代码为什么要在Java程序中使用Spring Task?1). 信用卡每月还款提醒2). 银行贷款每月还款提醒3). 火车票售票系统处理未支付订单4). 入职纪念日为用户发送通知**强调:**只要是需要定时处理的场景都可以使用Spring TaskWebSocket 是基于 TCP 的一种新的网络协议。
2025-01-16 14:03:09
911
原创 苍穹外卖(九)用户端历史订单模块和商家端订单管理模块
接口设计:参见接口文档。接口设计:参见接口文档。接口设计:参见接口文档。接口设计:参见接口文档。接口设计:参见接口文档。接口设计:参见接口文档。接口设计:参见接口文档。
2025-01-16 10:12:08
1011
原创 苍穹外卖(八)用户下单、订单支付
前面的课程已经实现了用户下单,那接下来就是订单支付,就是完成付款功能。支付大家应该都不陌生了,在现实生活中经常购买商品并且使用支付功能来付款,在付款的时候可能使用比较多的就是微信支付和支付宝支付了。在苍穹外卖项目中,选择的就是微信支付这种支付方式。要实现微信支付就需要注册微信支付的一个商户号,这个商户号是必须要有一家企业并且有正规的营业执照。只有具备了这些资质之后,才可以去注册商户号,才能开通支付权限。
2025-01-16 09:29:50
1208
原创 Java 后端整合 Swagger + Knife4j 接口文档
什么是接口文档?写接口信息的文档,每条接口包括:请求参数响应参数错误码接口地址接口名称请求类型请求格式备注who 谁用?一般是后端或者负责人来提供,后端和前端都要使用。
2025-01-15 16:52:24
911
原创 苍穹外卖(七) 缓存商品、购物车
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。EHCacheCaffeineRedis(常用)</</</</
2025-01-15 15:06:18
1086
原创 苍穹外卖(六)微信登录、商品浏览
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。发送HTTP请求接收响应数据为什么要在Java程序中发送Http请求?有哪些应用场景呢?当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时。
2025-01-15 10:26:35
973
原创 苍穹外卖(五)店铺营业状态设置
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。**官网:**https://redis.io**中文网:**https://www.redis.net.cn/key-value结构存储:基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。
2025-01-15 10:08:16
847
原创 苍穹外卖(二)员工管理、分类管理
文章目录苍穹外卖-day02课程内容1. 新增员工1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计1.2 代码开发1.2.1 设计DTO类1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层1.3 功能测试1.3.1 接口文档测试1.3.2 前后端联调测试1.4 代码完善1.4.1 问题一1.4.2 问题二1.4.3 ThreadLocal1.5 代码提交2. 员工分页查询2.1 需求分析和设计2.1.
2025-01-14 09:14:00
672
原创 苍穹外卖(一)项目概述、环境搭建
作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色分工、软件环境 三个方面整体介绍一下软件开发。在开发苍穹外卖这个项目之前,我们需要全方位的来介绍一下当前我们学习的这个项目。接下来,我们将从项目简介、产品原型、技术选型三个方面来介绍苍穹外卖这个项目。
2025-01-13 10:38:22
1965
原创 标识符的命名规则和规范
从概念或叫法上看: 成员变量 = 属性 = field(字段) (即 成员变量是用来表示属性的,授课中,统一叫 属性)。属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。比如我们前面定义猫类 的 int age 就是属性。关系:在Java编程中,属性(attributes)通常指的是成员变量(member variables)。它们是在类中定义的变量,用于存储对象的状态或数据。成员变量可以是任何数据类型,包括基本数据类型(如intfloatboolean。
2025-01-09 14:00:34
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人