
读Java性能权威指南(第2版)笔记24_ Java飞行记录器JFR
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的基本使用
复习 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版)
使用方式 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-拦截器&文件上传
拦截器&文件上传 1.拦截器Intercept 1.1拦截器概念拦截器拦截器(Intercept):是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。在SpringBoot中,拦截器是开发的常用手段,要用来登录验证、性能检查、日志记录等 (1)SpringBoot中拦截器实现的基本步骤:编写一个拦截器实现 HlerIntercept 接口 拦截器注册到配置类中(实现 WebMvcConfigurer 的 addIntercepts) 指定拦截规则(2)拦截器执行顺序preHle
day08-2-Thymeleaf
服务器渲染技术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>之间的区别
传递依赖 依赖管理是maven提供的主要功能之一,无论我们需要什么依赖,只需将它们添加到 POM.xml 中,在构建或运行时所有必要的类和资源都会自动添加到项目的 classpath 中。 Maven 中的依赖是有传递(Transitive)性的,默认会包含传递的依赖,这样就不用手动引用每一个依赖了。比如下面这个依赖关系中,A 依赖 B,B 依赖了 C……,如果你依赖 A 的话,就会自动包含 ABCDEA├── B│ └── C│ └── D └── E└── D 但是传递依赖也带来了一
【深入浅出 Yarn 架构与实现】5-1 Yarn 资源调度器基本框架
资源调度器是 YARN 中最核心的组件之一,它是 ResourceManager 中的一个插拔式服务组件,负责整个集群资源的管理和分配。 Yarn 默认提供了三种可用资源调度器,分别是FIFO (First In First Out )、 Yahoo! 的 Capacity Scheduler 和 Facebook 的 Fair Scheduler。 本节会重点介绍资源调度器的基本框架,在之后文章中详细介绍 Capacity Scheduler 和 Fair Scheduler。 一、基本架构 资源调度器
二刷整合
数组:内存空间连续,数据类型统一,下标从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安全防护
安全配置Security Defenses 通过对Security Defenses的配置 ,可以对http头添加相应的安全配置 ,如csp XFrameOptions XContentTypeOption等 1 XFrameOptions你的网站添加了XFrameOptions之后,保存了自己的网站不被其它网站引用,比如其它网站想iframe你的网站,通过XFrameOptions DENY之后,其它网站是不容许iframe你的网站的。参考:https:www.rfcedit.grfcrfc7034
linux使用汇总
linux使用汇总 Linux的目录结构没有逻辑磁盘分区(C盘、D盘...)是一棵树形结构,根目录是根目录下边有几个文件夹,需要我们了解:etc:配置文件所在的文件夹。比如:安装JDK,配置环境变量,就要修改etcprofile文件usr:unix shared resource,系统共享资源文件夹。我们安装软件通常安装在:usrlocal下边home:家目录。每个用户登录Linux之后,默认进入的目录,是用户的家目录。(类似Windows的“我的文件夹)“)用户tom,有自己的家目录:hometom 用
屎上最全vue-pdf+Springboot与aspose-words整合,开箱即用
前言 ⏲️本文阅读时长:约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架构要这么设计?这篇文章告诉你答案!
Tomcat体系架构Tomcat项目结构bin目录bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。 很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径startup文件:主要是检查catalina.batsh 执行所需环境,并调用catalina.bat 批处理文件。启动tomcat。 catalina文件:真正启动Tomcat文件,可以在里面设置jvm参数。后面性能调优会重点讲 shutd
记录监控摄像头的接入过程及web端播放
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中创建可填充表单
有时候,我们需要制作一个Wd模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改。这时候我们就可以通过表单控件来轻松实现这一功能。本文将为您介绍如何通过Java代码,以编程方式在Wd中创建可填充表单。下面是我整理的步骤及方法,并附上Java代码供大家参考。 程序环境: 方法1:手动引入。将 Free Spire.Doc f Java 下载到本地,解压,找到lib文件夹下的Spire.Doc.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序
Java中的String类真的不可变吗?java面试常见问题
其实在Java中,String类被final修饰,主要是为了保证字符串的不可变性,进而保证了它的安全性。那么final到底是怎么保证字符串安全性的呢?接下来就让我们一起来看看吧。 一. final的作用 1. final关键词修饰的类不可以被其他类继承,但是该类本身可以继承其他类,通俗地说就是这个类可以有父类,但不能有子类。final class MyTestClass1 { ... }2. final关键词修饰的方法不可以被覆盖重写,但可以被继承使用。class MyTestClass2 {fina
太坑了,我竟然从RocketMQ源码中扒出了7种导致消息重复消费的原因
大家好,我是三友~~ 在众多关于MQ的面试八股文中有这么一道题,“如何保证MQ消息消费的幂等性”。 为什么需要保证幂等性呢?是因为消息会重复消费。 为什么消息会重复消费? 明明已经消费了,为什么消息会被再次被消费呢? 不同的MQ产生的原因可能不一样 本文就以RocketMQ为例,来扒一扒RocketMQ中会导致消息重复消息的原因,最终你会发现,其实消息重复消费算是RocketMQ无奈的“bug”。微信公众号:三友的java日记如果有对RocketMQ不熟悉的小伙伴,可以看看我之前写的 RocketMQ保姆
Java入门_一维数组_第一题_升序数组
声明咱是个新手,没啥技术只会最基础的,见谅哈。 更简化的方法还请大佬指教。题目:已知有个升序数组的数组,要插入一个元素,该数组顺序依然是升序。 例如:{ 25 49 74 99 },添加‘ 77 ’后,数组为{ 25 49 74 77 99 }。思路:建立第一个数组,输入升序的数值。 建立索引,确立要添加的数值位置。 创建第二个数组,将数据拷贝一份随即插入要添加的数组。 销毁第一个数组,节约空间(说实话我感觉应该不缺这点空间吧嘿嘿)。最后遍历一遍并输出添加完的数组。初始代码如下:具体细节在代
剑指 Offer 07. 重建二叉树(java解题)
目录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】
一、前期准备 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 通用日志注解
目录自定义 Spring 通用日志注解1. 注解@Metrics2. 切面MetricsAspect3. 自动注入AutoConfiguration4. 配置文件MetricsProperties5. 其它配置配置自动注入配置文件提示 自定义 Spring 通用日志注解 1. 注解@Metrics @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD ElementType.TYPE}) public @interface Metr
buaa面向对象第一单元
面向对象设计与构造第一单元 问题:表达式的化简表达式中仅含有\(xyz\)三种未知数 表达式仅含有\(+\sin\cosdxdydx\)几种运算 \(dxdydz\)分别表示对\(x\)求导,对\(y\)求导,对\(z\)求导。 表示乘方,例如\(23=2^3=8\) 包含若干自定义函数。 化简后的结果除必要括号(三角函数运算符号带的必要括号)外不含其他括号。架构设计 对于表达式的问题很自然就会想到用栈去处理。 定义运算符的优先级。运算符 优先级) 0+、 1 2 3( 4首先考虑如果表达式中不含字母
SpringBoot实现国际化中英文翻译
SpringBoot实现国际化中英文翻译 配置IDEA 1.设置编码为UTF82.在resources目录下创建 i18n 文件夹 internationalization简写 在文件夹中创建配置文件login.properties 再创建login_zh_CN.properties配置不同语言的properties enUS 英国(美国) zhCN 中文(简体,中国大陆) zhSG 中文(简体,新加坡) zhHK 中文(繁体,香港) zhMO 中文(繁体,澳门) zhTW 中文(繁体,台湾)I
性能优化搞得好,Tomcat少不了。| 博学谷狂野架构师
Tomcat基本使用什么是Web服务器 web服务器的定义 其实并没有标准定义,一般认为Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。Web服务器的特点服务器是一种被动程序:只有当Inter上运行其他计算机中的浏览器发出的请求时,服务器才会响应。 服务器一般使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。 Web服务器不仅能够存
记一次生产频繁发生FullGC问题
问题发现 早上过来,饭都没来的及吃,运维就给我发来信息,说是某个接口调用大量超时。因为最近这个接口调用量是翻倍了,所以我就去检查了下慢SQL,发现确实是有较多的慢SQL,所以我就缩减了查询的时间范围,但是效果并不好。 过了一会发现,这个服务fullGC是有问题的,太频繁了,这个应该是导致接口超时的根本问题,因为时间也是对的上的。 这个是最近三个小时fullGC的监控图:这个是最近三天fullGC的监控图:对比一下,就不难发现,fullGC数量是从3月15号晚上9点开始增加的,也是这个接口对外开放的时间。
读Java性能权威指南(第2版)笔记18_垃圾回收E
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代码吗?用这个注解让你舒舒服服
背景 业务系统开发时,你是否踩过这样的坑:业务说列表筛选姓名精准查询查不到人? 导入数据时,明明看起来一样的ID却匹配不到DB里的数据? 看起来一样的内容,SQL Group By 时出现好几行? ……DEBUG后发现,原来要么时用户传入或者导入的数据里有个空格,要么是数据库里不知道什么时候已经存了一个前后有空格的值。总之,我们不知道它什么时候暴雷,开放的接口你也无法确定调用方(前端、服务间RPC调用、本应用内调用等)是否都帮你去除了两端空格,为了保证代码的健壮性,你只好写了如下般的代码: @PostMa
一天吃透分布式事务八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https:github.comTyson0314Javalearning简介 事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功
读Java性能权威指南(第2版)笔记17_垃圾回收D
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的原理及第一个程序
1、回顾MVC 1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或 JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和
day03-分析SpringBoot底层机制
分析SpringBoot底层机制 Tomcat启动分析,Spring容器初始化,Tomcat如何关联Spring容器? 1.创建SpringBoot环境 (1)创建Maven程序,创建SpringBoot环境 (2)pom.xml导入SpringBoot的父工程和依赖 !导入SpringBoot父工程规定写法 parentartifactIdspringbootstarterparentartifactIdgroupIdg.springframewk.bootgroupIdversion2.5.3vers