Java

Tomcat部署及优化

目录1.Tomcat(1)Tomcat 核心的组件(2)Tomcat 功能组件结构(1)connect连接器(2)conntainer容器2.Tomcat安装部署(1)先安装 JDK(2)再安装启动Tomcat(1)优化tomcat启动速度3.虚拟主机配置(1)Tomcat虚拟主机配置4.Tomcat多实例部署(1)Tomcat的端口5.Tomcat优化 Tomcat 一款JAVA开发的开源Web

JavaScript 学习笔记

MDN Docs 学习笔记 MDN Docs JavaScript 教程 | 廖雪峰的官方网站 在 .html 文件中引入 JavaScript 浏览器会按照代码在文件中的顺序加载 HTML。如果先加载的 JavaScript 想要修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。因此,将 JavaScript 代码放在 HTML 页面的底部附近通常是最好的策略。 如何确保

java发送get请求带参数

在Java中,你可以使用java.net.HttpURLConnection或者org.apache.http.client.HttpClient来发送GET请求。以下是使用java.net.HttpURLConnection发送带参数的GET请求的示例代码: 在这个例子中,sendGetRequest方法接受一个URL和一个参数Map,然后构建URL,并发送GET请求。返回的响应会被读取并

Spring AOP基于xml的方式实现

创建目标类 首先,创建一个简单的服务类,该类包含一些业务方法。 创建切面类 配置Spring XML 测试:

鸿蒙前端开发3-ArkTS语言基本语法

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-basic-syntax-0000001504650057-V2 1.基本语法       装饰器       用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@

JoinPoint和ProceedingJoinPoint区别

在Java中,JoinPoint 和 ProceedingJoinPoint 是Aspect-Oriented Programming (AOP) 的概念,通常与AspectJ框架或Spring AOP一起使用。JoinPoint 表示一个连接点,即程序执行中的一个具体点,如方法调用或异常处理。ProceedingJoinPoint 是 JoinPoint 的一个子接口,它表示一个可以继续执行的连

SpringBoot 学习笔记

表示层 > 业务层 > 持久层 > 数据库 使用分层结构进行解耦 表示层 controller 包 用来存放表示层的各种动作类。 命名规范:xxxController 如何让一个类变为动作类:使用 @RestControl 注解 业务层 面向接口编程,业务层包括业务层接口和其实现类。 service 包 存放各种接口。命名规范:xxxService impl 包 存放接口的实

Vue 学习笔记

Vue.js Vue 常用官网 vue.js v-charts(图表,地图) webpack vue-router axios vue-cli Element-Plus 白卷 Vue CLI: Vue 官方提供的脚手架工具 页面上使用 Vue,CDN 导入 js 可以用。 从这里开始——创建一个 Vue 实例 创建 Vue 应用实例 挂载应用 模板语法 v- 开头的是指令,指令的

第一篇 LeetCode(42)接雨水

LeetCode(42)接雨水 力扣官网 题目描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 基本思路: 基础解题思路:看到这道题时,应该要能够想到要遍历数组,关键是要如何遍历 遍历方法通常情况下有:单指针(从左往右或者从右往左或者二者结合),双指针(一个从左往右遍历,一个从右往左遍历),’二者结合‘的意思区别于双指针,’二者结合‘

Dynamo: Amazon’s Highly Available Key-value Store

  《Dynamo: Amazon’s Highly Available Key-value Store》这篇发表于07年,虽然时间久远但仍是一篇值得一读的文章,当然现在 Amazon 的 DynamoDB跟这篇文章介绍的架构应该是完全不一样了。感兴趣的同学可以再去读一下《Amazon DynamoDB: A Scalable, Predictably Performant, and Fully

Dubbo消费消息的唯一性

在Dubbo中,如果要保证消息的唯一性,通常是指需要确保消费者接收到的消息是没有被其他消费者重复消费的。这通常涉及到分布式环境下的消息传递和处理,可以通过以下几种方式实现: 使用消息队列提供的唯一性保证机制: 对于Kafka,可以使用消息的唯一ID(例如:消息的offset)。 对于RabbitMQ,可以使用消息的唯一ID(例如:消息的Message ID)。 使用Dubbo的Invo

