自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 Stream对List进行排序

comparing方法还有一个重载方法,super T,?super U>),第二个参数就可以传入@Test在Stream中的操作与直接列表排序类似,可以反转Comparator定义,也可以使用反转。@Test@Test。

2024-06-07 10:31:56 1076

原创 Java接口的变更过程

Java 接口相信所有学过 Java 的人一定都知道,而且 99% 的人一定都背过这个面试题:Java 接口和抽象类的区别是什么?答案都是什么接口方法不能有实现,都是抽象的,接口的方法都默认为 public 修饰等等之类的,这些在 Java 8 之前是正确的,但是随着 Java 的发展,它不再是正确的了。一起来探索 Java 接口的进化之路。

2024-06-06 13:12:58 812

原创 Java 常量池

常量池是 JVM 的一部分,主要用于存储类和接口中的编译时常量以及运行时被解析的引用。class 文件常量池是指在 Java 代码编译成字节码文件(.class文件)时,JVM 会将所有的字面量(如文本字符串、定义为final的常量值)和符号引用(如类和接口的全路径名、字段的名称和描述符、方法的名称和描述符等)存储在.class文件的常量池中。当类和接口被加载到 JVM 时,class 文件常量池中的数据会被加载到运行时常量池中。运行时常量池位于 JVM 的方法区。

2024-06-05 16:11:48 693

原创 static关键字

当执行时,上述代码输出什么?相信有不少同学遇到过这类问题,可能查过资料之后接着就忘了,再次遇到还是答不对。接下来通过4个步骤,拆解一下这段代码的执行顺序,并借此总结规律。

2024-06-04 08:30:00 473

原创 三元表达式引发的空指针问题

为了满足以上规定,又避免程序员过度感知这个规则,所以在编译过程中编译器如果发现三目操作符的第二位和第三位操作数的类型分别是基本数据类型(如 boolean)以及该基本类型对应的包装类型(如 Boolean)时,并且需要返回表达式为包装类型,那么就需要对该包装类进行自动拆箱。可以看到,反编译后的代码的最后一行,编译器做了一次自动拆箱(nullBoolean 是包装类,而 x 是基本类型),而 nullBoolean 是 null,这就出现了 null.booleanValue,从而抛出 NPE。

2024-06-03 17:27:01 924

原创 Spring事件驱动模型

Spring 事件驱动由3个部分组成Spring 4.2之后,自动被注入到容器中,采用 即可获取。在 Spring 4.2 以后可以以更加简洁的方式来监听 的发布,监听事件不必再实现 接口了,只要在方法上添加注解 即可。Spring中使用事件非常简单,只需要以下的几个步骤:订阅事件(实现观察者有2种方式)方式一:实现 接口方式二:通过注解,该会根据方法参数类型来自动监听相应事件的发布。✨(推荐)如果要监听多个事件类型的发布,可以在指定,Spring 会多次调用此方法来处理多个事件

2024-05-31 20:30:00 429

原创 Spring框架中的事件处理机制

需要创建一个继承自的自定义事件类,并定义事件的数据。首先,需要创建一个继承自org.springframework.context.ApplicationEvent的自定义事件类。这个类将包含希望在应用程序中传递的事件信息。可以在自定义事件类中添加任何属性和方法,以满足需求。例如,假设要创建一个名为在上述示例中,类包含了一个username属性,用于存储注册用户的用户名。要发布自定义事件,需要获取对象并使用它来发布事件。这通常通过在需要发布事件的类中注入来实现。@Service。

2024-05-31 08:00:00 622

原创 Spring Boot 异步线程间数据传递实现

