自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java-常见面试题收集(十九)

在MySQL查询优化中,最左匹配原则(Most Left Prefix Rule)是一个重要的概念,特别是在使用复合索引(即包含多个列的索引)时。它指的是在MySQL利用复合索引进行查询时,会按照索引中列的顺序从左到右进行匹配,直到遇到范围查询(如>、<、BETWEEN、LIKE 'pattern%'等)为止,之后的列将不会被索引继续利用。复合索引示例。

2024-07-11 16:06:44 798

原创 Java研学-Shiro安全框架(四)

Shiro提供认证授权功能,所以SpringBoot中不需再编写自定义注解,权限拦截,登录拦截,登录登出。Shiro 环境中有三个封装对象Subject ,SecurityManager和Realms,SpringBoot 集成 Shiro 时需要配置相对应的Bean(Subject 不用)

2024-07-11 09:19:17 935

原创 开源大势所趋

综上所述,开源项目的发展趋势为技术创新和生态系统建设提供了强大动力,而参与开源项目则为开发者带来了技能提升、团队协作、文化传承、影响力扩大以及终身学习的宝贵机会。:开源社区作为技术创新的重要源泉,通过共享代码、讨论问题和提出改进建议,加速了技术的迭代和创新。在参与项目的过程中,开发者将学会如何进行有效的团队协作和沟通,并有机会通过承担领导角色或参与项目决策来培养自己的领导力。通过解决实际问题,开发者能够提升自己的编程能力和问题解决能力,并深入了解技术的实现细节和内部机制。

2024-07-10 14:41:16 465

原创 从“技术驱动”向“应用驱动”

李彦宏在2024世界人工智能大会上的发言深刻揭示了当前AI技术发展的核心趋势与方向,强调了从“技术驱动”向“应用驱动”转变的重要性,这一观点极具前瞻性和实践指导意义。

2024-07-10 09:07:50 332

原创 AI对开发者的帮助

综上所述,生成式人工智能(AIGC)在软件开发领域正在帮助开发者提高效率和质量,并引发了对开发者职业前景和技能需求变化的讨论。然而,AI并不会完全取代开发者,而是与开发者相辅相成,共同推动软件行业的进步和发展。在面对复杂的开发任务时,开发者的专业知识和经验仍然至关重要。AI工具提高了开发效率和质量,而开发者则通过其创造力和判断力来指导AI工具的使用,并不断优化和改进软件产品。随着AI工具的普及,开发者需要掌握与AI协同工作的技能,包括理解AI的工作原理、使用AI工具进行代码生成和错误检测等。

2024-07-09 09:32:22 293

原创 IT专业入门,高考假期预习指南

内容概述:计算机科学导论是IT专业的入门课程,主要介绍计算机科学的基本概念、发展历程、计算模型、算法与数据结构基础等。预习建议:阅读相关教材或在线课程,了解计算机的发展史、二进制与编码、计算机硬件组成、操作系统概述等内容。尝试理解算法的基本思想,如排序、搜索等。

2024-07-09 09:19:46 581 2

原创 我的创作纪念日(二)

我的Java创作之旅始于大学时期的一门课程。当时,我被Java语言的强大功能和广泛的应用领域所吸引。在学习过程中,我通过解决编程作业和项目挑战,逐渐积累了实战经验。为了更好地理解和应用Java,我开始撰写博客文章,记录自己的学习心得和解决方案。这一举动不仅加深了我对Java的理解,还让我意识到分享知识的重要性。

2024-07-08 10:27:41 318

原创 Java研学-Shiro安全框架(三)

如何实现项目中密码加密(这里我们采用的是 MD5 加密)的功能:1.添加用户的时候,对用户的密码进行加密;2. 登录时,按照相同的算法对表单提交的密码进行加密然后再和数据库中的加密过的数据进行匹配MD5 加密特点:属于不可逆的加密算法(只能从明文→密文,Shiro 中已经集成了MD5,直接使用即可),如果MD5 加密的数据一样,那么无论在什么时候加密的结果都是一样的,所以,相对来说还是不够安全,因此需要加盐。盐一般要求是固定长度的字符串,且每个用户的盐不同。

2024-07-08 10:26:58 708

原创 Java-常见面试题收集(十八)

查看当前进程:ps执行退出:exit查看当前路径:pwd。

2024-06-27 08:55:08 784

原创 Java研学-Shiro安全框架(二)

