- 博客(101)
- 资源 (3)
- 收藏
- 关注
原创 Java面试宝典带你复习--第三章框架篇
通过以上拓展,第三章详细解析了主流Java框架的核心原理、最新特性及实战应用,涵盖Struts、Hibernate、Spring全家桶的深度知识点,结合代码示例和选型建议,适合应对框架相关的面试问题和实际项目开发。SpringMVC是Spring的MVC模块,支持RESTful API开发,核心是。Hibernate是ORM框架,将对象映射到数据库表,核心是会话管理和缓存机制。Spring框架以IOC(控制反转)和AOP(面向切面)为核心,简化企业级开发。
2025-04-09 16:18:33
803
原创 Java面试宝典带你复习--第二章Servlet篇
通过以上深入拓展,详细解析了Servlet篇的核心知识点,结合代码示例和对比分析,帮助理解Servlet生命周期、请求处理、作用域通信、安全机制等关键内容,适用于面试准备和实际开发应用。Servlet是Java EE中处理Web请求的核心组件,运行于Web容器(如Tomcat)中,遵循MVC架构中的控制器角色。过滤器(Filter)用于预处理请求和后处理响应,实现功能如编码转换、权限验证、日志记录。2.8 request和session的区别。2.7 session和cookie的区别。
2025-04-09 00:59:01
1172
原创 Java面试宝典带你复习--第一章基础篇
J2SE是基础,J2EE基于J2SE扩展企业级API(如EJB、JTA),J2ME针对资源受限设备简化API,后因移动互联网发展,J2ME逐渐被Android/iOS开发取代。通过以上深入拓展,覆盖Java基础的核心概念、常见面试考点及实战细节,帮助读者系统掌握基础知识,应对高频面试问题。1.19 List、Set、Collection、Collections区别。1.19 List、Set、Collection、Collections区别。1.2 J2SE、J2EE、J2ME三者区别。
2025-04-09 00:49:17
1115
原创 JavaScript基础--23-高阶函数详解
高阶函数(Higher-Order Function)需满足以下条件之一:接受一个或多个函数作为参数;返回一个新函数。其本质是对其他函数进行操作的函数,体现了JavaScript中"函数是一等公民"的特性。
2025-04-08 15:11:51
323
原创 JavaScript基础--22-call、apply 和 bind
call()apply()和bind()call():适合明确参数数量和需要立即执行的场景。apply():适合动态参数(如数组)和复用已有方法。bind():适合延迟执行、事件绑定和参数预设。通过灵活运用这些方法,可实现代码复用、继承、高阶函数等复杂逻辑,是 JavaScript 函数式编程的重要基础。
2025-04-07 16:12:37
1054
原创 JavaScript基础--21-深入探索 this 指向:父函数与作用域链的迷思
调用方式决定指向:始终坚持根据函数的调用方式判断 this 指向箭头函数特殊规则:词法作用域绑定,不可通过 call/apply 修改显式绑定优先:当使用 bind/call/apply 时,优先级最高严格模式影响:独立函数调用时 this 为 undefined异步环境注意:setTimeout/setInterval/Promise 等场景容易丢失上下文通过理解这些深层机制,开发者可以更精准地控制 this 指向,避免常见的上下文丢失问题,写出更健壮的 JavaScript 代码。
2025-04-07 15:59:56
561
原创 JavaScript基础--20-JavaScript 预编译机制深度解析
两种预编译场景(全局/函数)四种声明处理顺序(参数 → 变量 → 实参 → 函数)不同声明方式的差异(var/let/const/function)现代 JavaScript 的新特性影响更准确地预测代码行为避免常见的提升陷阱编写更可靠的 JavaScript 代码更好地理解闭包和作用域。
2025-04-07 15:52:35
346
原创 JavaScript基础--19-作用域和变量提升
- **概念**:通俗来讲,作用域是一个变量或函数的作用范围。作用域在**函数定义**时,就已经确定了。- **目的**:为了提高程序的可靠性,同时减少命名冲突。作用域的分类在 JS 中,一共有两种作用域:(ES6 之前)- 全局作用域:作用于整个 script 标签内部,或者作用域一个独立的 JS 文件。- 函数作用域(局部作用域):作用于函数内的代码环境。
2025-04-07 15:44:06
988
原创 JavaScript基础--18函数
关于函数的核心内容:函数有哪几种定义和调用方式this:函数内部的 this 指向、如何改变 this 的指向。函数的严格模式高阶函数:函数作为参数传递、函数作为返回值传递闭包:闭包的作用递归:递归的两个条件深拷贝和浅拷贝的区别函数:就是将一些功能或语句进行封装,在需要的时候,通过调用的形式,执行这些语句。函数也是一个对象使用typeof检查一个函数对象时,会返回function函数的作用将大量重复的语句抽取出来,写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。
2025-04-07 15:38:57
579
原创 JavaScript基础--17-数组的常见方法
如果在 sort()方法中带参,我们就可以自定义排序规则。具体做法如下:我们可以在 sort()添加一个回调函数,来指定排序规则。回调函数中需要定义两个形参,浏览器将会分别使用数组中的元素作为实参去调用回调函数。浏览器根据回调函数的返回值来决定元素的排序:(重要)如果返回一个大于 0 的值,则元素会交换位置如果返回一个小于 0 的值,则元素位置不变如果返回一个等于 0 的值,则认为两个元素相等,则不交换位置如果只是看上面的文字,可能不太好理解,我们来看看下面的例子,你肯定就能明白。
2025-04-06 11:11:22
1060
原创 JavaScript基础--16-数组简介
数组(Array)是属于内置对象,我们可以在MDN网站上查询它的各种方法。数组和普通对象的功能类似,也是用来存储一些值的。普通对象是使用字符串作为属性名的,而数组是使用数字作为索引来操作元素。索引:从 0 开始的整数就是索引。数组的存储性能比普通对象要好。在实际开发中我们经常使用数组来存储一些数据(尤其是列表数据),使用频率非常高。比如说,上面这个页面的列表数据,它的结构就是一个大数组。数组中的元素可以是任意的数据类型,也可以是对象,也可以是函数,也可以是数组。
2025-04-06 11:01:03
900
原创 JavaScript基础--15-内置对象:Date
时间戳:指的是从格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花费的毫秒数(1秒 = 1000毫秒)。计算机底层在保存时间时,使用的都是时间戳。时间戳的存在,就是为了统一时间的单位。我们经常会利用时间戳来计算时间,因为它更精确。而且,在实战开发中,接口返回给前端的日期数据,都是以时间戳的形式。// 获取时间戳打印结果(可能会让你感到惊讶)- 28800000为啥打印结果是-28800000,而不是0呢?这是因为,我们的当前代码,是在中文环境下运行的,与英文时间会存在8个小时的时差。
2025-04-06 10:58:47
991
原创 JavaScript基础--14-内置对象:Number和Math
而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。Math 和其他的对象不同,它不是一个构造函数,不需要创建对象。所以我们不需要 通过 new 来调用,而是直接使用里面的属性和方法即可。解释:将数字 myNum 的小数点后面保留 num 位小数(四舍五入),并返回。Math属于一个工具类,里面封装了数学运算相关的属性和方法。根据上面的例子,我们还可以再延伸一下,来看看随机点名的例子。Math的中文是“数学”,pow是“幂”。
2025-04-06 10:57:36
799
原创 JavaScript基础--13-内置对象 String:字符串的常见方法
JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象。前面两种对象:是JS的基础内容,属于 ECMAScript;第三个浏览器对象:属于JS独有,即 JS 内置的API。内置对象:就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用或者最基本而必要的功能(属性和方法)。内置对象最大的优点就是帮助我们快速开发。JavaScript的内置对象内置对象对象说明Arguments函数参数集合Array数组Boolean布尔对象Math数学对象Date。
2025-04-06 10:48:12
264
原创 JavaScript基础--12-基本包装类型
我们都知道,js 中的数据类型包括以下几种。基本数据类型:String、Number、Boolean、Null、Undefined引用数据类型:ObjectJS 为我们提供了三个基本包装类String():将基本数据类型字符串,转换为 String 对象。Number():将基本数据类型的数字,转换为 Number 对象。Boolean():将基本数据类型的布尔值,转换为 Boolean 对象。通过上面这这三个包装类,我们可以将基本数据类型的数据转换为对象。
2025-04-05 19:18:00
390
原创 JavaScript基础--09-流程控制语句:选择结构(if和switch)
上面的写法 2,是比较推荐的写法:直接通过 return 的方式,让 function 里的代码不再继续往下走,这就达到目的了。上方代码的解释:代码走到 default 时,因为没有遇到 break,所以会继续往下走,直到遇见 break 或者走到程序的末尾。(1)首先,计算出表达式的值,和 case 依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就会结束。的方式来写各种条件判断,说明你的代码水平太初级了,会被人喷的,千万不要这么写。代码块中的内容,在外部是完全可见的。
2025-04-05 19:15:25
901
原创 JavaScript基础--08-运算符
运算符:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。表达式:由数字、运算符、变量的组合(组成的式子)。e表达式最终都会有一个运算结果,我们将这个结果称为表达式的返回值。都是运算符,而(3+5)/2则是表达式。比如:typeof 就是运算符,可以来获得一个值的类型。它会将该值的类型以字符串的形式返回,返回值可以是 number、string、boolean、undefined、object。
2025-04-05 19:15:13
721
原创 JavaScript基础--06-基本数据类型:Null 和 Undefined
如果你从未声明一个变量,就去使用它,则会报错(这个大家都知道);此时,如果用typeof检查这个变量时,会返回undefined。// 打印结果:Uncaught ReferenceError: a is not defined。
2025-04-05 19:06:04
729
原创 JavaScript基础--04-基本数据类型:String 和 Boolean
今天这篇文章,我们详细讲一下基本数据类型:String 和 Boolean
2025-04-05 19:05:38
672
原创 JavaScript基础--07-typeof和数据类型转换
变量的数据类型转换:将一种数据类型转换为另外一种数据类型。通常有三种形式的类型转换:转换为字符串类型转换为数字型转换为布尔型你会专门把某个数据类型转换成 null 或者 undefined 吗?不会,因为这样做,没有意义。
2025-04-05 19:04:25
379
原创 JavaScript基础--03-变量的数据类型:基本数据类型和引用数据类型
也就是说,除了那五种基本数据类型之外,其他的,都称之为 Object类型。这是因为:JavaScript 是一种「弱类型语言」,或者说是一种「动态语言」,这意味着不需要提前声明变量的类型,在程序运行过程中,类型会自动被确定。在计算机中,不同的数据所需占用的存储空间不同,为了充分利用存储空间,于是定义了不同的数据类型。而且,不同的数据类型,寓意也不同。如果两个变量保存了同一个对象的引用,当一个通过一个变量修改属性时,另一个也会受到影响。从上面的例子中,可以反映出,基本数据类型和引用数据类型是有区别的。
2025-04-05 18:54:04
544
原创 JavaScript基础--02-变量
字面量都可以直接使用,但是我们一般不会直接使用字面量。如果直接使用字面量的话,比较麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。在ES6语法之前,统一使用var关键字来声明一个变量。var name;// 声明一个名为 name 的变量let name;const age;在JavaScript中,永远都是用var来定义变量(在ES6 之前),这和C、Java等语言不同。
2025-04-05 18:49:12
539
原创 JavaScript基础--01-JS简介
JavaScript对初学者比较友好、简单易用。可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序。JavaScript是有界面效果的(相比之下,C语言只有白底黑字)。JavaScript是弱变量类型的语言,变量只需要用 var/let/const 来声明。而Java中变量的声明,要根据变量的类型来定义。int a;整数(负数,0, 整数)float a;浮点数单精度(小数,分数)double a;浮点数双精度(小数,分数)String a;字符串(' "" '," '' ",``)
2025-04-05 18:43:18
776
原创 验证码通过“Canvas 绘制”与“Base64 图片”渲染两种不同的实现方式显示
🎉验证码通过“Canvas 绘制”与“Base64 图片”渲染两种不同的实现方式显示。
2025-03-28 11:08:24
1028
原创 小程序如何根据用户的不同显示不同导航栏
小程序可以根据用户的不同显示不同的导航栏,这通常通过自定义底部导航栏(tabBar)来实现。以下是实现这一功能的主要步骤和要点:一、配置全局文件在小程序的全局配置文件app.json中,需要将tabBar的custom属性设置为true,以启用自定义底部导航栏。例如:
2024-10-18 13:52:30
1530
1
原创 麒麟系统信创改造
lscpu 命令显示CPU架构信息,包括CPU的数量、每个CPU的核心数、线程数、每个核心的架构(如x86_64)、CPU的型号、CPU的运行速度等信息。这个命令会显示CPU的详细信息,包括CPU型号、制造商、主频、每个CPU的缓存大小、CPU支持的技术(如虚拟化技术)等。将上面准备的nginx.conf文件(下面有完整示例)复制到根目录(文件系统里)下/usr/local/nginx/conf文件夹里,替换掉原有的。不过,arch 命令的输出通常更简洁,直接显示架构名称,如 x86_64。
2024-07-27 16:26:07
1840
1
原创 11-Vue中插槽(slot)的使用
插槽(slot)是 vue 为组件的封装者提供的能力。允许开发者在封装组件时,把不确定的、希望由用户指定的部分定义为插槽。插槽就是子组件中的提供给父组件使用的一个占位符,用表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的标签。简单理解就是子组件中留下个“坑”,父组件可以使用指定内容来补“坑”。
2024-06-21 09:55:16
1679
原创 10-Vuex在Vue中的导入与配置
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
2024-06-21 09:38:56
1268
原创 zookeeper学习、配置文件参数详解
ZooKeeper 是一个分布式协调服务,它可以维护配置信息、命名空间、分布式同步等。ZooKeeper 的配置文件通常是 zoo.cfg,这个文件中包含了 ZooKeeper 运行所需要的配置信息。
2024-06-18 09:26:18
2412
原创 09-axios在Vue中的导入与配置
Axios是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范。关于axios的特点,可以查看axios中文文档,还可以了解一下axios, ajax和fetch的详细比较内容。接下来开始安装axios,在项目目录下执行(不同的node版本,成功后的提示不同)
2024-06-18 09:20:18
1644
原创 08-路由地址的数据获取
数据获取:有时候,进入某个路由后,需要从服务器获取数据。例如,在渲染用户信息时,你需要从服务器获取用户的数据。我们可以通过两种方式来实现:- **导航完成之后获取**:先完成导航,然后在接下来的组件生命周期钩子中获取数据。在数据获取期间显示“加载中”之类的指示。- **导航完成之前获取**:导航完成前,在路由进入的守卫中获取数据,在数据获取成功后执行导航。从技术角度讲,两种方式都不错 —— 就看你想要的用户体验是哪种。
2024-06-18 09:14:58
446
原创 Nacos 微服务管理
Nacos(Naming and Configuration Service)是阿里巴巴开源的一个动态服务发现、配置和服务管理平台。它提供了一种简单、易用的方式来管理和发现微服务。Nacos支持DNS-based和RPC-based服务发现,以及动态配置管理。它在分布式系统中具有高可用、高可靠的特性。在本教程中,您学习了如何使用Nacos进行服务注册与发现以及配置管理。Nacos作为一种简单易用的微服务管理平台,能够帮助您轻松构建和维护分布式系统。实际上,Nacos的功能远不止于此。
2024-05-23 15:27:47
2207
2
原创 OpenFeign 教程: 使用 Spring Cloud Alibaba 和 Nacos
本教程演示了如何使用 OpenFeign 与 Spring Cloud Alibaba 和 Nacos 实现微服务之间的远程调用。我们创建了一个简单的 Spring Boot 项目,配置了 Nacos 服务发现,创建了一个简单的微服务,然后使用 Feign 客户端进行调用。你可以在这个基础上扩展,为你的项目创建更多的微服务和 Feign 客户端。OpenFeign方法接口参数都有哪些?OpenFeign 支持多种方法参数和注解,可以帮助你轻松地定义和调用远程服务。
2024-05-23 15:01:31
2314
原创 1、为什么线上项目不能运行并向外发送请求;2、如何在linux用命令行发送请求?
如果您已经按照上述步骤检查了线上环境,但问题仍然存在,请提供更多的上下文信息,例如线上环境的网络配置、系统环境变量、数据库配置、依赖库版本、日志和监控设置等,以便进一步诊断和解决。在这个例子中,-X POST指定了使用POST方法,指定了请求体的类型为JSON,指定了服务器应该返回JSON格式的响应,-d参数后面跟的是JSON格式的请求体。请注意,您需要将"touser"等字段替换为您实际的值。
2024-05-22 13:14:16
732
1
原创 基于Vue2与3版本的Element UI与Element Plus入门
Element UI 和 Element Plus 都支持自定义主题。你可以通过修改 SCSS 变量来定制主题,也可以使用在线主题生成工具来生成。
2024-05-22 08:45:53
1743
原创 07-Vue编程式导航
程式导航,除了使用 `` 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。导航到不同的位置:**注意:在 Vue 实例中,你可以通过 `$router` 访问路由实例。因此你可以调用 `this.$router.push`。**想要导航到不同的 URL,可以使用 `router.push` 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退
2024-05-21 15:32:24
540
原创 06-Vue路由守卫
导航守卫(路由钩子函数)正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入路由导航中:全局的,单个路由独享的,或者组件级的。全局前置守卫,你可以使用 `router.beforeEach` 注册一个全局前置守卫:
2024-05-21 15:28:54
1123
DBeaver一款好用的、免费的、开源的的数据库管理工具,可下载 版本:dbeaver-ce-25.0.2-x86-64-setup.exe
2025-04-07
为了安装 MongoDB,应该选择适用于 ARM 架构的版本
2024-07-24
migration:瀚高数据库迁移工具,用于多种数据库类型(mysql、oracle等)迁移到瀚高数据库
2024-07-24
瀚高数据库连接工具,用于连接到本地或远程的瀚高数据库 请区别于瀚高迁移工具
2024-07-24
Fences 5是一款桌面整理软件,主要用于Windows操作系统,能够帮助用户更有效地管理和组织桌面上的图标和文件
2024-05-22
Redis的图形化桌面客户端
2022-11-06
Geek一款流氓、病毒软件强力粉碎、卸载软件,放心使用
2022-07-30
DBeaver一款好用的、免费的、开源的的数据库管理工具,可下载
2022-07-30
数据原理知识点总结,可以免费查看
2022-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人