Spring Boot 自定义线程池实现异步开发,但是在实际开发中需要在父子线程之间传递一些数据,比如用户信息,链路信息等等(那么子线程想要获取这个LoginVal如何做呢?来介绍几种优雅的方式实现Spring Boot 内部的父子线程的数据传递。

2024-05-30 20:00:00 1633

原创 @Async注解的坑

简单来说,通过缓存正在创建的对象对应的ObjectFactory对象,可以获取到正在创建的对象的早期引用的对象,当出现循环依赖的时候,由于对象没创建完,就可以通过获取早期引用的对象注入就行了。注解,AService先创建,发现引用了BService,那么BService就会去创建,当Service创建的过程中发现引用了AService,那么就会通过。方法,前面也说过,这个方法是获取动态代理的方法,如果需要的话就会代理,比如事务注解又或者是自定义的AOP切面,在早期暴露的时候,就会完成动态代理。

2024-05-30 08:30:00 699

原创 SpringBoot 异步编程

使用@Async注解,在默认情况下用的是线程池,该线程池不是真正意义上的线程池。使用此线程池无法实现线程重用,每次调用都会新建一条线程。若系统中不断的创建线程,最终会导致系统占用内存过高,引发= null?//判断是否开启限流,默认为否//执行前置操作,进行限流} else {//未限流的情况,执行线程任务//不断创建线程= null?//创建线程//指定线程名,task-1,task-2...

2024-05-29 21:06:55 1164

原创 @EnableAsync & @Async 实现方法异步调用

默认情况下,使用内置的线程池来异步调用方法,不过也可以自定义异步执行任务的线程池。在Spring容器中定义一个线程池类型的bean,bean名称必须是/*** 为async手动配置线程池,不配置的话,会使用默认线程池*/@Bean// 设置核心线程数// 设置最大线程数// 设置队列容量// 设置线程活跃时间(秒)// 设置默认线程名称// 设置拒绝策略// 等待所有任务结束后再关闭线程池异步方法若发生了异常,如何获取异常信息呢?此时可以通过自定义异常处理来解决。

2024-05-29 08:30:00 600

原创 SpringBoot中用 @Async 提升API接口并发能力

SpringBoot中用 @Async 提升API接口并发能力

2024-05-28 18:49:54 784 1

原创 二.vue3基础

vue基础

2023-10-06 18:00:57 68

原创 JDBC-8

2.1 jdbc技术概念和理解jdbc技术理解ppt展示jdbc概念总结jdbc是(JavaDatabaseConnectivity)单词的缩写,翻译为java连接数据库jdbc是java程序连接数据库的技术统称jdbc由java语言的规范(接口)和各个数据库厂商的实现驱动(jar)组成jdbc是一种典型的面向接口编程jdbc优势只需要学习jdbc规范接口的方法,即可操作所有的数据库软件项目中期切换数据库软件,只需要更换对应的数据库驱动jar包,不需要更改代码。

2023-03-18 15:00:58 1457 1

原创 JDK下载及安装

JDK下载及安装

2023-02-25 22:53:21 515

原创 1.Java语言概述

Java概述

2023-02-25 21:53:30 91

原创 第五章:spark-sql实验使用python操作流程

spark-sql实验总结

2022-05-26 07:57:41 2469 1

原创 JAVA高级--常用类的使用

JAVA高级–常用类的使用1.字符串相关类的使用String类是一个final(不可变)类,代表着不可变的字符序列字符串的表现形式是用双引号引起来,字符串在创建之后就无法进行改变了!!!String对象的字符串内容存储在一个char类型的字符数组value[]中String类的创建String str = "hello";//本质上this.value = new char[0];本质上是创建了一个char类型的数组String s1 = new String(); //this

2021-10-29 23:46:39 101

原创 Java中进程线程的使用

Java中线程的使用基本概念:程序、进程、线程程序:一段静态的代码进程:一段运行的代码线程:进程的细分,是一个进程内部的一条执行路径,每个线程,拥有自己独立的:栈、程序计数器,多个线程,共享同一个进程中的结构:方法区、堆具体对于三者之间的关系可以去学习计算机操作系统中相关章节相关文章 → 关于程序、进程和线程的理解CPU的分类单核CPU多核CPU并行与并发并行:同一时间点发生多个事件并发:同一时间段发生多个事件一个Java应用程序java.exe,其

2021-10-10 00:05:41 96

原创 java面向对象基础

java面向对象基础面向对象的三条主线java类中的成员分为五个部分属性、方法、构造器、代码块、内部类面向对象的三大特征(特性):封装、继承、多态、(抽象)面向对象时所涉及到的关键字:this、super、static、final、abstract、interface、package、import面向过程和面向对象的区别和理解面向过程:考虑怎么做,以动作为单位,在程序中就是以函数作为基本单位,强调的是功能行为面向对象:考虑谁来做,以个体为单位,在程序中就是以类/对象为基本单位,强调的是

2021-10-02 18:00:57 151

原创 Vue中的MVVM模型

Vue中的MVVM模型M:模型(Model) :data中的数据V:视图(View) :模板代码VM:视图模型(ViewModel):Vue实例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport"

2021-09-13 23:22:14 77

原创 Vue学习笔记2---模板语法

Vue中的模板语法分为2大类插值语法:功能:用于解析标签体内容。写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。指令语法:功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)。举例:v-bind:href=“xxx” 或 简写为 :href=“xxx”,xxx同样要写js表达式,且可以直接读取到data中的所有属性。 > 备注:Vue中有很多的指令,且形式都是:`v-????`,此处我们只是拿v-bind举个例子。<!DOC