① 模拟数据库mapper//用户集合//角色集合//权限集合static{//初始化用户数据//提供静态方法,模拟数据库返回数据② UserRealm 中为鉴权提供数据// Realm是数据源 认证授权都只提供数据即可// 授权功能@Override// 获取当前登录用户 登录后(user已在环境中)才进行授权 principals中含有一切信息//获取在 doGetAuthenticationInfo 中存放在上下文中的对象。

2024-06-27 08:34:48 268

原创 AI新纪元-GPT-5

GPT-5的发布将开启AI技术的新纪元。面对这一变革,我们需要以开放的心态和积极的态度去面对和拥抱它。同时,我们也需要关注并解决它所带来的挑战和问题,确保AI技术的发展能够为人类社会带来更多的福祉和进步。让我们共同期待并塑造一个更加美好的未来!

2024-06-26 08:53:42 418

原创 AI创作音乐的版权归属

随着科技的飞速发展,人工智能(AI)技术已经渗透到我们生活的方方面面,音乐产业也不例外。最近一个月,音乐大模型的轮番上线,将素人生产音乐的门槛降到了最低,引发了音乐圈会不会被AI彻底颠覆的热烈讨论。然而,在短暂的兴奋过后,人们开始更加理性地审视这些AI产品带来的版权问题,以及创意产业如何在AI的阴影下寻找新的生长点。本文将对这一现象进行深入分析,探讨AI音乐大模型对音乐产业的影响、版权归属问题以及创意产业的应对策略。

2024-06-26 08:49:03 408

原创 Java研学-Shiro安全框架(一)

