【JAVASE】带你了解instanceof和equals的魅力

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 1.instanceof instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型 解释一下: 这里说明下: 类的实例包含本身的实例,以及所有直接或间接子类的实例 instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误 instanceof 关键词官方介绍:https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.20.2 来个案例看看: 给三个类 ~ 代码: public interface A { } public class B implements A{ } public class C extends B{ } 代码测试案例: public class InstanceofTest3 { public static void main(String[] args) { A a = null; boolean result; result = a instanceof A; System.out.println(result); // 结果:false null用instanceof跟任何类型比较时都是false a = new B(); b = new B(); result = a instanceof A; System.

解决 macOS 系统向日葵远程控制鼠标、键盘无法点击的问题

解决 macOS 系统向日葵远程控制鼠标\键盘无法点击的问题 1、首先正常配置,在系统偏好设置 - 安全性与隐私内,将屏幕录制、文件和文件夹、完全的磁盘访问权限、辅助功能全部都加入向日葵客户端 2、通过打开的文件访达,使用command + shift + G快捷键,输入 /Applications/SunloginClient.app/Contents/Helpers/SunloginClient_Desktop,找到它,并点击打开 确保向日葵和该程序均选中后,点按锁按钮以进行更改 然后重启向日葵远程控制客户端,再次连接,鼠标就可以进行操作了

hive报错org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.

hive初始化元数据失败 使用schematool -dbType mysql --initSchema --verbose也无错误。 还是元数据库有问题 1.检查MySQL是否启动成功 systemctl status mysqld,没有问题 2.检查Hive-site.xml文件是否有错误,尤其是关于metastore相关内容,无误。 3.检查root是否有权限访问,无误 4.突然反应过来主机名应与jdbc的一致。啊啊啊啊啊啊,要疯了。

【实测可用】Sublime Text4 4169 mac/windows 破解注册 20240417 实测可用

官网下载Sublime Text4 官网地址:https://www.sublimetext.com/ 点击下载即可 不用安装,可以直接使用。 MAC 破解注册 修改可执行文件sublime_text 打开网站https://hexed.it/。找到sublime所在目录,比如我这里是:/Users/xxx/soft/Sublime Text.app/Contents/MacOS。将原本的sublime_text重命名为sublime_text_bak,这步是做备份,避免操作失误导致发生意外。然后将sublime_text_bak拖到打开的https://hexed.it/的窗口。command+f 打开搜索,勾选替换功能。在搜索框中输入 807805000f94c1 替换为 c64005014885c9,注意别带空格。 替换完成后,点击另存为,将修改后的文件保存到原来的目录,并命名为sublime_text。增加执行权限,chmod +x sublime_text。回到sublime的安装目录,比如我这里是:/Users/xxx/soft/,打开终端,执行codesign --remove-signature Sublime\ Text.app/即可使用。 Windows的方式 Windows和mac类似,破解的重点是修改可执行文件的16进制编码。 Windows参考mac的步骤即可,操作目标换成sublime_text.exe这个文件,Windows下不需要第7、8步。

Spring boot微服务分布式框架Rouyi Cloud权限认证

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作 Java基础篇Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中 Springboot篇从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档 Spring MVC篇从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回 华为云服务器实战华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等 Java爬虫通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等 Vue实战讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等 Spring讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等 Spring boot框架若依RouYi Cloud专栏回顾 专栏导航描述Spring boot框架Rouyi Cloud- -rouyi-ui Node版本过大导致项目启动报错95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope routines::unsupportedSpring boot框架Rouyi Cloud- -token源码分析 前言 上一章节讲解了Spring Cloud框架Rouyi Cloud的环境部署安装,以及安装过程中遇到的一些问题(后端问题在Springboot、微服务中都有解决方法,所以重点只提了前端的一些问题)。 今天我们来讲解下整个框架的入口,登录流程之token解析。 系统罗列 今天只展示登录鉴权这一块,我们需要用到的系统模块如下: 用户访问的Web前端系统:rouyi-ui网关系统:rouyi-gateway授权业务系统:rouyi-auth 1、Web前端系统:rouyi-ui 在Idea里打开Terminal(中文版是终端),输入命令: npm run dev 1.2、访问前端页面 访问前端页面,由于没有登录(token)信息,会直接跳转到登录界面。 这里没有启动后台系统,获取验证码接口失败。 1.3、解析前端登录接口 前端登录接口:login( http://localhost/dev-api/auth/login) 验证码接口:code( http://localhost/dev-api/code) 1.3.1、解析地址 http://localhost/dev-api/auth/login localhost 补全:localhost:80,对应上rouyi-ui的80端口 dev-api/auth/login,我们带上问题继续看下去 1.3.2、配置路径 可以看到rouyi-ui前端系统,为不同环境配置了访问路径前缀。

nginx怎么设置拦截请求

Nginx 设置拦截请求可以通过多种方式实现,具体取决于您想要拦截的请求类型、条件以及拦截后的处理方式。以下是几种常见的拦截请求场景及其配置方法: 1. 基于IP地址的拦截 可以使用 allow 和 deny 指令来允许或拒绝特定IP地址或IP段的访问。通常放在 http, server, 或 location块中。示例配置如下: http { ... include mime.types; default_type application/octet-stream; # 全局禁止指定IP deny 1.2.3.4; # 单个IP deny 1.2.3.0/24; # 整个C类子网 allow all; # 允许其他所有IP(注意顺序:先deny后allow) server { listen 80; server_name example.com; # 仅针对特定server块禁止IP # deny 1.2.3.4; # allow all; ... } } 注意:allow 和 deny的顺序很重要,先匹配的规则会被应用。 通常将更具体的规则(如单个IP)放在前面,更宽泛的规则(如allow all)放在后面。最后一条生效的规则决定了是否允许访问。 2.基于URL路径的拦截 • 使用 location 块来匹配特定URL路径,并在其内部设置拦截规则。 例如,阻止访问某个目录下的所有.htaccess文件: server { ... location ~ /\.htaccess { deny all; } } 3.

电脑上下载配置Flutter Sdk(所有版本方法都一样)

电脑上下载配置Flutter Sdk,所有版本方法都一样,均可通过以下三步来配置好。 电脑上下载配置Flutter Sdk视频详解: 17 Flutter介绍-Flutter Windows Android环境搭建 真机调试 1 、下载 Flutter SDK https://flutter.dev/docs/development/tools/sdk/releases#windows 2 、把下载好的 Flutter SDK 随便减压到你想安装 Sdk 的目录 如减压到 ( F:\flutter_windows\flutter_windows_3.0.4\flutter ) 3、把 Flutter安装目录的bin目录配置到环境变量 如上图所示需要把 F:\flutter_windows\flutter_windows_3.0.4\flutter\bin 目录配置到 path 环境变量里 面 windows7 : windows10、windows11:

优雅强大的前端管理模板——Soybean Admin

公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注! 每天3分钟开源 hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下: 仓库名:soybeanjs/soybean-admin 项目名:soybean-admin 开源地址:https://github.com/soybeanjs/soybean-admin 主要语言: TypeScript stars数量:7182 forks数量:1348 开源协议:MIT License 一句话介绍 这是一个优雅、美观且功能强大的后台管理模板,基于最新的前端技术栈开发。 详细描述 Soybean Admin是一款干净、优雅、美观且功能强大的后台管理模板,它基于最新的前端技术栈,包括 Vue3、Vite5、TypeScript、Pinia 和 UnoCSS。 它内置了丰富的主题配置和组件,严格的代码规范,以及自动的文件路由系统。 此外,它还使用了基于 ApiFox 的在线模拟数据解决方案。Soybean Admin为您提供了一站式的管理解决方案,无需额外配置,开箱即用。 具体功能 使用最新热门技术栈,如 Vue3、Vite5、TypeScript、Pinia 和 UnoCSS的前沿科技应用使用 pnpm monorepo 架构,结构清晰,优雅且易于理解的项目架构遵循 SoybeanJS 规范,整合 eslint、prettier 和 simple-git-hooks 以确保代码规范化的严格代码规范支持严格的类型检查以提高代码可维护性的 TypeScript内置多种主题配置,完美集成 UnoCSS 的丰富主题配置轻松实现多语言支持的内置国际化解决方案自动生成路由导入、声明和类型的自动化文件路由系统支持前端静态路由和后端动态路由的灵活权限路由内置多种页面和组件,包括403、404、500页面,以及布局组件、标签组件、主题配置组件等丰富的页面组件内置高效的命令行工具,如git commit、删除文件、发布等完美支持移动端以实现自适应布局的移动端适应 如何使用 准备环境: 确保你的环境满足以下要求:git、NodeJS (>=18.0.0, 推荐18.19.0或更高版本)、pnpm (>= 8.0.0, 推荐8.14.0或更高版本)克隆项目: git clone https://github.com/soybeanjs/soybean-admin.git安装依赖: pnpm i(本项目使用 pnpm monorepo 管理方法,请不要使用 npm 或 yarn 来安装依赖)启动项目: pnpm dev构建项目: pnpm build 这是一个完全开源且免费的项目,帮助开发者更方便地开发中大型管理系统,也提供 WeChat 和 QQ 交流群。如果你有任何问题,欢迎在群里提问。

MySQL数据库报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket

在安装或配置MySQL数据库时,ERROR 2002 (HY000)是一个常见的错误,这可能会阻碍数据库的正常使用。这个错误提示MySQL客户端无法连接到数据库服务器,通常表现为: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 本文将深入探讨这个错误的原因、诊断方法以及详细的解决步骤,帮助你快速恢复MySQL数据库的正常运行。 错误原因 ERROR 2002 (HY000)可能由以下几个原因引起: MySQL服务未启动:最常见的原因是MySQL服务没有运行。Socket文件丢失:客户端通过socket文件连接服务器时,如果这个文件丢失或损坏,也会导致这个错误。权限问题:如果当前用户没有权限访问MySQL的socket文件,同样会遇到这个错误。配置错误:my.cnf配置文件中的socket路径配置错误。 诊断步骤 检查MySQL服务状态: 使用命令sudo systemctl status mysql或sudo systemctl status mysqld检查MySQL服务是否运行。 确认Socket文件存在: 检查/var/lib/mysql/mysql.sock文件是否存在。路径可能因安装方式或系统而异。 检查权限: 确保你有权限访问mysql.sock文件。 验证配置文件: 检查my.cnf(位于/etc/mysql/my.cnf或/etc/my.cnf),确保socket路径配置正确。 解决方案 服务未启动 启动MySQL服务:sudo systemctl start mysql 或sudo systemctl start mysqld Socket文件问题 重启MySQL服务: 有时重启服务可以重新创建socket文件。sudo systemctl restart mysql 权限问题 调整权限: 确保当前用户或MySQL服务的运行用户有权限访问socket文件。 配置错误 修改my.cnf: 如果socket文件的路径配置错误,编辑配置文件,将socket项设置为正确的路径。 预防措施 定期检查MySQL服务状态:确保MySQL服务正常运行。备份配置文件:在进行重要更改前备份my.cnf文件。监控日志文件:定期检查MySQL的日志文件,了解潜在的错误和警告。 通过仔细遵循这些诊断和解决步骤,大多数ERROR 2002 (HY000)错误都可以被有效解决。对于运维人员而言,了解如何快速定位并解决此类问题是保证数据库稳定运行的关键。

Oracle 查询结果只获取一行数据

在 Oracle 数据库中,如果你想从查询结果中只获取一行数据,你可以使用如下几种方法: 1、LIMIT 关键字: Oracle 不支持 LIMIT 关键字,但可以通过 ROWNUM 来实现类似功能。不过由于 ROWNUM 是在查询结果生成后才进行分配,所以需要配合子查询使用: SELECT * FROM ( SELECT * FROM your_table ORDER BY some_column -- 需要有一个排序条件 ) WHERE ROWNUM = 1; 这将返回按照 some_column 排序后的第一条记录。 2、FETCH FIRST ROW ONLY: 自 Oracle 12c 起,Oracle 引入了 FETCH 语句来更方便地限制查询结果的数量: SELECT * FROM your_table ORDER BY some_column FETCH FIRST 1 ROW ONLY; 3、TOP-N 查询: 如果你知道特定的主键或者唯一标识列,可以直接通过 WHERE 条件来查询: SELECT * FROM your_table WHERE id = (SELECT MIN(id) FROM your_table); 这将返回 ID 最小的那条记录。

iOS 审核 5月1日开始 Privacy manifest files 【隐私清单】

If you upload an app to App Store Connect that uses required reason API without describing the reason in its privacy manifest file, Apple sends you an email reminding you to add the reason to the app’s privacy manifest. Starting May 1, 2024, apps that don’t describe their use of required reason API in their privacy manifest file aren’t accepted by App Store Connect. 如果你上传到app Store Connect的应用程序使用了必要的原因API,而没有在其隐私清单文件中描述原因,苹果会向你发送电子邮件,提醒你将原因添加到应用程序的隐私清单中。从2024年5月1日开始,未在其隐私清单文件中描述其使用所需原因API的应用程序将不被App Store Connect接受。

消息队列之RabbitMQ的安装配置

一,前言 RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。点击跳转RabbitMQ官方地址 RabbitMQ提供了6种模式: 简单模式,work模式 ,Publish/Subscribe发布与订阅模式,Routing路由模式,Topics主题模式,RPC远程调用模式(远程调用,不太算MQ;暂不作介绍) 点击跳转官网对应模式介绍 2007年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。RabbitMQ 采用 Erlang 语言开发。Erlang 语言由 Ericson 设计,专门为开发高并发和分布式系统的一种语言,在电信领域使用广泛。 RabbitMQ 基础架构如下图: RabbitMQ 中的相关概念 Broker:接收和分发消息的应用,RabbitMQ Server就是 Message Broker Virtual host:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个vhost,每个用户在自己的 vhost 创建exchange/queue 等。 Connection:publisher/consumer 和 broker 之间的 TCP 连接。 Channel:如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立 TCP Connection的开销将是巨大的,效率也较低。Channel 是在 connection 内部建立的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的 channel 进行通讯,AMQP method 包含了channel id 帮助客户端和message broker 识别 channel,所以 channel 之间是完全隔离的。Channel 作为轻量级的 Connection 极大减少了操作系统建立 TCP connection 的开销。

从MySQL5.7平滑升级到MySQL8.0的最佳实践分享

一、前言 升级需求:将5.7.35升级到8.0.27, 升级方式 in-place升级【关闭现有版本MySQL,将二进制或包替换成新版本并在现有数据目录上启动MySQL并执行升级任务的方式,称为in-place升级】 原版本 5.7.35 CentOS Linux release 7.9.2009 新版本 8.0.27 CentOS Linux release 7.9.2009 二、Mysql 生命周期 以下Mysql 生命周期-内容来自于互联网 关于数据库版本升级,一直都是热议话题,对于升级的缘由各家也有所不同,有业务驱动的,有DBA自发驱动的,有规划导向也有方向指引的……抛开各种原因,当升级这个决定落下来的时候,对于DBA手头的几百几千套数据库来说,就好比是一场动物大迁徙,满满的画面感。 从Oracle发布的版本生命周期规划可以看到,Mysql5.7已经走到了生命周期的终点,意味着后续将不再为Mysql5.7提供官方更新、错误修复或安全补丁。 阿里云和AWS都在官方公布了版本支持计划,Mysql5.7版本已经开始了倒计时。 三、MySQL8.0的新特性 默认字符集由latin1变为utf8mb4。 MyISAM系统表全部换成InnoDB表。 JSON特性增强。 支持不可见索引,支持直方图。 sql_mode参数默认值变化。 默认密码策略变更。 新增角色管理。 支持窗口函数,支持Hash join。 四、升级建议 支持从MySQL5.7升级到MySQL8.0,注意仅支持GA版本之间的升级。 不支持跨大版本的升级,如从5.6升级到8.0是不支持的。 建议升级大版本前先升级到当前版本的最近小版本,如5.7先升级到5.7.35后再升级到8.0。 做好充足的备份!数据无价!!! 五、升级前准备 5.1 Mysql-shell 检查工具兼容性 在执行升级操作前需要做一些检查工作,确认准备工作是否就绪,避免升级过程中出现异常。可以使用MySQL Shell使用util.checkForServerUpgrade进行检查,返回内容包括不符合迁移要求的问题,error的问题需要迁移前修改。 Mysql-shell 下载地址:https://dev.mysql.com/downloads/shell/ 这里我们选择8027版本 然后上传文件至5.7.35的机器/root目录下 [root@localhost ~]# tar -xf mysql-shell-8.0.27-linux-glibc2.12-x86-64bit.tar.gz [root@localhost ~]# cd mysql-shell-8.0.27-linux-glibc2.12-x86-64bit/bin/ [root@localhost bin]# ./mysqlsh -uroot -p -S /tmp/mysql.sock -e "util.checkForServerUpgrade()" > util.checkForServerUpgrade.log 从输出报告可以看出,升级检查器在23个方面进行了检查,最终得出4个警告信息和1个提示。

Kafka—ISR机制

ISR机制 Kafka 中的 ISR(In-Sync Replicas)机制是一种用于确保数据可靠性和一致性的重要机制。ISR 是一组副本,它包括分区的领导者(Leader)和追随者(Follower)副本,这些副本与领导者保持数据同步。 ISR 关键概念 领导者和追随者:每个分区有一个领导者和零个或多个追随者。领导者负责处理客户端的写请求,而追随者主要用于数据复制。 ISR 集合:ISR 集合是分区领导者的一组追随者副本,它们与领导者保持数据同步。只有在 ISR 集合中的追随者副本可以参与数据的写入和读取操作。 数据复制:领导者将消息写入其本地日志,并定期将这些消息发送给 ISR 集合中的追随者。追随者接收消息后,将其写入本地日志,以保持数据同步。 Leader Epoch 和 Log Start Offset:ISR 集合中的每个追随者都维护了领导者的日志信息,包括领导者的 Leader Epoch 和 Log Start Offset。这些信息用于确保数据的正确复制和同步。 数据一致性:只有在 ISR 集合中的所有追随者都成功复制了一条消息后,领导者才会将该消息标记为已提交,确保数据的一致性。 故障处理:如果某个追随者发生故障或者追赶进度过慢,那么该追随者可能会被从 ISR 集合中移除。这有助于保持数据的可靠性和避免影响性能。 其中,需要注意的的概念: 分区中的所有副本统称为AR(Assigned Replicas)。 所有Leader副本加上和Leader副本保持同步的Follower副本组成ISR(In-Sync Replicas)。 所有没有保持同步的Follower副本组成OSR(Out-of-Sync Replicas)。 AR = ISR + OSR。正常情况下,所有Follower副本都应该和Leader副本一致,即AR=ISR。 当Leader故障时,在ISR集合中的Follower才有资格被选举为新的Leader。 HW和LEO 在 Kafka 中,HW(High Watermark)和 LEO(Log End Offset)是与数据复制和消费有关的两个重要概念。 HW(High Watermark):HW 是指在分区中,已经被所有追随者(Follower)副本复制的消息的位置。HW 是每个分区的属性,它表示已经提交的消息。只有在 HW 之前的消息才被认为是已经提交的,这些消息已经被写入分区的所有追随者副本,并且被认为是安全的,不会丢失。HW 是为了确保数据一致性和可靠性而引入的。 LEO(Log End Offset):LEO 是指在分区中当前最新消息的位置。LEO 表示分区日志中的最后一条消息的偏移量。LEO 包括已经被写入但尚未被所有追随者副本复制的消息,以及正在等待被写入的消息。LEO 是一个动态的属性,它会随着新消息的写入而逐渐增加。

篮球竞赛|基于Springboot的篮球竞赛预约平台系统设计与实现(源码+数据库+文档)

篮球竞赛预约平台目录 基于Springboot的篮球竞赛预约平台系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台: 2、后台 管理员功能 用户功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。 🍅文末获取源码联系🍅 基于Springboot的篮球竞赛预约平台系统设计与实现 一、前言 本篮球竞赛预约平台以springboot作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能,通过这些功能的实现基本能够满足日常篮球竞赛预约管理的操作。 本文着重阐述了篮球竞赛预约平台的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计,接着说明功能模块的详细实现,最后进行了总结。 关键词:篮球竞赛预约; springboot;MySql数据库;Tomcat; 二、系统设计 系统功能结构如图 三、系统功能设计 1、前台: 篮球竞赛预约平台,用户进入到平台首页,可以查看首页,竞赛项目,平台公告,个人中心,后台管理等内容进行操作,如图4-1所示。 图4-1平台首页界面图 用户注册;在用户注册页面中输入用户账号,密码,确认密码,用户姓名,年龄,用户手机,身高,体重等内容进行用户注册操作;如图4-2所示。 图4-2用户注册界面图 竞赛项目;在竞赛项目页面中可以查看赛事名称,赛事编号,项目分类,比赛模式,赛事要求,比赛时间,比赛地点,比赛详情、封面等内容;并进行赛事预约,评论,收藏操作;如图4-3所示。 图4-3竞赛项目界面图 平台公告;在平台公告页面中可以查看标题,图片、内容等内容,如图4-4所示。 图4-4平台公告界面图 个人中心;在个人中心页面中输入用户账号,密码,用户姓名,性别,年龄,上传图片,用户手机,身高,体重等内容进行更新信息,并可以根据需要对我的收藏进行详细的操作管理,如图4-5所示。 图4-5个人中心界面图 2、后台 后台用户登录,通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作,如图4-6所示。 图4-6后台登录界面图 管理员功能 管理员登录进入篮球竞赛预约平台可以查看首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能进行详细操作,如图4-7所示。 图4-7管理员功能界面图 用户管理;在用户管理页面中可以查看索引,用户账号,用户姓名,性别,年龄,头像,用户手机,身高,体重等内容,并进行详情,修改和删除等操作;如图4-8所示。 图4-8用户管理界面图 项目分类管理;在项目分类管理页面中可以查看索引,项目分类等内容,并进行修改和删除等操作;如图4-9所示。 图4-9项目分类管理界面图 竞赛项目管理;在竞赛项目管理页面中可以查看索引,赛事编号,赛事名称,项目分类,比赛模式,比赛要求,比赛时间,封面,比赛地点等内容,并进行详情,修改和删除等操作;如图4-1所示。 图4-10竞赛项目管理界面图 赛事预约管理;在赛事预约管理页面中可以查看索引,赛事编号,赛事名称,项目分类,比赛模式,比赛地点,比赛时间,用户账号,用户姓名,性别,年龄,身高,体重,用户手机,预约时间,备注,审核回复,审核状态,审核等内容,并进行详情,查看评论,修改和删除等操作;如图4-11所示。 图4-11赛事预约管理界面图 系统管理;在平台公告页面中可以查看索引,标题,图片等内容,并进行详情,修改和删除等操作;还可对轮播图管理进行详细操作;如图4-12所示。 图4-12系统管理界面图 用户功能 用户登录进入篮球竞赛预约平台可以查看首页,个人中心,赛事预约管理等功能进行详细操作,如图4-13所示。 图4-13用户功能界面图 个人中心;在个人中心页面通过填写用户账号,用户姓名,性别,年龄,头像,用户手机,身高,体重等内容进行个人信息修改操作;如图4-14所示。 图4-14个人中心界面图 赛事预约管理;在赛事预约管理页面中可以查看索引,赛事编号,赛事名称,项目分类,比赛模式,比赛地点,比赛时间,用户账号,用户姓名,性别,年龄,身高,体重,用户手机,预约时间,备注,审核回复,审核状态等内容,并进行详情,删除等操作;如图4-15所示。 图4-15赛事预约管理界面图 四、数据库设计 (1) 用户注册实体属性图如下所示: (2) 竞赛项目实体属性图如下所示: 数据库表的设计,如下表: 表4-1:token表 字段名称 类型

ADB操作命令详解及用法大全:全面掌握Android设备管理利器

引言 Android Debug Bridge (ADB) 是每一位Android开发者、测试工程师乃至普通用户在管理、调试、自动化控制Android设备时不可或缺的工具。它充当了PC与Android设备之间的桥梁,通过命令行接口提供了一整套功能强大的操作指令,使得我们能够在电脑上高效地对连接的设备进行应用程序安装、卸载、数据管理、系统调试等诸多任务。本文旨在为您呈现一份详尽的ADB操作命令详解及用法大全,助您全面掌握这一关键工具。 一、ADB基础与环境设置 1. ADB简介 ADB是Google提供的一个跨平台命令行工具,适用于Windows、macOS和Linux操作系统。它通过USB或Wi-Fi与Android设备建立连接,实现对设备的远程控制与交互。无论是开发阶段的应用调试、生产环境下的大规模设备管理,还是日常使用中的数据迁移、故障排查,ADB都能发挥重要作用。 2. 安装与配置 确保您的开发环境中已安装了Android SDK(包含ADB)。如果您使用的是单独的ADB工具,请将其路径添加至系统的PATH环境变量中,以便在任何目录下直接调用adb命令。检查ADB是否安装成功及版本信息,可运行: 1adb version 二、基本ADB命令与设备管理 1. 列出已连接设备 使用以下命令查看当前连接到电脑的所有Android设备(包括物理设备和模拟器)及其状态: 1adb devices 输出将显示设备的序列号(Serial Number)以及其在线状态(device或offline)。 2. 选择目标设备 当有多台设备连接时,可通过以下方式指定操作的目标设备: 使用-d选项指定当前唯一通过USB连接的设备: 1adb -d <command> 使用-e选项指定当前唯一运行的模拟器: 1adb -e <command> 使用-s选项并跟随设备序列号指定特定设备: 1adb -s <serial_number> <command> 三、核心ADB操作命令详解 1. 安装应用 将APK文件安装到设备上: 1adb install /path/to/your/app.apk 命令执行后会反馈安装结果,包括成功(Success)或失败原因(INSTALL_FAILED_ALREADY_EXISTS等)。 2. 卸载应用 通过包名卸载已安装的应用: 1adb uninstall com.example.app.package 3. 应用管理 清除应用数据(相当于重置应用): 1adb shell pm clear com.example.app.package 强制停止应用: 1adb shell am force-stop com.example.app.package 4. 文件操作 推送文件到设备:

【Ambari】Ansible自动化部署大数据集群

目录 一.版本说明和介绍信息 1.1 大数据组件版本 1.2 Apache Components 1.3 Databases支持版本 二.安装包上传和说明 三.服务器基础环境配置 3.1global配置修改 3.2主机名映射配置 3.3免密用户名密码配置 3.4 ansible安装 四. 安装Ambari-server 4.1 安装ambari-server 4.2 检查REPO源 五、HDP 安装 Get Started Select Version Install Options Confirm Hosts Choose Services Assign Masters Assign Slaves and Clients Customize Services CREDENTIALS DATABASES DIRECTORIES ACCOUNTS ALL CONFIGURATIONS Review 六、开启Kerberos 6.1 kerberos服务检查 6.2 Ambari启动kerberos Get Started Configure Kerberos Install and Test Kerberos Client Configure Identities Confirm Configuration Stop Services

Android:手把手带你入门跨平台UI开发框架Flutter,看完这篇

特别注意: JIT 和 AOT指的是程序运行方式,和编程语言并非强关联的。 有些语言可以以JIT方式 & AOT方式一起运行,如Java,它可在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码 通常区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT Dart语言的特点 Dart语言具备开发效率高、高性能 & 类型安全的特点 具体如下: 3. 原理解析 3.1 框架结构 Flutter框架主要分为两层:FrameWork层、Engine层,如下图所示: 说明:开发时,主要基于Framework层;运行时,则是运行在 Engine上。每层的具体介绍如下: 3.2 原理概述 开发时,主要基于Framework层;运行时,则是运行在 Engine上 Engine是Flutter的独立虚拟机,由它适配 & 提供跨平台支持;因为其存在,Flutter不使用移动端系统的原生控件, 而是使用自己 Engine 来绘制 Widget (Flutter的显示单元);Dart 代码是通过 AOT 编译为平台的原生代码,所以 Flutter可直接与平台通信,不需要JS引擎的桥接。 同时 Flutter 唯一要求系统提供的是 canvas,以实现UI的绘制。 编译时,具体如下: 3.3 关于widget Flutter理念:“一切皆为Widget”,Widget是Flutter应用程序用户界面的基本构建块,具备以下特点: 属于具有一致性的统一对象模型,与其他将视图、控制器、布局和其他属性分离的框架不同。更新widget时更加高效 不可变的,仅支持一帧,且每一帧上不会直接更新,要更新而必须使用Widget的状态。无状态和有状态Widget 的核心特性相同,每一帧都会重新构建; 有一个State对象,用于跨帧存储状态数据 & 恢复 4. 特点 Flutter具备跨平台、开发效率高 & 高性能的特点 具体说明如下: 4.1 跨平台 & 开发效率高 Flutter通过使用上述所述的自身渲染引擎、原理框架 & Widget运行,使用一套代码即可同时构建iOS和Android应用,从而实现跨平台的特性,最终提高开发的效率 4.2 高性能 原因1:通过其自带的高性能渲染引擎进行渲染 原因2:Dart语言本身的语言特性 原因3:编译过程特点,具体如下: 5. 对比 跨平台开发的本质是为了:增加代码复用、减少不同平台差异适配的工作量 & 提高开发效率。

Spring AI 来了,打造Java生态大模型应用开发新框架!

▼最近直播超级多,预约保你有收获 尽管 Python 长期主导 AI 大模型应用开发领域,但 Java 并未熄火!Spring AI 来了,正式告别实验期,迈向广泛应用新阶段!这意味着 Spring 生态体系的广大开发者,迎来 AI 大模型应用开发的新里程。 —1— Spring AI 开发框架设计理念 Spring AI 是一个 AI 工程师的应用框架,它提供了一个友好的 API 和开发 AI 应用的抽象,旨在简化 AI 大模型应用的开发工作。 Spring AI 吸取了知名 Python 项目的精髓,比如:LangChain 和 LlamaIndex。Spring AI 是基于这样一个理念创立的:未来的 AI 大模型应用将不仅限于 Python 开发者,而且会普及到多种编程语言中。Spring AI 的核心是提供了开发 AI 大模型应用所需的基本抽象模型,这些抽象拥有多种实现方式,使得开发者可以用很少的代码改动就能实现组件的轻松替换。 Spring AI 主要功能特性如下: 第一、对主流 AI 大模型供应商提供了支持,比如:OpenAI、Microsoft、Amazon、Google HuggingFace、Ollama、MistralAI 支持,目前对国内大模型支持还不友好。 第二、支持 AI 大模型类型包括:聊天、文本到图像、文本到声音,比如:OpenAI with DALL-E、StabilityAI 等。 第三、支持主流的 Embedding Model 和向量数据库,比如:Azure Vector Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Redis 等。 第四、把 AI 大模型输出映射到简单的 Java 对象(POJOs)上。