2021-09-12 13:07:31 79

原创 Vue自学复习笔记--Vue2初始认识

Vue的学习需要有一定的html、js、css基础,建议学习一段时间的前置语言后再进行学习VueVue2初始认识Vue的使用包括两种1.js下载并引入<script type="text/javascript" src="../js/vue.js"></script>或使用网络地址2.脚手架创建(后面详细介绍)Vue的实例化1. 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;2. root容器里的代码依然符合html规范,只不过混入了一些特殊的V.

2021-09-11 23:43:06 93

原创 Web存储相关API应用

Web存储相关API应用Web存储是window下的一个全局属性,window.xxxStorage调用本地存储localStorage特点:在本地浏览器中保存持久的数据,除非用户手动清除浏览器缓存,否则会一直存在,浏览器中本地存储形式为json类型,即键值对的形式,键值均为字符串,且键必须唯一,一旦键出现重复,就会更新为键所对应的新值localStorage对应的方法名称说明返回值setItem(<key>,<value>)添加一个新的

2021-09-10 10:00:28 156

原创 NodeJS中fs模块的基本应用

NodeJS中fs模块的应用

2021-09-09 19:14:22 308

原创 NodeJS中sql模块的基本使用

NodeJS中sql模块的基本使用使用sql模块,通过使用sql模块服务器操作数据库,前提需要配合数据库,先启动数据库,以127.0.0.1:3306为例下载 npm i sql使用// 1.引入sql模块const mysql = require('sql')// 2.创建连接数据库var connection = mysql.createConnection({ // 2.1进行数据库接口的配置 host:'127.0.0.1', //主机名 port:'3306', //

2021-09-08 13:52:15 1045

原创 HTML5中地理定位API的使用

HTML5中地理定位API的使用地理定位(Geolocation),API可以获取用户当前地理位置信息(或者是当前正在运行的浏览器系统的位置),不是HTML5规范的部分,但是经常和HTML5的功能相结合使用当前只介绍API的使用使用地理定位(出于安全考虑,获取用户地理位置需要用户手动确定允许获取)要使用地理位置要通过全局属性navigator.geolocation访问地理定位功能,它会返回一个地理定位(Geolocation)对象,这个Geolocation有下面三个方法名称

2021-09-08 00:11:51 408

原创 NodeJS中对于express模块的使用

NodeJS中对于express模块的使用expres是基于Node.js平台、快速、开放的web开发框架下载 npm install express 或 npm i express使用(创建web服务器)引入express模块 const express = require('express')创建web服务器 var app = express()监听端口 app.listen(8080) 端口号可以自定义,但要保证端口不冲突路由浏览器向服务器发起请求,Web服务器根据url

2021-09-06 13:49:12 289

原创 关于NodeJS中模块的引用及导出

