Java
通过stream的toMap的功能
通过先查询出所有对象,通过java8的stream中tomap方法,把集合对象变为map的key和value对象,key是用唯一的字段,比如id或者code等 下面的集合可以使用stream的peek的遍历,将其map进行匹配,记住需要返回判空
RxJava快速入门
简单来说RxJava是一个实现响应式编程的类库。 那什么是响应式编程? 响应式编程的核心思想是"数据流是第一等公民”,程序的逻辑建立在数据流的变化之上。 响应式编程的几个核心概念: (1)数据流:在响应式编程中,数据以流(Streans)的形式存在。流就像一条河,源源不断。比如一个数组或集合可以看作一个数据流,数组或集合中的每个元素视为数据流中的数据项。 (2)异步处理:传统的同步编程模型中,当执
为什么StampedLock会导致CPU100%?
StampedLock 是 Java 8 引入的一种高级的锁机制,它位于 java.util.concurrent.locks 包中。与传统的读写锁(ReentrantReadWriteLock)相比,StampedLock 提供了更灵活和更高性能的锁解决方案,尤其适用于读操作远多于写操作的场景。 1.特点展示 相比于 Java 中的其他锁,StampedLock 具有以下特点: 读写分离:St
Java线程的六种状态
OS 中的进程/线程状态 操作系统中的进程/线程状态转换图: Java 线程的六个状态: NEW 处于 NEW 状态的线程此时尚未启动。这里的尚未启动指的是还没调用 Thread 实例的start()方法。 反复调用同一个线程的 start 方法不可行,会抛出 IllegalThreadStateException 异常 RUNNABLE 表示当前线程正在运行中。处于 RUNNABL
接口防刷!利用redisson快速实现自定义限流注解
问题: 在日常开发中,一些重要的对外接口,需要加上访问频率限制,以免造成资��损失。 如登录接口,当用户使用手机号+验证码登录时,一般我们会生成6位数的随机验证码,并将验证码有效期设置为1-3分钟,如果对登录接口不加以限制,理论上,通过技术手段,快速重试100000次,即可将验证码穷举出来。 解决思路:对登录接口加上限流操作,如限制一分钟内最多登录5次,登录次数过多,就返回失败提示,或者将账号锁定
杂谈:Vue 的 Diff 算法
Vue.js 使用虚拟 DOM 来高效地更新用户界面,其中的 Diff 算法是关键。Diff 算法负责找出新旧虚拟 DOM 之间的差异,并高效地更新实际 DOM。本文将详细解析 Vue 的 Diff 算法的工作原理和在实际开发中的应用。 1. 什么是虚拟 DOM 虚拟 DOM 是一个轻量级的 JavaScript 对象,用于描述 DOM 结构。通过对比新旧虚拟 DOM,Vue 能够找到变化的部分,
日志之ELK使用讲解
目录1 ELK1.1 ELK 简介1.1.1 Logstash1.1.2 Elasticsearch1.1.3 Kibana1.2 ELK 实现方案1.3 ELK 平台搭建1.3.1 安装 Logstash1.3.2 安装 Elasticsearch1.3.3 安装 Kibana1.4 在 SpringBoot 中使用 ELK1.4.1 修改并部署 Spring Boot 项目1.4.2 配置 S
JavaWeb基本概念和Tomcat
JavaWeb 基本概念 在Java中,动态web资源开发的技术统称为JavaWeb 动态Web: 类似淘宝,几乎所有的网站 提供给所有人看的数据始终会发生变化,千人千面 技术栈:Servlet/JSP ,ASP,PHP web应用程序 web应用程序:可以提供浏览器访问的程序; a.html、b.html......多个web资源,这些web资源都可以被外界访问,对外界提供服务 能访问到
C#实现HttpUtility.UrlEncode输出大写字母
在c#中,HttpUtility.UrlEncode("www+mzwu+com")编码结果为www%2bmzwu%2bcom,在和Java开发的平台做对接的时候,对方用用url编码后再对其进行MD5加密,url编码之后的字符串为大(www%2Bmzwu%2Bcom)写这样加密出来的字符串就.net平台的不匹配, 以下供上方法就是解决HttpUtility.UrlEncode编码由小写
只会建数据库怎么写API?database2api 能帮到你!
database2api 意为 DataBase to API,即只要有数据库,就可以生成开放 API。 database2api 是一款强大而便捷的工具,主要功能是依据现有的数据库自动生成开放的 API 接口,能够为开发者大幅节省时间与精力,尤其适用于那些已拥有数据库且需要提供 API 接口,或者仅会构建数据库、而需要迅速实现 API 接口的场景。 一、功能介绍 database2api 能够智
java创建线程池的几中方式
1.创建线程池四种方式 使用 Executors 类,Executors 类是 Java 中用于创建线程池的工厂类,它提供了多种静态方法来创建不同类型的线程池 使用 ThreadPoolExecutor 类,ThreadPoolExecutor 是 Java 中线程池的一个核心类,它提供了更细粒度的控制来创建和管理线程池 使用 Future 和 Callable,Future 和 Ca
13、.Net相关的书籍 - .Net循序渐进系列文章
这篇博文介绍.Net相关的书籍。 1、 ASP.NET。 ASP.NET作为微软.NET体系里的重要组成部分,得到了微软合作伙伴以及众多的微软编程爱好者的欢迎。ASP.NET在经历了好几个版本的更新之后,其内容也越来越充实了。目前ASP.NET的版本是4.0版,其中增
RabbitMQ——死信队列介绍和应用
死信和死信队列的概念 什么是死信?简单来说就是无法被消费和处理的消息。一般生产者将消息投递到broker或者queue,消费者直接从中取出消息进行消费。但有时因为某些原因导致消息不能被消费,导致消息积压在队列中,这样的消息如果没有后续的处理就会变成死信,那么专门存放死信的队列就是死信队列。 什么是死信交换机? 那么什么是死信交换机呢?死信交换机是指专门将死信路由到死信队列的交换机。 产生死信的原因
Java 8 新特性:Stream 流快速入门
前言 在 java 中,涉及到对数组、集合等集合类元素的操作时,通常我们使用的是循环的方式进行逐个遍历处理,或者使用 stream 流的方式进行处理。 什么是 Stream? Stream(流)是一个来自数据源的元素队列并支持聚合操作,流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。 Stream(流)的组成包含:元素、数据源、聚合操作、内部迭代、Pipelining
Java生成包含Logo的二维码
小记 公司需要在线生成相关的二维码信息,需要包含公司的Logo在二维码中间,这里写一篇文章记录一下 效果图 生成后的效果图 框架依赖 SpringBoot + JDK11 Jdk下载地址 http://www.codebaoku.com/jdk/jdk-oracle-jdk11.html#jdk11.0.16.1 代码部分 依赖配置 图片处理工具类 BufferedImageL
10 分钟快速搞懂 Lambda 表达式
Lambda简介 Lambda表达式是Java8引入的一个重要特性,相当于一个语法糖。 语法糖(Syntactic sugar)是指在编程语言中引入的一种语法,它可以使代码更易读、更简洁,但并没有引入新的功能或改变语言的底层机制。语法糖并不会改变语言的语义,只是提供了一种更方便的编写方式。 Lambda表达式可以被视为匿名函数 允许在需要函数的地方以更简洁的方式定义功能 使用条件:只要是函数式
SpringBoot整合MyBatis+MySQL
一、添加mysql驱动 mysql mysql-connector-java 二、添加MyBatis依赖 org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.1 三、添加配置 spring: datasource: name: xx-datasource driverClassName: com.mysql.cj.jdbc.Dr
[GYCTF2020]Ez_Express 1
原型链污染,信息收集,命令执行,代码审计 这个题我在做之前学了p神的教程 https://www.leavesongs.com/PENETRATION/javascript-prototype-pollution-attack.html 打开后可以发现是一个登录界面,之后我们先进行信息收集找到了www.zip这个文件,然后得到了源码 index.js 主代码是这个,我们发现了有action路由,
(新)app逆向三(抓包和反编译)
1.charles的配置 抓取http包配置 抓https的包需要在手机上安装证书 把用户证书转成系统证书 charles 抓取https请求,安装证书后还是显示unknown 1.电脑证书的配置 如果证书默认就可用. 就不要胡乱拖拽 window证书管理器: win+r: 输入certlm.msc 出现的问题 安卓手机安装charles证书后,抓包依然提示u
基于注解注册连接的Thrift框架(04)——TProtocol
前情提要 之前介绍了TProcessor的同步和异步实现,也说明了TAsyncMethodCall中的状态循环以及它是如何和TServer进行交互的。 TProtocol TProtocol 是一个抽象类,主要做了两件事情: 绑定一个TTransport 定义一系列读写消息的编解码接口。包括两类,一类是复杂数据结构比如readMessageBegin, readMessageEnd, writ
实现基于Java的分布式日志收集与分析系统
实现基于Java的分布式日志收集与分析系统 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代分布式系统中,日志收集与分析是非常重要的一环。分布式日志系统需要高效地收集、存储和分析来自不同节点的日志,以便及时发现和解决问题。本文将介绍如何使用Java实现一个分布式日志收集与分析系统,主要涉及日志的收集、传输、存储和分析。 系统架构 我们的分布式日志系统主要由以下
使用Spring Cloud和Zookeeper构建分布式协调系统
使用Spring Cloud和Zookeeper构建分布式协调系统 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代分布式系统中,服务的注册与发现、配置管理、负载均衡等问题显得尤为重要。Spring Cloud与Zookeeper的结合可以有效解决这些问题。本文将介绍如何使用Spring Cloud和Zookeeper构建一个分布式协调系统,主要涉及服务注册与
实现基于Spring Boot和WebSockets的实时通讯应用
实现基于Spring Boot和WebSockets的实时通讯应用 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 实时通讯应用在现代互联网服务中越来越重要。使用WebSocket可以实现客户端和服务器之间的双向通讯,从而大大提高实时性。本文将介绍如何使用Spring Boot和WebSockets构建一个简单的实时通讯应用。 项目结构 首先,我们需要搭建一个Spr