自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-05-23 19:15:40 303

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

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

2024-05-23 15:46:08 506

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

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

2024-05-22 19:07:03 303

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

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

2024-05-22 15:08:48 460

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

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

2024-05-20 15:23:07 372

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

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

2024-05-20 15:22:31 976

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

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

2024-04-14 19:45:46 637

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

权限管理

2024-04-14 18:40:58 781

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

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

2024-04-12 20:53:46 1047

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

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

2024-04-12 09:17:03 994

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

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

2024-04-11 19:09:56 930

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

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

2024-04-11 16:07:59 555

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

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

2024-04-10 19:33:37 658

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

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

2024-04-10 18:57:02 1131

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

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

2024-03-31 18:32:28 1135

原创 Java研学-SpringBoot(五)

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

2024-03-31 16:23:47 1241

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

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

2024-03-30 20:37:35 969

原创 Java研学-SpringBoot(四)

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

2024-03-30 20:07:49 1263

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

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

2024-03-29 19:30:02 956

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

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

2024-03-29 09:49:04 797

原创 Java研学-SpringBoot(三)

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

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

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

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

2024-03-28 19:02:10 1034

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

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

2024-03-24 14:08:28 653

原创 Java研学-SpringBoot(二)

① 参数配置在自定义的 properties,XML方式配置Driver--自定义的 properties-->② JavaConfig 方式配置(等同上面的xml配置)+@Value(通过key获取对应的值)从配置文件中获取数据// 生成配置类 自动加载 读取配置文件 获取其中的参数 创建Bean对象@PropertySource("classpath:db.properties")/*替代原来读取外部配置文件的xml语句项目启动自动加载*/

2024-03-24 12:49:00 1267

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

List,Set 接口继承于 Collection 接口Map 没有继承于 Collection 接口。

2024-03-21 19:50:07 706

原创 Java研学-SpringBoot(一)

JavaConfig是Spring项目的一个子项目,在Spring 3.0开始从一个独立的项目并入到Spring中,并在Spring 4后成为核心功能。它提供了配置Spring IoC容器的纯Java方法,有助于避免使用传统的XML配置方式。使用JavaConfig的优点主要体现在以下几个方面:面向对象的配置:由于配置被定义为JavaConfig中的类,用户可以充分利用Java中的面向对象功能,如封装、继承和多态等。

2024-03-21 10:19:46 1417 4

原创 Java研学-Thymeleaf

Thymeleaf是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。在Spring 官方支持模板引擎中,并不包含 JSP,而是 Thymeleaf 和 FreeMarker 等,Thymeleaf 与 Spring Boot 的自动化配置集成适配度很高,几乎没有任何成本,只关注 Thymeleaf 的语法即可。Thymeleaf的原理就是:模板 + 数据模型 = 输出,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由数据模型来处理的。

2024-03-20 09:08:39 663

原创 Java研学-JSON与AJAX

AJAX 不是一项具体的技术,而是几门技术的综合应用。Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。是一种用于创建快速动态网页的技术。

2024-03-20 08:24:01 856

原创 Java研学-jQuery(二)

【代码】Java研学-jQuery(二)

2024-03-18 09:30:20 410

原创 Java研学-jQuery(一)

jQuery1.x.js:jQuery 源文件;学习 jQuery 或者 debug 的时候使用。jQuery1.x.min.js:jQuery 压缩之后的文件;正常项目中使用。jQuery 最常用,最简单选择器,通过元素的 id、class 或标签等查找元素。在网页中,每个 id 名称只能使用一次[0, 1],class 允许重复使用 [0, n]。若想通过 DOM 元素之间的层次关系(DOM结构)来获取特定元素,例如后代元素,子元素, 相邻元素,兄弟元素等,需使用层次选择器。

2024-03-18 09:29:54 925

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

堆。堆是 Java 对象的存储区域,任何用 new 字段分配的 Java 对象实例和数组,都被分配在堆上,Java 堆可使用-Xms -Xmx 进行内存控制,值得一提的是从JDK1.7 版本之后,运行时常量池从方法区移到了堆上。方法区。它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,方法区在 JDK1.7 版本及以前被称为永久代,从 JDK1.8 永久代被移除。虚拟机栈。虚拟机栈中执行每个方法的时候,都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。