我们需要使用的账户信息通常来自程序或者数据库中, 而不是前面使用到的 ini 文件的配置,因此要做到想去哪里查,就去那里查。此处使用 DataMapper 作为一组假数据模拟数据库static{//初始化数据//提供静态方法,模拟数据库返回数据实体类@Setter@Getter@ToString//用户名//密码UserRealm// 继承Realm下的接口 实现两个方法 一般来说do开头的方法就是模板设计模式。

2024-06-25 14:46:37 1657

原创 学校or专业:高考后的双重考量

选择一个心仪的专业,对于考生来说,是追求个人兴趣和职业发展的直接体现。每个人的兴趣点不同,有的考生可能对文学、艺术有着浓厚的兴趣,有的则对科学、技术情有独钟。选择一个与自己兴趣相符的专业,不仅能够在学习过程中保持高度的热情和专注,还能够在未来的职业道路上更容易找到自己的定位和价值。同时,专业的选择也直接关系到考生的职业发展。不同的专业对应着不同的职业领域和就业方向。选择一个具有市场前景和发展潜力的专业,对于考生未来的就业和职业发展至关重要。

2024-06-25 14:38:01 434

原创 Java研学-RBAC权限控制(八)

判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能。

2024-06-24 11:06:38 955

原创 2024还选计算机

从当前市场需求和就业趋势来看,计算机相关专业仍然具有较大的吸引力。这些专业所涵盖的技能和知识在现代社会中具有广泛的应用场景,如软件开发、数据分析、网络安全等。因此,选择计算机相关专业可以为未来的职业发展提供多元化的选择。然而,是否将计算机相关专业视为“万金油”选择,还需考虑个人兴趣和职业规划。如果考生对计算机领域有浓厚的兴趣,并希望在该领域深入发展,那么选择计算机相关专业是明智的。但如果考生对计算机并不感兴趣,或者希望在未来从事与计算机无关的领域,那么选择其他专业可能更为合适。

2024-06-24 11:06:01 401

原创 Java研学-RBAC权限控制(七)

是一个基于 Bootstrap 的表单验证插件,它可以帮助开发者更方便地进行表单验证,提高用户体验。① 引入插件。

2024-05-24 15:21:31 810

原创 Java-常见面试题收集(十七)

spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。

2024-05-23 19:15:40 586

原创 Java-常见面试题收集(十六)

消息队列,简称 MQ(Message Queue),它其实就指消息中间件,当前业界比较流行的开源消息中间件包括:RabbitMQ、RocketMQ、Kafka。(一个使用队列来通信的组件)它的本质,就是个转发器,包含发消息、存消息、消费消息的过程。

2024-05-23 15:46:08 789

原创 Java-常见面试题收集(十五)

Elasticsearch中的字典树(Trie Tree)或称为前缀树(Prefix Tree)是一种用于处理字符串数据的高效数据结构。特别是在其倒排索引的构建中,字典树发挥了重要作用。其核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有 3 个基本性质:① 根节点不包含字符,除根节点外每一个节点都只包含一个字符。② 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。③ 每个节点的所有子节点包含的字符都不相同。或者用数组来模拟动态。

2024-05-22 19:07:03 536

原创 Java-常见面试题收集(十四)

MongoDB 是一款高性能的 NoSql 数据库,是基于文件存储的数据库,采用BSON 格式来存储数据。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。(在高负载的情况下,通过添加更多的节点,可以保证服务器性能)

2024-05-22 15:08:48 672

原创 Java研学-RBAC权限控制(六)

超级管理员默认拥有所有的角色,所有的权限,当点击超级管理员时,下方的分配角色权限区域应被隐藏。

2024-05-20 15:23:07 383

原创 Java研学-RBAC权限控制(五)

角色和权限是不同的,比如人事部内部可以有更详细的角色划分,人事专员,人事主管,人事总监等。中间表不需使用逆向工程生成实体,需要的时候定义即可。

2024-05-20 15:22:31 997

原创 Java-常见面试题收集(十三)

Redis,全称Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络的、基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它主要用于缓存数据的计算结果、页面内容、数据库查询结果等,以提高数据访问速度和响应速度,从而提升系统性能和用户体验。Redis具有多种应用场景,包括但不限于:缓存:通过缓存热点数据,减少数据库查询次数,提高访问速度。消息队列:实现异步处理和解耦,提高系统的可扩展性和灵活性。

2024-04-14 19:45:46 640

原创 Java研学-RBAC权限控制(四)

权限管理

2024-04-14 18:40:58 809

原创 Java研学-RBAC权限控制(三)

删除分为硬删除(sql语句为delete,直接将数据从数据库中删除)与软删除(sql语句为update,表中含status字段,通过字段的值控制数据的展示,如默认值为1表示有效,改为0表示无效,查询时where条件增加status为1即可),用户确认删除前,应给与一定的提示,防止用户错误删除,这里可以使用。为完成数据回显而不查询数据库(查询数据库会造成性能消耗),我们需要在数据库添加新的字段,将每个对象的所有属性封装到一个字段中,通过get方法获取该字段就能拿到对应对象的所有属性。③ service接口。

2024-04-12 20:53:46 1072

原创 Java-常见面试题收集(十二)

Git、GitHub、Gitee和GitLab都是与版本控制和代码托管相关的工具,但它们在功能和使用上有所不同。Git是一个开源的分布式版本控制系统,主要用于敏捷高效地处理任何或小或大的项目版本管理。它是Linus Torvalds为了帮助管理Linux内核开发而开发的,目的是有效、高速地处理从很小到非常大的项目版本管理。GitHub是一个基于web的版本控制和协作平台,主要用于存储、管理和分享开源代码和项目。

2024-04-12 09:17:03 1002

原创 Java-常见面试题收集(十一)

Activiti是一个开源的工作流引擎,主要用于管理和执行各种业务流程。它提供了一套强大的工具和API,使得设计、部署和执行工作流变得简单高效。Activiti支持各种工作流模式,如串行、并行和条件分支等,可以满足复杂的业务流程需求。Activiti的主要特性包括流程定义和设计、流程部署和管理以及任务分配和执行。它提供了一个图形化的流程设计器,用户可以使用该设计器来创建和定义工作流程。流程定义完成后,可以将其部署到工作流引擎中,并通过Activiti提供的API进行流程的启动、暂停、恢复、终止等操作。

2024-04-11 19:09:56 957

原创 Java研学-RBAC权限控制(二)

PageHelper是 MyBatis 的后端分页插件,将写好的 SQL 语句进行分页加工。无需自己去封装以及关心 SQL 分页等问题。默认情况下会使用 PageHelper 方式进行分页,如果想要实现自己的分页逻辑,可以实现 Dialect(com.github.pagehelper.Dialect) 接口,然后配置该属性为实现类的全限定名称,以下参数都是针对默认 dialect 情况下的参数。使用自定义 dialect 实现时,下面的参数没有任何作用。

2024-04-11 16:07:59 577

原创 Java-常见面试题收集(十)

Spring Profiles是Spring框架中的一个核心功能,它允许开发者根据不同的环境(如开发、测试和生产环境)注册和激活不同的bean。通过使用@Profile注解,开发者可以将bean映射到特定的Profile,然后在不同的环境中激活不同的Profiles,从而仅加载和引导所需的bean。

2024-04-10 19:33:37 663

原创 Java研学-RBAC权限控制(一)

Bootstrap是一个流行的前端框架,由Twitter的开发者创建并维护。它是一套用于开发响应式布局、移动设备优先的WEB项目的工具集。Bootstrap提供了大量的HTML和CSS模板,以及一些可选的JavaScript扩展。这些模板和扩展可以帮助开发者快速构建出常见的网页元素和交互功能,比如导航栏、表格、表单、轮播图等。同时,Bootstrap还内置了一些响应式设计的特性,可以确保网页在不同设备上的显示效果都很好。

2024-04-10 18:57:02 1308

原创 Java-常见面试题收集(九)

IoC,DI 和 AOP。依赖注入(Dependency Injection, DI):这是Spring框架的核心特性之一。它允许在运行时,由外部源(如配置文件、注解或环境变量)决定一个对象所依赖的其他对象。这样,代码与具体的实现解耦,提高了代码的可维护性、可测试性和松耦合性。依赖注入的主要方式有构造函数注入、Setter方法注入和接口注入。控制反转(Inversion of Control, IOC):这是Spring框架的另一大核心思想。它意味着将创建对象的控制权转移给Spring框架进行管理。

2024-03-31 18:32:28 1140

原创 Java研学-SpringBoot(五)

在传统的 XML 方式中,需要在标签中去注册自定义的拦截器。在 Spring Boot 中,提供了 WebMvcConfigurer 配置接口,是使用 JavaConfig 配置 Spring MVC 的标准,如果对 Spring MVC 做配置,则需要自定义配置类实现该接口,若是需要注册拦截器,则实现接口中的 addInterceptors 方法即可。

2024-03-31 16:23:47 1266

原创 Java-常见面试题收集(八)

加载驱动,通过 DriverManager 对象获取连接对象 Connection,通过连接对象获取会话,通过会话进行数据的增删改查封装对象,关闭资源。

2024-03-30 20:37:35 978

原创 Java研学-SpringBoot(四)

spring2.X版本在2023年11月24日停止维护,而Spring3.X版本不支持JDK8,JDK11,最低支持JDK17,目前阿里云还是支持创建Spring2.X版本的项目。

2024-03-30 20:07:49 1301

原创 Java-常见面试题收集(七)

事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,它由一个或多个SQL语句组成,这些语句要么全部执行,要么全部不执行。事务是一个不可分割的工作单位,它确保数据库从一种一致性状态转变到另一种一致性状态。如果在执行事务的过程中发生错误,则可以利用事务管理(Transaction Management)机制将数据库恢复到事务执行前的状态。事务有四个基本特性,通常简称为ACID:原子性(Atomicity):事务是一个原子操作单元,其对数据的修改要么全部执行,要么全都不执行。

2024-03-29 19:30:02 958

原创 Java-常见面试题收集(六)

REST API 使用 HTTP 方法执行操作。一些不修改服务器资源的 HTTP 操作称为安全操作,包括 GET 和 HEAD。另一方面,PUT,POST 和 DELETE 是不安全的,因为它们修改了服务器上的资源。

2024-03-29 09:49:04 808

原创 Java研学-SpringBoot(三)

springboot的自动装配就是从spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给spring容器来帮我们进行管理。核心注解:@SpringBootApplication调用main函数之前会扫描该类上是否有注解,有注解就执行对应的某些功能SpringApplication.run(DemoApplication.class, args);

2024-03-28 19:03:00 1164 1

原创 Java-常见面试题收集(五)

同步阻塞 I/O(BIO):同步阻塞 I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制来改善。BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务端资源要求比较高,并发局限于应用中,在 jdk1.4以前是唯一的 io 现在,但程序直观简单易理解。

2024-03-28 19:02:10 1038

原创 Java-常见面试题收集(四)

线程死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。具体表现为,这些线程相互等待对方释放资源,但由于它们都持有对方所需的资源并不愿释放,导致了一个无解的循环等待状态。在这种情况下,若无外力作用,它们都将无法继续执行,系统因此处于死锁状态。死锁是多线程开发中应该坚决避免和杜绝的问题,因为它会导致程序无法正常终止,严重影响系统的性能和稳定性。线程死锁通常由以下四个必要条件造成:互斥条件:一个资源每次只能被一个线程使用。

2024-03-24 14:08:28 658

空空如也

空空如也

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

TA关注的人

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