6_10总结

本文只是做一个简单介绍,具体见博客:https://blog.csdn.net/dream_ready/article/details/137932088 一、介绍 使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。 官网:https://swagger.io/ Knife4j是为Java MVC框架集成Swagger生成Api文档的增

C#.NET与JAVA互通之AES加密解密V2024

C#.NET与JAVA互通之AES加密解密V2024   视频:       注意点: 1. KEY 和 IV 从字符串转byte数组时,双方要约定好编码,一般是UTF8。 2.明文从字符串转byte数组时,双方要约定好编码,一般是UTF8,也可以GB2312,但不能Encoding.Default。 3.加密后的结果,从byte数组转字符串时,双方要约定

COLA实践代码

COLA实践代码 同步BiliBili视频 代码 https://gitee.com/XuXiaoCong/cola-springboot-demo https://github.com/xuxiaocong/cola-springboot-demo 该项目为COLA+SpringBoot搭建的单体项目 适用人群 已有SpringBoot基础,使用SSM开发过项目 尝试DDD,并且落地项

JVM宕机分析

1、JVM崩溃常见原因 常见的能够引起JVM崩溃的原因主要有: 内存溢出 线程阻塞 CPU 使用率过高 JVM Crash Java虚拟机自身的Bug JDK与服务器(CPU、内存、操作系统)的兼容性   2、hs_err_pid 日志文件分析 hs_err_pid.log 文件是一个 Java 虚拟机(JVM)生成的错误报告日志文件,通常包含了 JVM 崩溃时的详细信息。

面试官:你讲下接口防重放如何处理?

前言 我们的API接口都是提供给第三方服务/客户端调用,所有请求地址以及请求参数都是暴露给用户的。 我们每次请求一个HTTP请求,用户都可以通过F12,或者抓包工具fd看到请求的URL链接,然后copy出来。这样是非常不安全的,有人可能会恶意的刷我们的接口,那这时该怎么办呢?防重放攻击就出来了。 什么是防重放攻击 我们以掘金文章点赞为例。当我点赞之后,H5会发送一个请求给到掘金后端服务器,我可以通

Leetcode-374

题目374.猜数字大小 难度:简单 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。 你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0): -1:我选出的数字比你猜的数字小 pick

从零手写实现 nginx-15-nginx.conf 解析处理转换为 POJO

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 如果你对 nginx 原理感兴趣,可以阅读: 从零手写实现 nginx-01-为什

渗透流程梳理

概念认知 我一直对渗透测试都没有一个完整的理解。大学的注意精力都放在了打ctf和java安全研究去了。接触渗透也只是去参与某个环节。最近实习工作和出于个人的技能的考虑,去系统的参与了些项目和和问了下大哥,现在有了一些初步的理解了。 我们先看下定义,渗透测试是针对计算机系统进行的一种模拟网络攻击,目的是为了寻找可能被利用的漏洞。这是一项自我评估测试,用于评估计算机系统和网络中可被利用的漏洞。确实

[译]Jetty 9 使用 jetty.sh 启动 Unix 服务

每个单独发行的Jetty版本都有bin/jetty.sh这个脚本,可以在各种Unix(包括OS X)系统中用来管理jetty的启动。 这个脚本适用于在Unix中把Jetty设置为服务。 快速启动Jetty服务 以下是运行Jetty服务的最短步骤: 从这个简单的例子中,我们可以看到在/opt/jetty/jetty-distribution-9.3.1-SNAPSHOT文件夹下的Jetty作为Un

使用Java结合Redis的bitmap结构实现布隆过滤器

前言 最近在研究布隆过滤器(如果不了解什么是布隆过滤器的,推荐看这篇如何判断一个元素在亿级数据中是否存在?了解),发现Guava提供了封装好的类,但是只能单机使用,一般现在的应用都是部署在分布式系统的,所以想找个可以在分布式系统下使用的布隆过滤器,找了半天只找到一个基于redis开发的模块项目ReBloom,但是这个是需要额外安装的,而且文档里只说了怎么在docker下运行,没研究过docker

记一次锁使用不当导致Dubbo线程阻塞问题

