Java实现管线拓扑关系连通性分析Java实现管线拓扑关系连通性分析
管线拓扑关系的连通性分析通常涉及图论(Graph Theory)中的概念,特别是无向图(Undirected Graph)的遍历算法,如深度优先搜索(DFS, Depth-First Search)或广度优先搜索(BFS, Breadth-First Search)。
在管线拓扑中,管线可以被...[2024/6/25]
如何使用JavaScript实现在线Excel附件的上传与下载?
前言
在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求,例如在Excel中附带一些Word,CAD图等等。同样的,类比到Web端,现在很多人用的在线Excel是否也可以像本地一样实现附件文件的操作呢?答案是肯定的,不过和本地不同的是,Web端不会直接打开附件,而是使用超链...[2024/6/19]
跳槽!3年Java面试经验总结
中厂->阿里->字节,成都->杭州->成都
系列文章目录和关于我
0.前言
笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到成都字节。自认为自己在面试这方面有一点心得,处于记录和分享的目的便有了此文,此文纯主观,也许...[2024/6/19]
【解决方案】Java 互联网项目中消息通知系统的设计与实现(上)
目录前言一、需求分析1.1发送通知1.2撤回通知1.3通知消息数1.4通知消息列表二、数据模型设计2.1概念模型2.2逻辑模型三、关键流程设计本篇小结
前言
消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。...[2024/6/19]
Java与React轻松导出Excel/PDF数据
前言
在B/S架构中,服务端导出是一种高效的方式。它将导出的逻辑放在服务端,前端仅需发起请求即可。通过在服务端完成导出后,前端再下载文件完成整个导出过程。服务端导出具有许多优点,如数据安全、适用于大规模数据场景以及不受前端性能影响等。
本文将使用前端框架React和服务端框架Spring B...[2024/6/19]
Linux实时查看Java接口数据
1.Linux实时查看Java接口数据的方法
在Linux系统中实时查看Java接口数据通常涉及几个步骤:
(1)编写Java应用程序:首先,我们需要有一个Java应用程序,它暴露了一个或多个HTTP接口。这些接口应该返回我们想要实时查看的数据。
(2)使用HTTP工具或库:在Linux上,...[2024/6/19]
Fastjson基础环境配置与Java基础概念
Preface
此篇系列文章将会从 Java 的基础语法开始,以 Fastjson 的各个反序列化漏洞分析为结尾,详细记录如何从一个具有基础面向对象编程但毫无 Java 基础的小白成长为了解 Fastjson 的各个漏洞并能够熟练利用的网络安全人员。
环境配置
我们使用 IDEA 作为开发的 ...[2024/6/19]
C#.NET与JAVA互通之DES加密V2024
C#.NET与JAVA互通之DES加密V2024
配置视频:
环境:
.NET Framework 4.6 控制台程序
JAVA这边:JDK8 (1.8) 控制台程序
注意点:
1.由于密钥、明文、密文的输入输出参数,都是byte数组...[2024/6/17]
高级前端开发需要知道的 25 个 JavaScript 单行代码
1. 不使用临时变量来交换变量的值
例如我们想要将 a 于 b 的值交换
let a = 1, b = 2;
交换值
[a, b] = [b, a];
结果: a = 2, b = 1
这行代码使用数组解构赋值的方式来交换两个变量的值...[2024/6/17]
面试官:Java中缓冲流真的性能很好吗?我看未必
一、写在开头
上一篇文章中,我们介绍了Java IO流中的4个基类:InputStream、OutputStream、Reader、Writer,那么这一篇中,我们将以四个基类所衍生出来,应对不同场景的数据流进行学习。
二、衍生数据流分类
我们上面说了java.io包中有40多个类,都从I...[2024/6/17]
浅拷贝、深拷贝与序列化【初级Java必需理解的概念】
浅拷贝
首先创建两个类,方便理解浅拷贝
@Data
cla Student implements Cloneable{
年龄和名字是基本属性
private int age;
private String name;
书包是引用属性
private...[2024/6/17]
ThreadLocal 核心源码分析ThreadLocal 核心源码分析
ThreadLocal 简介
多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证和规避多线程访问出现线程不...[2024/6/17]
C#.NET与JAVA互通之MD5哈希V2024C#.NET与JAVA互通之MD5哈希V2024
C#.NET与JAVA互通之MD5哈希V2024
配套视频:
要点:
1.计算MD5时,SDK自带的计算哈希(ComputeHash)方法,输入输出参数都是byte数组。就涉及到字符串转byte数组转换时,编码选择的问题。
2.输入参数,...[2024/6/14]
CS后门源码特征分析与IDS入侵检测CS后门源码特征分析与IDS入侵检测
CS后门源码特征分析与IDS入侵检测考核作业
上线x64
getshell
抓心跳包,对特征字符解密Uqd3
用java的checksum8算法得到93,说明是x64的木马
public cla EchoTest {
public static long checksum8(...[2024/6/13]
Java线程池maximumPoolSize和workQueue哪个先饱和?Java线程池maximumPoolSize和workQueue哪个先饱和?
先说结论,真正的饱和顺序是corePoolSize -> workQueue -> maximumPoolSize。
我们都知道,线程池有以下参数
ThreadPoolExecutor(int corePoolSize, 核心线程数
int...[2024/6/13]
AlertManager解析:构建高效告警系统
本文深入探讨了AlertManager的技术细节和实际应用,从基本概念、核心组件、工作流程,到与Prometheus的集成和实战案例,旨在为专业人士提供一个全面的AlertManager技术和应用指南。
关注作者,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、A...[2024/6/13]
MapStruct - 注解汇总
@Mapper
@Mapper 将接口或抽象类标记为映射器,并自动生成映射实现类代码。
public @interface Mapper {
引入其他其他映射器
Cla <?>[] uses() default {};
将类import 到生成的实现...[2024/6/13]
Java实际工作里用到的几种加密方式
1、Base64加密
最简单的加密方式,甚至可以说不是加密,只是一种用64个字符表示任意二进制数据的方法。Base64编码原理是将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高位补0),然后将这些二进制数值串联起来,再按照6比特一组进行切分(因为2^6=64),最后一组若不...[2024/6/12]
Jenkins技术概述与开发实战
本文详细讲解了Jenkins的安装与配置、构建作业、流水线、构建、测试和部署的具体方法,涵盖关键概念、详细步骤及代码示例,旨在帮助专业从业者实现高效的CI/CD自动化流程。
关注作者,复旦博士,分享云服务领域全维度开发技术。拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济...[2024/6/12]
Jmeter进行HTTPS接口压测及SSL证书验证
一、前言
使用JMeter压测HTTPS接口比较简单,只需要预先处理SSL证书认证,后面就是压测HTTP接口的通用步骤。
HTTPS连接证书来验证浏览器和WEB服务器之间的连接。通过HTTP连接时,服务器会将证书提供给浏览器。为
了对证书进行身份验证,浏览器会检查服务器证书是否链接到其内...[2024/6/12]
面试官:如何自定义一个工厂类给线程池命名,我:现场手撕吗?
面试场景模拟
面试官:小伙子平时开发中用过线程池吗?聊一聊它
我:肯定用过啊,然后把build的线程池十八问一顿巴拉巴拉
面试官:不错不错,挺了解的嘛,那你知道怎么给线程池命名?手写一个工厂类给线程池命名吧
我:啊这,现场手撕吗?面试官默默的递上A4...
? ?如何给线程池命名?这...[2024/6/11]
面试官:你讲下接口防重放如何处理?
前言
我们的API接口都是提供给第三方服务/客户端调用,所有请求地址以及请求参数都是暴露给用户的。
我们每次请求一个HTTP请求,用户都可以通过F12,或者抓包工具fd看到请求的URL链接,然后copy出来。这样是非常不安全的,有人可能会恶意的刷我们的接口,那这时该怎么办呢?防重放攻击就出来了...[2024/6/11]
dubbo~全局异常拦截器的使用与设计缺陷~续
上一次的介绍,主要围绕如何统一去捕获异常,以及为每一种异常添加自己的Mapper实现,并且我们知道,当在ExceptionMapper中返回非200的Response,不支持application/json的响应类型,而是写死的text/plain类型。
Filter为二方包异常手动捕获
参考...[2024/6/11]
我有点想用JDK17了
大家好呀,我是summo,JDK版本升级的非常快,现在已经到JDK20了。JDK版本虽多,但应用最广泛的还得是JDK8,正所谓“他发任他发,我用Java8”。
其实我也不太想升级JDK版本,感觉投入高,收益小,不过有一次我看到了一些使用JDK17新语法写的代码,让我改变了对升级JDK的看法,因...[2024/6/5]
爪哇,我初窥门径
2017年3月,我大二下学期了。
虽说一直在学习,持续在解决学习中遇到的问题,但迷茫依旧。
对着黑框编程,还是不知道Java在现实工作中是用来干什么的。
说实话,真的挺枯燥无趣的。
逐渐,我开始意识到,持续搞这些基础,是没有意义的。
我在网上看他们讨论的Java问题,很多我都看不懂...[2024/6/5]
面试官:说一说如何优雅的关闭线程池,我:shutdownNow,面试官:粗鲁!
写在开头
面试官:“小伙子,线程池使用过吗,来聊一聊它吧!”
我:“好的,然后巴拉巴拉一顿输出之前看过的build哥线程池十八问...”
面试官满意的点了点头,紧接着问道:“那你知道如何优雅的关闭线程池吗?”
我:“知道知道,直接调用shutdownNow()方法就好了呀!”
面试官脸...[2024/6/3]
java中判断String类型为空和null的方法
1.判断一个String类型的变量是否为空(即长度为0)或者为null
在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查。这是因为null表示变量没有引用任何对象,而空字符串("")表示变量引用了一个没有内容的字符串对象。
下...[2024/6/3]
生产事故-误删文件开发运维险被同时开除
入职多年,面对生产环境,尽管都是小心翼翼,慎之又慎,还是难免捅出篓子。轻则满头大汗,面红耳赤。重则系统停摆,损失资金。每一个生产事故的背后,都是宝贵的经验和教训,都是项目成员的血泪史。为了更好地防范和遏制今后的各类事故,特开此专题,长期更新和记录大大小小的各类事故。有些是亲身经历,有些是经人耳...[2024/6/3]
一文了解JVM面试篇(上)
Java内存区域
1、如何解释 Java 堆空间及 GC?
当通过 Java 命令启动 Java 进程的时候,会为它分配内存。内存的一部分用于创建
堆空间,当程序中创建对象的时候,就从对空间中分配内存。GC 是 JVM 内部的一
个进程,回收无效对象的内存用于将来的分配。
2、JVM 的主...[2024/6/1]
bashrc和profile区别
转载请注明出处:
作用与目的:
.bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。
profile(通常指的是~/.profile...[2024/5/31]
Java交换map的key和value值
在Java中,我们都知道直接交换Map的key和value是不被允许的,因为Map的接口设计是基于key-value对的,其中key是唯一的,并且是不可变的(在HashMap等常见的实现中,虽然key的引用是不可变的,但key对象本身如果是可变的,它的内容是可以变化的,但这样做可能会导致不正确的...[2024/5/31]
Java遍历Map集合的方法
Java中遍历Map集合的常用方式主要有以下几种:
1.使用keySet()方法遍历
遍历Map的key集合,然后通过key获取value。
Map<String, Integer> map = new HashMap<>();
map.put("one", 1)...[2024/5/31]
爪哇,我初学乍道
>>上一篇(学校上课,是耽误我学习了。。)
2016年9月,我大二了。
自从我发现上课会耽误我学习,只要我认为不影响我期末学分的,我就逃课了。
绝大多数课都是要签到的,有的是老师突击喊名字,有的是手机打卡签到。
如果上课老师一开始就喊名字签到,签到环节结束,我就偷偷溜走了。
...[2024/5/31]
关于《Java并发编程之线程池十八问》的补充内容关于《Java并发编程之线程池十八问》的补充内容
一、写在开头
在上一篇文章我们写《Java并发编程之线程池十八问》的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。
二、Runnable vs Callable
在创建线程的时候,一般会选用 Runnable 和 Callable 两种方式。
...[2024/5/31]
JavaScript 中的 Range 和 Selection 对象
JavaScript 中的 Range 和 Selection 对象
前言
最近在做鼠标框选的需求,鼠标框选就需要用到 Range 和 Selection 对象。
Range 表示选择的区间范围,Selection 表示选择的文档内容。
下面就详细说下这两个对象
一、Range
Range...[2024/5/29]
关于对于Java中Entity以及VO,以及DTO中Request对象序列化的学习海山了-
关于 Serializable的探讨
前提引入
是由于软件测试上有同学提到说,什么该字段在程序刚运行时,导致jvm激增,所以吸引了我的注意
回顾代码
MybatisPlus Generator自动生成的entity中就经常带有这个,
而且我在开发代码的时候VO,以及DTO常常是直接复制对应的...[2024/5/27]
Java 对象的揭秘
前言
作为一个 Java 程序员,我们在开发者最多的操作要属创建对象了。那么你了解对象多少?它是如何创建?如何存储布局以及如何使用的?本文将对 Java 对象进行揭秘,以及讲解如何使用 JOL 查看对象内存使用情况。
本文是基于 HotSpot 虚拟机。
一、对象是如何创建的
1. ...[2024/5/27]
研二学妹面试字节,竟倒在了ThreadLocal上,这是不要应届生还是不要女生啊?
一、写在开头
? ? 今天和一个之前研二的学妹聊天,聊及她上周面试字节的情况,着实感受到了Java后端现在找工作的压力啊,记得在18,19年的时候,研究生计算机专业的学生,背背八股文找个Java开发工作毫无问题,但现在即便你是应届生,问的考题也非常的深入和细节了,只会背八股,没有一定的代码量和项...[2024/5/27]
Java计算百分比保留整数
1.Java计算百分比保留整数的方法步骤
在Java中计算百分比并保留整数,通常涉及以下步骤:
(1)计算原始数值与基准数值的百分比(通常使用 (原始数值 / 基准数值) * 100 的公式)。
(2)使用 Math.round() 方法对得到的百分比进行四舍五入到最接近的整数。
以下是一...[2024/5/22]
京东二面:Sychronized的锁升级过程是怎样的京东二面:Sychronized的锁升级过程是怎样的
引言
Java作为主流的面向对象编程语言,提供了丰富的并发工具来帮助开发者解决多线程环境下的数据一致性问题。其中,内置的关键字"Synchronized"扮演了至关重要的角色,它能够确保在同一时刻只有一个线程访问特定代码块或方法,从而有效地防止数据竞争和保持内存可见性。
在传统的Synchro...[2024/5/22]
阿里面试:说说自适应限流?
限流想必大家都不陌生,它是一种控制资源访问速率的策略,用于保护系统免受过载和崩溃的风险。限流可以控制某个服务、接口或系统在一段时间内能够处理的请求或数据量,以防止系统资源耗尽、性能下降或服务不可用。
常见的限流策略有以下几种:
令牌桶算法:基于令牌桶的方式,限制每个单位时间内允许通过的请求量...[2024/5/22]
记一次ThreadLocal中的用户信息混乱问题记一次ThreadLocal中的用户信息混乱问题
前言
记录一次开发中遇到的关于 ThreadLocal 问题,场景是数据库表中的操作人总是无缘无故的被更改,排查了几遍代码才发现是 ThreadLocal 没有及时清理导致的。
一、为什么使用 ThreadLocal
1. ThreadLocal 的好处
一般的项目设计开发中,用户登录后,我...[2024/5/15]
MQ消息积压,把我整吐血了
前言
我之前在一家餐饮公司待过两年,每天中午和晚上用餐高峰期,系统的并发量不容小觑。
为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。
我当时在后厨显示系统团队,该系统属于订单的下游业务。
用户点完菜下单后,订单系统会通过发kafka消息给我们系统,系...[2024/5/15]
谈谈 JVM 垃圾回收机制
前言
垃圾回收需要思考三件事情,哪些内存需要回收?什么时候回收?如何回收?
一、哪些内存需要回收
JVM 的内存区域中,程序计数器、虚拟机栈和本地方法栈的生命周期是随线程而生,随线程而灭的。这几个区域的内存分配和回收都具有确定性,不需要过多考虑回收问题,当方法或线程结束时,内存自然...[2024/5/15]
inno Setup 打包Java exe可执行文件和MySQL数据库,无需额外配置实现一键傻瓜式安装
前言
出现有需要打包 Java 应用和 Mysql数据库成一个安装包给出去的需求,这里我把整个打包的流程整理一下。
环境
JDK17;
MySQL 5.7;
流程
Jpackage打包EXE
Jpackage是JDK14后加入的一个用于独立打包的工具,能够将应用打包成exe,有了Jpack...[2024/5/13]
【问题解决】java.lang.NoSuchMethodError错误【问题解决】java.lang.NoSuchMethodError错误
问题现象
近期本人负责的一个SpringBoot模块出现了java.lang.NoSuchMethodError报错,问题情况如下:
A类提供了setJumpType(String type),B类调用A类的setJumpType(String type)报错java.lang.NoSuchM...[2024/5/13]
Java面试题:如果你这样做,你会后悔的,两次启动同一个线程~~~
当一个线程被启动后,如果再次调start()方法,将会抛出IllegalThreadStateException异常。
这是因为Java线程的生命周期只有一次。调用start()方法会导致系统在新线程中运行执行体,但是如果线程已经结束,则不能再次使用,需要重新创建一个新的线程对象并...[2024/5/13]
Java面试题:线程池内“闹情绪”的线程,怎么办?
在Java中,线程池中工作线程出现异常的时候,默认会把异常往外抛,同时这个工作线程会因为异常而销毁,我们需要自己去处理对应的异常,异常处理的方法有几种:
在传递的任务中去处理异常,对于每个提交到线程池中的执行的任务,可以提前通过异常进行捕获,这样即便出现了异常,也不会影响线程池中的工作线程...[2024/5/13]
apisix~jwt-auth插件
在网关开启jwt-auth插件之后,你的网关就具有了jwt解析和校验的功能,主要是校验jwt token的有效性,包含过期时间和签名等。
https: apisix.apache.org/doc apisix/plugin jwt-auth/
支持的签名算法
"HS256"
"HS512"...[2024/5/11]
synchronized原理-字节码分析、对象内存结构、锁升级过程、Monitor - lz-zxy
本文分析的问题:
synchronized 字节码文件分析之 monitorenter、monitorexit 指令
为什么任何一个Java对象都可以成为一把锁?
对象的内存结构
锁升级过程
Monitor 是什么、源码查看
synchronized是基于mo...[2024/5/11]