关于NodeJS中模块的引用及导出模块模块:独立的功能体模块分类:核心模块(内置模块)、自定义模块、第三方模块自定义模块在在NodeJS,每一个文件都是一个模块, NodeJS自动为每个文件添加了构造函数,所有的代码被构造函数所包含:(function(exports,require,module,__filename,__dirname){ //程序员自己的代码})require(path) 用于引入一个模块,path代表(相对/绝对

2021-09-05 22:46:57 811

原创 Node.js的下载安装及使用

Node.js的下载安装及使用NodeJS作为服务器端操作,基于V8引擎,能够搭建服务器,适用于社交网络的大规模web应用1.下载:Node.js中文网https://nodejs.org/zh-cn/2. 安装:傻瓜式安装,文件配置直接使用默认配置,安装结束以后在win+R打开运行台输入cmd后进入控制台,在控制台输入node -v查看你安装的Node.js版本号,另外还可以查看npm版本npm -v3. 使用:脚本模式:node 文件路径 回车 //脚本模式是通过文件传入的形式直接得出

2021-09-05 21:46:07 180

原创 HTML基础---表单

HTML基础—表单

2021-09-05 09:18:22 181

原创 HTML基础---常用标签总结1

HTML基础—常用标签总结1标题标记<h1>...</h1>......<h6>...</h6> 在页面中以醒目的方式显示文本特点:字体大小有变化,h1最大,h6最小字体都是加粗显示独占一行上下有垂直距离属性:align设置标记内部内容水平对齐方式 取值left(默认值)/center/right<h1 align="center">这个是标题中间对齐</h1>段落标记<p&gt

2021-09-05 00:03:38 153

原创 HTML基础---HTML文档结构

HTML基础—HTML文档结构//当前内容为 VScode 下实现<!DOCTYPE html> //告诉浏览器,请使用h5的规则来解析运行当前文件<html lang="en"> //代表页面的开始和结束。注意:一个.html中只能存在一套<html></html>标签,lang表示语言,值为en表示英文解析<head> // 页面头部信息 <meta charset="UTF-8"> // 设置网页中文编码方式utf

2021-09-04 17:24:15 53

原创 HTML基础---HTML简介及基本语法

HTML基础—HTML简介及基本语法什么是HTMLHTML:HyperText Markup Language 超文本标记语言超文本:有功能的普通文本就是超文本语法:使用<>或<>...</>表示,每一种标记都有自己独特的功能HTML特点1.以.html或者.htm为后缀 2.由浏览器解析执行3.用带有<>的标记来编写4.可以运行js脚本HTML基本语法标记(标签)1.双标记<关键字>...</关键字>,

2021-09-04 17:14:24 243

原创 HTML基础---Web简介

HTML基础—Web简介1.web和InternetInternet全称:请求计算机互连网,俗称:互联网、因特网、交换网、交际网。 浏览器只是Internet上所有服务器中的一项2.Internet上的应用程序C/S:client server 客户端服务器B/S:browser server 浏览器服务器3.web运行原理web:运行在Internet上的一种B/S结构的应用程序,俗称网站Internet:为web运行提供网络环境Web工作原理:基于浏览器和服

2021-09-04 16:21:46 259

原创 CDN简介

什么是CDN?工作原理是什么?网站通常将其所有的服务器都放在同一个地方,当用户群增加时,公司就必须在多个地理位置不同的服务器上部署内容为了缩短http请求的时间,我们应该把大量的静态资源放置的离用户近一点。内容发布网络CDN(Content Delivery Networks)CDN是一组分布在多个不同地理位置的web服务器,用于更加有效的向用户发布内容基本思路: 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 通过在网络各处放置节点服务

2021-09-03 19:34:11 74

原创 浏览器渲染与阻塞

一、浏览器渲染引擎主要模块一个渲染引擎主要包括:HTML解析器,CSS解析器,javascript引擎,布局layout模块,绘图模块HTML解析器:解释HTML文档的解析器,主要作用是将HTML文本解释成DOM树。CSS解析器:它的作用是为DOM中的各个元素对象计算出样式信息,为布局提供基础设施Javascript引擎:使用Javascript代码可以修改网页的内容,也能修改css的信息,javascript引擎能够解释javascript代码,并通过DOM接口和CSS树接口来修改网页内容和

2021-09-03 19:18:30 409

原创 浏览器缓存分类及区别

缓存1. 缓存理解缓存定义:浏览器在本地磁盘上将用户之前请求的数据存储起来,当访问者再次需要改数据的时候无需再次发送请求,直接从浏览器本地获取数据缓存的好处:减少请求的个数节省带宽,避免浪费不必要的网络资源减轻服务器压力提高浏览器网页的加载速度,提高用户体验2. 缓存分类强缓存不会向服务器发送请求,直接从本地缓存中获取数据请求资源的的状态码为: 200 ok(from memory cache)协商缓存向服务器发送请求,服务器会根据请求头的资源判断是否命

2021-09-03 17:34:01 911

原创 浏览器存储

浏览器存储实现浏览器页面之间跨页面数据共享Cookie, SessionStorage, LocalStorage这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对!注意:session和SessionStorage不是一个概念!!!在服务端有一种存储方式叫做:session会话存储,常常被简称sessionsession:会话SessionStorage:浏览器端用于存储数据的容器,常常被前端人员简称为session。session会话存储:服务器端一种存储数据的方式,常常被后

2021-09-03 14:18:30 132

原创 函数防抖与节流

函数防抖(debounce)概念: 延迟要执行的动作,若在延迟的这段时间内,再次触发了,则取消之前开启的动作,重新计时。举例: 电脑无操作1分钟之内如果没有操作会进入休眠,当第40秒时鼠标被移动一下,重新计时1分钟。实现: 利用定时器进行函数防抖。应用:搜索时等用户完整输入内容后再发送查询请求。<input type="text" id="user_input">&nbsp;<button id="btn">搜索</button><scri

2021-09-03 13:28:32 35

jdk-8u144-windows-x64_12512671281.zip

java_jdk安装包

2021-09-17

空空如也

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

TA关注的人

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