背景 线上环境一个后台项目,提供基于dubbo实现的事件分发服务,最近突然出现心跳超时。 问题分析 检查内存是否溢出 意料之中,内存正常,因为内部有接入内存溢出告警,如果是内存溢出应该有收到通知,但是这次没有溢出通知。 查看线程栈 发现有大量DubboServerHandler开头的线程阻塞在一个同样的地方,脱敏简化后信息如下: 可以看到线程正在申请加锁,找到相关人员确认了这个不是业务代码而

在Ubuntu上使用Jetty部署War包

前提 有一台装有Ubuntu系统的服务器和一个可以部署的War包 安装Java 创建文件夹 进入https://www.oracle.com/technetwork/java/javase/downloads/index.html找到需要安装的JDK版本下载地址 下载JDK 有些版本不支持这种方式下载,所以只能手动下载后再上传到服务器 解压JDK 安装Java软链 其中jdk-13是

Java8 Stream完全使用指南

什么是Stream Stream是Java 1.8版本开始提供的一个接口,主要提供对数据集合使用流的方式进行操作,流中的元素不可变且只会被消费一次,所有方法都设计成支持链式调用。使用Stream API可以极大生产力,写出高效率、干净、简洁的代码。 如何获得Stream实例 Stream提供了静态构建方法,可以基于不同的参数创建返回Stream实例 使用Collection的子类实例调用strea

记一次堆外内存泄漏排查过程

本文涉及以下内容 开启NMT查看JVM内存使用情况 通过pmap命令查看进程物理内存使用情况 smaps查看进程内存地址 gdb命令dump内存块 背景 最近收到运维反馈,说有项目的一个节点的RSS已经是Xmx的两倍多了,因为是ECS机器所以项目可以一直运行,幸亏机器内存充足,不然就可能影响到其他应用了。 排查问题 通过跳板机登录到目标机器,执行top命令,再按c,看到对应的进程所占用的RES

springboot+vue前后端分离项目-vue项目搭建

1.vue.js官网学习vue的语法等知识,有html、css、JavaScript基础。 vue官网:https://cn.vuejs.org 2.下载node.js,使用其中的npm包管理工具构建vue项目,npm管理依赖,类似maven,node-v查看版本,建议14以上 nodejs官网:https://nodejs.org/zh-cn/ 3.cmd到项目路径下,npm -v检查npm版

后端接口性能优化分析

  原文链接:https://blog.csdn.net/qq_40851232/article/details/134401234   定位问题 1.慢查询日志 通常情况下,为了定位sql的性能瓶颈,我们需要开启mysql的慢查询日志。把超过指定时间的sql语句,单独记录下来,方面以后分析和定位问题。 开启慢查询日志需要重点关注三个参数: slow_query_log 慢查询

Attacking organizations with big scopes: from zero to hero -- by Hussein Daher

SRC意识:1.模仿与抄袭某个知识点,某个writeup,某个主题,某个赏猎报告等;2.对现网中所有实际SRC目标进行遍历;3.枯草且乏味的持之以恒的坚持前面的第1步与第2步。 错误的SRC意识:学了OWASP TOP 10和BP官网靶场的所有漏洞主题之后依旧在SRC方面没有表现出应该具备的自信心?错误的做法在于,选择太多反而没有行动,从一种方法开始行动。就挖一个漏洞。直到枯草且乏味的挖到吐再添

scoop-软件包管理器

scoop scoop官网 https://scoop.sh/ 项目github地址 https://github.com/ScoopInstaller/Scoop 安装scoop 安装软件 git scoop及bucket更新均依赖此软件,如果电脑上已经手动那装过,只需要在环境变量path下添加git目录即可。 aria2 用于加速下载,安装之后下载软件报错,解决办法:scoop中使用

JUC及多线程,线程安全

JUC及多线程 返回到 Java开发知识汇总 目录 @程序员猴哥 1.什么是JUC java.util.concurrent:核心并发工具类。 java.util.concurrent包含了许多线程安全,测试良好,高性能的并发模块。创建java.util.concurrent的目的就是要实现Collection框架对数据结构所执行的并发操作。 2.线程和进程 线程:程序语句快,是一

<<  <  339  340  341  342  343  344  345  346  347  348  349  >  >>