Java

JDK中「SPI」原理分析

目录一、SPI简介1、概念2、入门案例2.1 定义接口2.2 两个实现类2.3 配置文件2.4 测试代码二、原理分析1、ServiceLoader结构2、iterator迭代方法3、hasNextService方法4、nextService方法三、SPI实践1、Driver驱动接口2、Slf4j日志接口四、参考源码 基于【JDK1.8】 一、SPI简介 1、概念 SPI即service-pro

节流与防抖

本文可以配合本人录制的视频一起食用 作用 节流和防抖是前端开发中常用的优化技术,主要用于优化一些高频触发的事件。 字面理解 节流与防抖,先从字面上理解一下,节流就是节制流入或流出,在前端方面我个人理解一下,指的是节制功能或请求的触发次数,所以节流函数字面上的意思就是防止功能或请求被频繁触发的函数;防抖呢,更好理解,防止抖动,它的字面意思更贴近前端的需求,就是防止页面抖动,以达到更好的用户体验。 适

ysoserial中的URLDNS利用链代码审计

ysoserial中的URLDNS利用链代码审计 一.避坑 我使用了jdk1.8的版本,因为在使用jdk1.7版本的时候出现了如下报错 java: 程序包sun.rmi.server不存在 之后问chatgpt 之后我发现不知为什么我的jdk1.7里面没有rt.jar,所以我换成了jdk1.8 二.环境搭建 1.下载源码 https://github.com/frohoff/ysoseria

java题

equals与==的区别   final, finally, finalize 的区别    

后端

  参考地址:https://blog.csdn.net/u011781521/article/details/79052725   方式一:原生 public static void exportFileZip(HttpServletRequest request, HttpServletResponse response, String[] fileNames, InputStream[]

Spring代理机制

前言 代理的使用在Spring中是用的非常的多,如AOP、声明式事务(@Transactional)、异步任务(@Async)、缓存(@Cacheable,@CachePut,@CacheEvict)这些使用注解来增强逻辑的功能都是通过代理来实现的。那么Spring是何时来帮我们创建代理,怎样创建代理呢? 概述 众所周知,Spring创建代理时,底层有两种方式可选 JDK动态代理 CGLIB代理

Vue封装一个瀑布流图片容器组件

说在前面 🎈最近在捣鼓自己的个人博客网站,有一个模块需要用到瀑布流图片🖼展示,于是我就将其封装成了一个组件,以后可以导入就能使用,具体效果如下👇: 什么是瀑布流 瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站

应用不停服,平滑升级分库分表还能这样做

背景 分库分表是大型互联网应用经常采用的一种数据层优化方案,常见的分库分表中间件如 sharding-jdbc、mycat 都已经比较成熟,基本上可以应对我们一般的分库分表需求。 做过分库分表的同学应该知道,在给业务系统做分库分表改造过程中,难的不是如何使用这些组件进行分库分表,而是如何将非分库分表的系统平滑的升级成一个分库分表的系统,升级期间业务不可暂停,升级过程及升级后风险

2023.8.5

学习java中的类 面向对象与面向过程 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。 面向对象:强调具备了功能的对象,以类/对象为最小单位 类与对象的关系 类:对一类事物的描述,是抽象的、概念上的定义 对象:是实际存在的该类事物的每个个体,因而也称为实例(instance) 面向对象程

8-4打卡

学习Java pta题

8-5打卡

刷pta题 学习Java

《深入理解Java虚拟机》读书笔记:HotSpot虚拟机对象探秘

基于实用优先的原则,以常用的虚拟机HotSpot和常用的内存区域Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。以下是本节内容的脑图。   HotSpot虚拟机对象探秘脑图   一、 对象的创建 创建对象大致分为5步:1.检查类是否加载,没有加载先加载类 2.分配内存 3.初始化 4.设置对象头 5.执行初始化方法 例如构造方法等。

关于对一次java勒索的分析学习

样本执行过程 样本内容 lib其实是open jdk,其中启动游戏bat是 也就是通过java去运行qwq.jpg。这里首先对jpg进行binwalk进行分离处理 得到 这里11A88.zip和下面文件是一样的。文件内容如图所示 通过MANIFEST.MF得到这里的主类是killer.pad.Main。但是这样子我们却没有得到这个class 通过hex查看也没有特征。 这里尝试运行,会发现

Spring源码——初识Spring容器

Spring源码之工厂(容器) 为什么把Spring的工厂又叫做容器呢? 工厂的责任是创建对象,但是创建完对象后还要进行存储(针对于单例的对象来讲),以供其他地方使用,这就是容器。为了能存多个对象,并能方便查找,所以Spring创建的单实例对象是通过类似map的结构来存储的。 我们最常用的Spring工厂是ApplicationContext(应用上下文),这其实是Spring的高级工厂,它复合

FlinkSQL类型系统

类型有什么作用, 类型可以提供编译期检查, 避免到运行期才报错. 类型 首先Flink中自己定义了一套类型, 有LogicalType和DataType两个表示 LogicalType LogicalType表示的逻辑类型, 并不涉及类型的物理表示, 会包含nullable属性. 还有两个衍生的概念 LogicalTypeFamily和LogicalTypeRoot LogicalTypeRoot