2024-03-14 18:41:40 882

原创 Java研学-SSM综合案例(三)

 input.jsp list.jsp2 employee input.jsp list.jsp3 首页 – index.jsp三 Controller 层1 DepartmentController2 EmployeeController四 Service 层1 接口 DepartmentService EmployeeService2 实现类 DepartmentServiceImpl EmployeeServiceImpl五 分页与模糊1 分页实体类 Quer

2024-03-14 11:07:09 715

原创 Java研学-SSM综合案例(二)

Maven中的插件,可根据数据表生成实体类 Mapper 接口和 Mapper XML,可单独创建一个Maven项目,将所需的资源生成后,拷贝到对应的项目中(推荐),或者直接在项目中使用。

2024-03-13 10:18:12 509

原创 Java研学-SSM综合案例(一)

使用 Spring MVC + Spring + MyBatis,数据库选用 MySQL,视图选用 JSP。完成部门基本的 CRUD 和分页查询,完成员工基本的 CRUD、分页查询和过滤查询(根据姓名和邮箱模糊查询,根据部门查询)。作用:在框架上基础上开发,发挥各个框架在各层的好处,提高开发效率。本质:使用 AOP 来配置事务;使用 Spring MVC 解决 MVC 的问题,处理请求和响应。

2024-03-13 09:00:54 518

原创 Java研学-SpringMVC(二)

/ 请求路径 /del?对于保存用户的需求,请求时携带用户名和密码参数,后端期望创建一个用户对象来封装这些参数值。① 自定义类 – 用来封装参数值return id;② 编写处理方法// 传递参数名与封装对象的属性名需一致③ jsp页面<html><head></head><body>姓名:<input type="text" name="name"><input type="submit" value="提交">

2024-03-12 09:53:12 831

原创 Java研学-SpringMVC(一)

前端控制器(Front Controller)是一种设计模式,常用于Web应用程序开发中。它主要负责集中处理所有的请求,并根据这些请求的类型和性质,将其分派给相应的处理程序或控制器。通过这种方式,前端控制器实现了应用程序的中心化管理和控制。做一个共同的处理,如权限检查,授权,日志记录等。因为前端控制的集中处理请求的能力,因此提高了可重用性和可拓展性。

2024-03-12 09:52:24 879

原创 Java研学-Spring事务整合Mybatis

通过Spring事务整合Mybatis,使用注解或xml的形式,完成转账操作。

2024-03-11 08:25:50 358

原创 Java研学-Spring AOP

AOP(Aspect Oriented Programming)面向切面编程技术,将一个个的横切关注点放到模块中,称之为切面。每一个的切面都能影响业务的某一种功能,切面的目的是功能增强,日志切面就是一个横切关注点,应用中方法需做日志记录的只需要插入日志的切面即可。(动态代理就可以实现 AOP)AOP 可将与业务无关,但为业务模块所共同调用的逻辑或责任(如事务处理、日志管理、权限控制等)封装起来,减少系统冗余代码,降低模块间耦合度,增强可拓展性和可维护性。

2024-03-11 08:24:52 551

原创 我的创作纪念日

未来的技术型文章分享将更加智能化、个性化,通过先进的算法和数据分析,能够精准推送符合读者兴趣和需求的内容。我相信,在不久的未来,技术型文章分享将成为连接知识与人们的桥梁,让知识的力量普照每个角落,推动社会的持续进步与发展。无论前路如何坎坷,我都会坚守这份初心,不断前行,让创作之光永远照耀在我的人生道路上。在创作的过程中,我收获了无尽的财富。我收获了思想的深度与广度,每一次的构思与表达都让我对世界有了更深刻的理解。同时,我也收获了成长与突破,面对创作的挑战与困难,我不断超越自我,实现了一次次的自我革新。

2024-03-07 09:13:10 380

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

String 类中使用 final 关键字修饰字符数组来保存字符串,private final char[] value,所以 String 对象是不可变的。

2024-03-06 20:20:48 827

空空如也

空空如也

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

TA关注的人

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