读Java性能权威指南(第2版)笔记24_ Java飞行记录器JFR
2023/3/22 8:26:39

1. Java飞行记录器 1.1. Java Flight Recder,JFR1.1.1. 最初是BEA公司的JRockit JVM的功能1.1.2. 在JDK 8中,只有acle JVM支持JFR1.1.3. 在JDK 11中,JFR可以在开源JVM中使用1.2. JFR数据是JVM中事件的历史记录,可以用来诊断JVM过去的性能和操作 1.3. Java Mission Control(jmc) 1.4. 对正在运行的应用程序进行轻量级性能分析1.4.1. 可以尽最大可能查看JVM内部信息,因为它内建

Servlet的基本使用
2023/3/22 8:26:38

复习 Vue 1.vue的使用步骤:(1)导入vue.js(2)创建除body以外最大的div标签,给定id值(3)创建vue对象new Vue({"el":"#app""data":{} 定义变量"methods":{} 定义方法"befeCreate":function(){}"created":function(){}"befeMount":function(){}"mounted":function(){}"befeUpdate":function(){}"updated":function(){

JavaWeb使用Kaptcha生成验证码(jar版)
2023/3/22 8:26:37

使用方式 Web项目导入jar包kaptcha2.3.0.jar1.1 :自定义jar包位置 自定义的jar包位置需要点击Add as Library才能使用 ,一般选择为项目添加            1.2 jar包放在webWEBINFlib下 : 这里不用任何操作,直接复制到该目录下就可以 2.配置web.xml 1 xml version="1.0" encoding="UTF8"2 webapp xmlns="http:xmlns.jcp.gxmlnsjavaee"3

day09-拦截器&文件上传
2023/3/22 8:26:34

拦截器&文件上传 1.拦截器Intercept 1.1拦截器概念拦截器拦截器(Intercept):是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。在SpringBoot中,拦截器是开发的常用手段,要用来登录验证、性能检查、日志记录等 (1)SpringBoot中拦截器实现的基本步骤:编写一个拦截器实现 HlerIntercept 接口 拦截器注册到配置类中(实现 WebMvcConfigurer 的 addIntercepts) 指定拦截规则(2)拦截器执行顺序preHle

day08-2-Thymeleaf
2023/3/22 8:26:32

服务器渲染技术Thymeleaf 1.基本介绍官方在线文档:Read online 文档下载:Thymeleaf 3.1 PDF EPUB MOBIThymeleaf 是什么Thymeleaf是一个现代的服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,Javript,CSS甚至纯文本Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,可完全替代 JSPThymeleaf 是一个 Java 类库,是一个xml xhtml html5的模板引擎

Maven 中<optional>true</optional>和<scope>provided</scope>之间的区别
2023/3/22 8:26:32

传递依赖 依赖管理是maven提供的主要功能之一,无论我们需要什么依赖,只需将它们添加到 POM.xml 中,在构建或运行时所有必要的类和资源都会自动添加到项目的 classpath 中。 Maven 中的依赖是有传递(Transitive)性的,默认会包含传递的依赖,这样就不用手动引用每一个依赖了。比如下面这个依赖关系中,A 依赖 B,B 依赖了 C……,如果你依赖 A 的话,就会自动包含 ABCDEA├── B│ └── C│ └── D └── E└── D 但是传递依赖也带来了一

【深入浅出 Yarn 架构与实现】5-1 Yarn 资源调度器基本框架
2023/3/22 8:26:31

资源调度器是 YARN 中最核心的组件之一,它是 ResourceManager 中的一个插拔式服务组件,负责整个集群资源的管理和分配。 Yarn 默认提供了三种可用资源调度器,分别是FIFO (First In First Out )、 Yahoo! 的 Capacity Scheduler 和 Facebook 的 Fair Scheduler。 本节会重点介绍资源调度器的基本框架,在之后文章中详细介绍 Capacity Scheduler 和 Fair Scheduler。 一、基本架构 资源调度器

二刷整合
2023/3/22 8:26:29

数组:内存空间连续,数据类型统一,下标从0开始 二分查找 704class Solution {public int search(int[] nums int target) { 方法一:暴力解法 f(int i = 0 i nums.length i++){ if(nums[i] == target){找到目标值 return i } } return 1 方法二:二分查找(元素有序且无重复元素),使用迭代,执行速度快,但是内存消耗大 return binarySea

keyclaok~web安全防护
2023/3/22 8:26:28

安全配置Security Defenses 通过对Security Defenses的配置 ,可以对http头添加相应的安全配置 ,如csp XFrameOptions XContentTypeOption等 1 XFrameOptions你的网站添加了XFrameOptions之后,保存了自己的网站不被其它网站引用,比如其它网站想iframe你的网站,通过XFrameOptions DENY之后,其它网站是不容许iframe你的网站的。参考:https:www.rfcedit.grfcrfc7034

linux使用汇总
2023/3/22 8:26:26

linux使用汇总 Linux的目录结构没有逻辑磁盘分区(C盘、D盘...)是一棵树形结构,根目录是根目录下边有几个文件夹,需要我们了解:etc:配置文件所在的文件夹。比如:安装JDK,配置环境变量,就要修改etcprofile文件usr:unix shared resource,系统共享资源文件夹。我们安装软件通常安装在:usrlocal下边home:家目录。每个用户登录Linux之后,默认进入的目录,是用户的家目录。(类似Windows的“我的文件夹)“)用户tom,有自己的家目录:hometom 用

屎上最全vue-pdf+Springboot与aspose-words整合,开箱即用
2023/3/22 8:26:24

前言 ⏲️本文阅读时长:约10分钟 🎯主要目标: 1.实现Springboot与asposewds整合,填充wd模板并转化PDF 2.前端vue整合vuepdf实现PDF预览及下载 wd模板重点(详见图示) 1.单属性赋值 2.List循环赋值 3.图片插入 4.对勾特殊符号插入干货代码 源码 https:gitee.comjavadogbootapose.git文件夹 描述bootapose java后台vueapose 前端vue对应工具下载 | 工具 | 描述| 地址| | | | | asp

为什么Tomcat架构要这么设计?这篇文章告诉你答案!
2023/3/22 8:26:23

Tomcat体系架构Tomcat项目结构bin目录bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。 很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径startup文件:主要是检查catalina.batsh 执行所需环境,并调用catalina.bat 批处理文件。启动tomcat。 catalina文件:真正启动Tomcat文件,可以在里面设置jvm参数。后面性能调优会重点讲 shutd

记录监控摄像头的接入过程及web端播放
2023/3/22 8:26:23

1.rtsp视频流网页播放概述 需求:当我们通过ONVIF协议,获取到了摄像头的rtsp流地址(长这样:rtsp:admin:123456789@192.168.9.16:554camrealmonitchannel=1&subtype=1&unicast=true&proto=Onvif)后,通过vlc播放器,我们可以查看监控视频内容,可是,我们应该如何在网页上查看视频内容呢?因为现在的浏览器都不支持rtsp流(详见:https:blog.csdn.SY__CSDNarticledetails12925

如何通过Java代码在Word中创建可填充表单
2023/3/22 8:26:22

有时候,我们需要制作一个Wd模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改。这时候我们就可以通过表单控件来轻松实现这一功能。本文将为您介绍如何通过Java代码,以编程方式在Wd中创建可填充表单。下面是我整理的步骤及方法,并附上Java代码供大家参考。 程序环境: 方法1:手动引入。将 Free Spire.Doc f Java 下载到本地,解压,找到lib文件夹下的Spire.Doc.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序

Java中的String类真的不可变吗?java面试常见问题
2023/3/22 8:26:21

其实在Java中,String类被final修饰,主要是为了保证字符串的不可变性,进而保证了它的安全性。那么final到底是怎么保证字符串安全性的呢?接下来就让我们一起来看看吧。 一. final的作用 1. final关键词修饰的类不可以被其他类继承,但是该类本身可以继承其他类,通俗地说就是这个类可以有父类,但不能有子类。final class MyTestClass1 { ... }2. final关键词修饰的方法不可以被覆盖重写,但可以被继承使用。class MyTestClass2 {fina

太坑了,我竟然从RocketMQ源码中扒出了7种导致消息重复消费的原因
2023/3/22 8:26:20

大家好,我是三友~~ 在众多关于MQ的面试八股文中有这么一道题,“如何保证MQ消息消费的幂等性”。 为什么需要保证幂等性呢?是因为消息会重复消费。 为什么消息会重复消费? 明明已经消费了,为什么消息会被再次被消费呢? 不同的MQ产生的原因可能不一样 本文就以RocketMQ为例,来扒一扒RocketMQ中会导致消息重复消息的原因,最终你会发现,其实消息重复消费算是RocketMQ无奈的“bug”。微信公众号:三友的java日记如果有对RocketMQ不熟悉的小伙伴,可以看看我之前写的 RocketMQ保姆

Java入门_一维数组_第一题_升序数组
2023/3/22 8:26:20

声明咱是个新手,没啥技术只会最基础的,见谅哈。 更简化的方法还请大佬指教。题目:已知有个升序数组的数组,要插入一个元素,该数组顺序依然是升序。 例如:{ 25 49 74 99 },添加‘ 77 ’后,数组为{ 25 49 74 77 99 }。思路:建立第一个数组,输入升序的数值。 建立索引,确立要添加的数值位置。 创建第二个数组,将数据拷贝一份随即插入要添加的数组。 销毁第一个数组,节约空间(说实话我感觉应该不缺这点空间吧嘿嘿)。最后遍历一遍并输出添加完的数组。初始代码如下:具体细节在代

剑指 Offer 07. 重建二叉树(java解题)
2023/3/22 8:25:57

目录1. 题目2. 解题思路个人思路3. 数据类型功能函数总结4. java代码 1. 题目 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1:Input: preder = [3920157] inder = [9315207] Output: [3920nullnull157] 示例 2: Input: preder = [1] inder = [1] Output: [1] 限制: 0 = 节点个数 = 5000

保姆级本地maven安装配置步骤【Windows】
2023/3/18 9:47:23

一、前期准备 1、首先需要安装并配置好本地JDK(WIN+R输入cmd,输入java version如下图)2、下载maven到本地(链接Maven – Download Apache Maven)其他历史版本在这里找:Index of mavenmaven3 (apache.g)二、解压缩并配置环境变量 1、解压maven压缩包到一个不包含空格以及中文的路径下。2、复制解压后的maven的bin的目录路径,添加到系统环境变量中。一路确定就可以。 3、验证是否配置成功。 win+R 运行cmd 输入 mv

自定义 Spring 通用日志注解
2023/3/18 9:47:23

目录自定义 Spring 通用日志注解1. 注解@Metrics2. 切面MetricsAspect3. 自动注入AutoConfiguration4. 配置文件MetricsProperties5. 其它配置配置自动注入配置文件提示 自定义 Spring 通用日志注解 1. 注解@Metrics @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD ElementType.TYPE}) public @interface Metr

buaa面向对象第一单元
2023/3/18 9:47:21

面向对象设计与构造第一单元 问题:表达式的化简表达式中仅含有\(xyz\)三种未知数 表达式仅含有\(+\sin\cosdxdydx\)几种运算 \(dxdydz\)分别表示对\(x\)求导,对\(y\)求导,对\(z\)求导。 表示乘方,例如\(23=2^3=8\) 包含若干自定义函数。 化简后的结果除必要括号(三角函数运算符号带的必要括号)外不含其他括号。架构设计 对于表达式的问题很自然就会想到用栈去处理。 定义运算符的优先级。运算符 优先级) 0+、 1 2 3( 4首先考虑如果表达式中不含字母

SpringBoot实现国际化中英文翻译
2023/3/18 9:47:20

SpringBoot实现国际化中英文翻译 配置IDEA 1.设置编码为UTF82.在resources目录下创建 i18n 文件夹 internationalization简写 ​ 在文件夹中创建配置文件login.properties ​ 再创建login_zh_CN.properties配置不同语言的properties enUS 英国(美国) zhCN 中文(简体,中国大陆) zhSG 中文(简体,新加坡) zhHK 中文(繁体,香港) zhMO 中文(繁体,澳门) zhTW 中文(繁体,台湾)I

性能优化搞得好,Tomcat少不了。| 博学谷狂野架构师
2023/3/18 9:47:18

Tomcat基本使用什么是Web服务器 web服务器的定义 其实并没有标准定义,一般认为Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。Web服务器的特点服务器是一种被动程序:只有当Inter上运行其他计算机中的浏览器发出的请求时,服务器才会响应。 服务器一般使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。 Web服务器不仅能够存

记一次生产频繁发生FullGC问题
2023/3/18 9:47:17

问题发现 早上过来,饭都没来的及吃,运维就给我发来信息,说是某个接口调用大量超时。因为最近这个接口调用量是翻倍了,所以我就去检查了下慢SQL,发现确实是有较多的慢SQL,所以我就缩减了查询的时间范围,但是效果并不好。 过了一会发现,这个服务fullGC是有问题的,太频繁了,这个应该是导致接口超时的根本问题,因为时间也是对的上的。 这个是最近三个小时fullGC的监控图:这个是最近三天fullGC的监控图:对比一下,就不难发现,fullGC数量是从3月15号晚上9点开始增加的,也是这个接口对外开放的时间。

读Java性能权威指南(第2版)笔记18_垃圾回收E
2023/3/18 9:47:16

1. 回收 1.1. 找到不使用的对象 1.2. 释放它们的内存 1.3. 压缩堆 1.4. 合在一起称为回收 2. Throughput回收器 2.1. 工作细节比较简单 2.1.1. 可以在同一个GC周期内完成回收 2.1.2. 在单次操作过程中回收新生代或老年代 2.2. Min GC 2.2.1. 当Eden空间被填满时,新生代回收就会发生 2.2.2. 新生代回收会将所有的对象移出Eden空间2.2.2.1. Eden空间一般是空的2.2.2.2. 不认为它被压缩了2.2.3. 另一些被移到老年

还在写恶心的trim代码吗?用这个注解让你舒舒服服
2023/3/18 9:47:10

背景 业务系统开发时,你是否踩过这样的坑:业务说列表筛选姓名精准查询查不到人? 导入数据时,明明看起来一样的ID却匹配不到DB里的数据? 看起来一样的内容,SQL Group By 时出现好几行? ……DEBUG后发现,原来要么时用户传入或者导入的数据里有个空格,要么是数据库里不知道什么时候已经存了一个前后有空格的值。总之,我们不知道它什么时候暴雷,开放的接口你也无法确定调用方(前端、服务间RPC调用、本应用内调用等)是否都帮你去除了两端空格,为了保证代码的健壮性,你只好写了如下般的代码: @PostMa

一天吃透分布式事务八股文
2023/3/15 9:19:31

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https:github.comTyson0314Javalearning简介 事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功

读Java性能权威指南(第2版)笔记17_垃圾回收D
2023/3/15 9:19:30

1. 元空间(metaspace) 1.1. 当JVM加载类时,它必须记录这些类的某些元数据,这些数据占据的一个单独的堆空间,即元空间 1.2. 元空间里的信息只在编译器和JVM运行时使用,它所保存的数据被称为类元数据(class metadata) 1.2.1. 对于终端用户,元空间是不透明的 1.2.2. 元空间并不保存类的实例或者反射对象 1.3. 通过永久代(permgen)的实现来处理的 1.4. 元空间的大小与它所使用的类的数量成正比 1.5. XX:MetaspaceSize=N 1.5.1

SpringMVC的原理及第一个程序
2023/3/15 9:19:29

1、回顾MVC 1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或 JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和

day03-分析SpringBoot底层机制
2023/3/15 9:19:27

分析SpringBoot底层机制 Tomcat启动分析,Spring容器初始化,Tomcat如何关联Spring容器? 1.创建SpringBoot环境 (1)创建Maven程序,创建SpringBoot环境 (2)pom.xml导入SpringBoot的父工程和依赖 !导入SpringBoot父工程规定写法 parentartifactIdspringbootstarterparentartifactIdgroupIdg.springframewk.bootgroupIdversion2.5.3vers