LeetCode从算法到算命—每日一题(0804)

980.不同路径III 题目信息 在二维网格 grid 上,有 4 种类型的方格: 1 表示起始方格。且只有一个起始方格。 2 表示结束方格,且只有一个结束方格。 0 表示我们可以走过的空方格。 -1 表示我们无法跨越的障碍。 返回在四个方向(上、下、左、右)上行走时,从起始方格到结束方格的不同路径的数目。 每一个无障碍方格都要通过一次,但是一条路径中不能重复通过同一个方格。 示例 1: 示

《深入理解Java虚拟机》读书笔记:判断对象是否存活

本节内容的概要如下; 对象已死吗? 一、判断对象是否存活的算法 1、引用计数器算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 客观地说,引用计数算法(Reference Counting)的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法,但是,至少主流的Java虚拟机里面没有选

Adobe After Effects 学习笔记

界面控制工具组选中(拖动改变位置,点重置恢复)移动(仅查看,不影响素材)缩放(仅查看,不影响素材) 摄像机工具组(开启3D图层后启用)复原:视图-重置默认摄像机旋转:下拉控制旋转原点,右侧副菜单,控制水平或垂直移动缩放 锚点移动锚点(快捷键Y)另一功能:移动时间线中片段的起始位置(长度不变)对齐:按Y,顶部菜单勾选对齐锚点居中:ctrl + alt + home (回到图层中心,只有自己改变)

常用VS code插件、配置

插件:Chinese (Simplified) (简体中文) Code Spell Checker DotENV Doxygen Documentation Generator EditorConfig for VS Code ESLint Git History git-commit-lint-vscode GitLens — Git supercharged Goto definition a

各阶段项目地址

第一阶段 https://gitee.com/xiloer/spring-boot2302.git https://gitee.com/wkjeason/jsd2302_gi.git 第二阶段 https://gitee.com/xiloer/bird-boot2302-teacher.git 第三阶段 https://gitee.com/IvanLiuGB/jsd-2302-03-t.git 第

[maven]java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void <init>()' not found

Maven异常 环境 idea版本: 2020.1.3 maven版本: 3.8.5 问题描述 在idea中加入maven配置时,idea一直报出java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator 异常 异常信息 问题原因 maven 3.8.5版本发布于2022-03-05

day123- 自动装配xml

基于xml的自动装配 自动装配 根据指定的策略,在IOC容器中匹配某一个bean,自动为指定的bean中所依赖的类类型或接口类型属性赋值 模拟 controller   service   dao   配置bean 使用bean标签的autowire属性设置自动装配效果 自动装配方式:byType byType:根据类型匹配

day124 - 基于注解管理bean

基于注解管理bean 注解 和 XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作。 本质上:所有一切的操作都是Java代码来完成的,XML和注解只是告诉框架中的Java代码如何执行。 Spring 为了知道程序员在哪些地方标记了什么注解,就需要通过扫描的方式,来进行检测。然后根据注解进行

算法:链表题(持续更)

本人刷题时思考的几个解法,欢迎交流 力扣链接:合并 2 个有序链表 力扣链接:合并K个有序链表 目录合并 2 个有序链表合并 k 个有序链表K 个中 minNode排序队列取minNode队头手动实现的排序队列优先级队列分治:两个一组逐渐合并 合并 2 个有序链表 合并 2 个有序链表 操作模型: 细节优化前: 细节优化后: 合并 k 个有序链表 K 个中 minNode 每次迭代,比较

springboot 集成druid 集成mybatise

pom依赖 application.yml  分别是 druid 连接池配置    表初始化配置   mybatis配置 访问druid监控台:http://localhost:8080/druid/index.html generatorConfig.xml 代码方式生成:  注意:使用mybatise

八月四日总结

早上8点起来洗漱吃饭康复训练。 中午吃晚饭午休一会起来学习java 晚上吃完晚饭洗漱,准备睡觉。 明天继续学习java,同时康复训练。 保持早睡,养成良好的作息习惯。

每日汇报 第七周第五天 JAVA复习&PTA

今日学习:   JAVA复习,pta完成习题 明日计划:   PTA ,JAVA往下学

centos环境tomcat配置SSL

环境: centos7.9 tomcat9 jdk1.8 一.阿里云申请 免费SSL 按照官网的方法并未成功启动! 443 80端口加入安全组 阿里云申请免费ssl 下载后解压将localhost-rsa.pfx上传至tomcat 的 /usr/local/tomcat/apache-tomcat-9/conf/ 下 配置service.xml 修改 redirectPort="443"

8月4日总结

8.4周五                  异常处理.自己处理:①try…catch…                  程序从try里面的代码开始执行② throws      &nbs

2023年8月4日 天气:晴

       今天早上起来背了10个英语单词,然后学习了一个小时的java,写了一会英语阅读,然后和朋友出去打了两个小时的羽毛球,最后写了一会作业。        明天打算看一小时的电视剧,然后和朋友出去玩一会,打一两个小时的篮球,最后晚上练一小时的字,然后学习一小时的java。

<<  <  846  847  848  849  850  851  852  853  854  855  856  >  >>