经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
Java相关:JavaJSPJFinalGroovySpringSpring BootServletScalaStruts2JUnit设计模式
 Java相关

深入剖析Java中的反射,由浅入深,层层剥离!

写在开头 之前更新了不少Java的基础知识,比如Java的类、对象、基础类型、关键字、序列化、泛型、值传递等等,今天要上点深度了,来聊一聊Java中的 反射 ! 所谓反射,就是在运行时分析、检查和操作类、接口、方法、属性的行为! 简单感受一下反射 在开始详解反射之前,我们先通过一段代码,...[2024/2/2]

每日一道Java面试题:说一说Java中的异常

写在开头 任何一个程序都无法保证100%的正常运行,程序发生故障的场景,我们称之为:异常,在Java中对于异常的处理有一套完善的体系,今天我们就来一起学习一下。 老样子,用一段简单的代码开始今天的学习。 我:“小二,上代码!” JavaBuild君:“好嘞!几位爷,里面请~” 【...[2024/2/2]

Spring WebSocket实现实时通信的详细教程

简介 WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。 我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的,必须是客户端主动触发的行为,...[2024/1/29]

Gin 框架之jwt 介绍与基本使用

目录一.JWT 介绍二.JWT认证与se ion认证的区别2.1 基于se ion认证流程图2.2 基于jwt认证流程图三. JWT 的构成3.1 header : 头部3.2 payload : 负载3.2.1 标准中注册的声明 (建议但不强制使用)3.2.2 公共的声明3.2.3 私有的声明...[2024/1/29]

springboot整合nacos的入门Demo

springboot整合nacos的入门Demo

Nacos介绍 Nacos /nɑ:k?? 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特...[2024/1/29]

事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究

开心一刻   昨晚,小妹跟我妈聊天   小妹:妈,跟你商量个事,我想换车,资助我点呀   妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了   小妹:你要是这么逼我,别说哪天我去学人家傍大款啊   妈:哎呀妈,你脸上那褶子比你人生规划都清晰,咋地,大款缺地图呀,找你?...[2024/1/29]

自定义httpServletRequestWrapper导致上传文件请求参数丢失 - 小小程序猿-DB

问题背景 项目是 SpringBoot 单体式,在项目中,为了实现调用 controller 请求的日志记录功能。因此做了以下配置: 创建自定义拦截器 LogInterceptor; 因为需要使用到流获取请求参数,解决流只能读一次问题,所以需要自定义 HttpServletRequestWra...[2024/1/29]

给你一颗“定心丸”——记一次由线上事故引发的Log4j2日志异步打印优化分析

一、内容提要 自知是人外有人,天外有天,相信对于Log4j2的异步日志打印早有老师或者同学已是熟稔于心,优化配置更是信手拈来,为了防止我在这里啰里八嗦的班门弄斧,我先将谜底在此公布:log4j2.asyncQueueFullPolicy=Discard & log4j2.discardT...[2024/1/29]

Spring Cloud 系列:基于Seata 实现 XA模式

https: eata.io/zh-cn/doc user/mode/xa https: eata.io/zh-cn/doc dev/mode/xa-mode XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Proce ing)...[2024/1/26]

每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!

写在开头 请聊一聊Java中方法的重写和重载? 这个问题应该是各大厂面试时问的最多的话题之一了,它们几乎贯穿了我们日常的开发工作,在过往的博客中我们多多少少都提到过重载与重写,而今天我们就一起来详细的学习一下这二者的功能与区别! 重载与重写的定义 重写: 类实现接口或者子类继承父类时,保...[2024/1/26]

【南大静态代码分析】作业 4:类层次结构分析与过程间常量传播

作业 4:类层次结构分析与过程间常量传播 实现类层次结构分析(CHA) dispatch :根据方法调用者的类和方法签名寻找目标方法。 比较显然,是个递归算法。 递归的终止条件有两个,一个是如果一直找不到相应方法,不断递归到父类,最后递归到 Object 在向上递归就是 null ,O...[2024/1/24]

手把手带你上手swagger3

手把手带你上手swagger3

配置POM 只需要加一个依赖,并且要注意,swagger3在springboot2.5版本以上会出现问题 <dependency> <groupId>io.springfox</groupId> ...[2024/1/24]

Java开发者的Python快速进修指南:探索15种独特的Python特殊方法

概述 在Python中,特殊方法(也称为魔术方法)是由Python解释器自动调用的,我们不需要手动调用它们,而是使用内置函数来间接地使用它们。举个例子,我们可以实现特殊方法__len__(),然后通过使用内置函数len()来获取对象的长度。同样地,一些特殊方法的调用是隐式的,比如在使用for循环...[2024/1/24]

一文搞清楚Java中的方法、常量、变量、参数

写在开头 在上一篇文章:一文搞清楚Java中的包、类、接口 中我们讲了Java中的包、类和接口,今天继续将剩下的方法、常量、变量以及参数梳理完。 Java中的变量与常量 在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:常量与变量,我们在数学和物理学中已经接触过变量的概...[2024/1/22]

一文搞清楚Java中的包、类、接口

写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Per...[2024/1/22]

Java开发者的Golang进修指南:从0-&gt;1带你实现协程池

在Java编程中,为了降低开销和优化程序的效率,我们常常使用线程池来管理线程的创建和销毁,并尽量复用已创建的对象。这样做不仅可以提高程序的运行效率,还能减少垃圾回收器对对象的回收次数。 在Golang中,我们知道协程(goroutine)由于其体积小且效率高,在高并发场景中扮演着重要的角色。然...[2024/1/22]

mysql和redis库存扣减和优化

前言 大流量情况下的库存是老生常谈的问题了,在这里我整理一下mysql和redis应对扣除库存的方案,采用jmeter进行压测。 JMETER设置 库存初始值50,线程数量1000个,1秒以内启动全部,一个线程循环2次,共2000个请求 MySQL方案 初始方案 <updat...[2024/1/19]

简单介绍JDK、JRE、JVM三者区别

简单介绍JDK vs JRE vs JVM三者区别 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! ...[2024/1/10]

为什么Java中“1000==1000”为false,而”100==100“为true?

在日常编程中,我们经常遇到一些看似简单却隐藏着复杂逻辑的问题。 比如,你是否想过为什么在 Java 中表达式1000==1000会返回 false,而 100==100 却返回 true 呢? Integer a = 100; Integer b = 100; System.out.prin...[2024/1/10]

Java 新技术:虚拟线程使用指南(二)

虚拟线程是在 Java 21 版本中实现的一种轻量级线程。它由 JVM 进行创建以及管理。虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量、甚至数百万个虚拟线程。 由于虚拟线程的数量众多,也就赋予了 Java 程序强大的力量。虚拟线程适...[2024/1/10]

JavaScript apply、call、bind 函数详解

apply和call apply和call非常类似,都是用于改变函数中this的指向,只是传入的参数不同,等于间接调用一个函数,也等于将这个函数绑定到一个指定的对象上: let name = ''window'' function getName(param1, param2) { co...[2024/1/10]

2024年,在风云际会的编程世界里,窥探Java的前世今生,都说它穷途末路,我认为是柳暗花明!

2024年,在风云际会的编程世界里,窥探Java的前世今生,都说它穷途末路,我认为是柳暗花明! 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光,等工作之后,你就会发...[2024/1/10]

ActiveMQ RCE CVE-2023-46604分析

一、漏洞触发点 org.apache.activemq.openwire.v12包下BaseDataStreamMarshaller类的createThrowable方法。 package org.apache.activemq.openwire.v12; BaseDataStreamMars...[2024/1/10]

面试官喜欢问Nacos原理?直接把这篇文章甩给他!

大家好,我是三友~~ 今天就应某位小伙伴的要求,来讲一讲Nacos作为服务注册中心底层的实现原理 不知你是否跟我一样,在使用Nacos时有以下几点疑问: 临时实例和永久实例是什么?有什么区别?服务实例是如何注册到服务端的?服务实例和服务端之间是如何保活的?服务订阅是如何实现的?集群间数据是...[2024/1/5]

Guava Cache 异步刷新技巧,你值得拥有!

Guava Cache 异步刷新技巧,你值得拥有!

Guava Cache是一款非常优秀的本地缓存框架,提供简洁易用的 API 供开发者使用。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 基本用法 首先,在 Java 应用中添加 maven 依赖: <dependency> ...[2024/1/3]

Kernel Memory 入门系列:异步管道

Kernel Memory 入门系列:异步管道

Kernel Memory 入门系列:异步管道 前面所介绍的处理流程都是基于同步管道的,即文档导入的时候,会等到文档处理完成之后才会返回。 但是在实际的应用中,文档很多,而且文档的处理时间也不确定,如果采用同步的方式,那么就会导致整个流程的处理时间过长,也会导致整个流程的阻塞。因此,我们需要一...[2024/1/3]

Java注解,看完就会用

一、什么是注解 定义:注解(Annotation),也叫元数据。一种代码级别的说明。 它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。 它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 二、内置注解 @Override: ...[2024/1/2]

基于源码去理解Iterator迭代器的Fail-Fast与Fail-Safe机制

原创/朱季谦 在Java编程当中,Iterator迭代器是一种用于遍历如List、Set、Map等集合的工具。这类集合部分存在线程安全的问题,例如ArrayList,若在多线程环境下,迭代遍历过程中存在其他线程对这类集合进行修改的话,就可能导致不一致或者修改异常问题,因此,针对这种情况,迭...[2023/12/29]

23年底,我出齐了Spring boot,Spring cloud和案例方面的书,正在写一本面试书(代年终总结)

年末了,再来总结一下吧,希望本人明年的年终总结文还能在博客园发。 这次总结的主题是本人出的java书。这几年本人出了不少书,其中有python、redis和Java方面的。 姑且不说其它,java方面,本人出了spring boot,spring cloud(第一代),spring clou...[2023/12/29]

Spring Boot 2.x 到 3.2 的全面升级指南

Spring Boot 2.x 到 3.2 的全面升级指南

Spring Framework 是一种流行的开源企业级框架,用于创建在 Java Virtual Machine (JVM) 上运行的独立、生产级应用程序。而Spring Boot 是一个工具,可以让使用 Spring 框架更快、更轻松地开发 Web 应用程序和微服务。随着 Spring Bo...[2023/12/29]

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize, ...[2023/12/27]

创建一个双模式跨运行时的&#160;JavaScript&#160;包

本文将指导你发布双模式、跨运行时的 JavaScript 包。了解如何创建与 ESM 和 CommonJS 以及 Node.js、Deno 和浏览器等不同运行时兼容的库。 随着 JavaScript 开发的不断发展,人们越来越需要能在多种环境中运行的强大依赖包。在本文中,我们将探讨如何发布跨运...[2023/12/27]

反向 Debug 了解一下?揭秘 Java DEBUG 的基本原理

Debug 的时候,都遇到过手速太快,直接跳过了自己想调试的方法、代码的时候吧…… 一旦跳过,可能就得重新执行一遍,准备数据、重新启动可能几分钟就过去了。 好在IDE 们都很强大,还给你后悔的机会,可以直接删除某个 Stack Frame,直接返回到之前的状态,确切的说是返回到之前的某个...[2023/12/26]

SpringBoot 这么实现动态数据源切换,就很丝滑!

SpringBoot 这么实现动态数据源切换,就很丝滑!

大家好,我是小富~ 简介 项目开发中经常会遇到多数据源同时使用的场景,比如冷热数据的查询等情况,我们可以使用类似现成的工具包来解决问题,但在多数据源的使用中通常伴随着定制化的业务,所以一般的公司还是会自行实现多数据源切换的功能,接下来一起使用实现自定义注解的形式来实现一下。 基础配置 yml配...[2023/12/26]

Java并发(二十一)----wait notify介绍

1、小故事 - 为什么需要 wait 由于条件不满足(没烟干不了活啊,等小M把烟送过来),小南不能继续进行计算 但小南如果一直占用着锁,其它人就得一直阻塞,效率太低 于是老王单开了一间休息室(调用 wait 方法),让小南到休息室(WaitSet)等着去了,但这时锁释放开...[2023/12/26]

jextract的使用

jextract的使用

写这个博客的目的:新人去看jextract的官网是看不懂的,就算看懂了也不会使用,一头雾水,我会从0开始教如何使用,如何搭配java去调用c函数。 首先我们得了解jextract是什么,官网的解释是一种从本机库头文件机械地生成 Java 绑定的工具。该工具利用 clang C API 来解析与...[2023/12/22]

5分钟攻略Spring-Retry框架实现经典重试场景

前言 今天分享干货,控制了篇幅,5分钟内就能看完学会。 主题是Spring-Retry框架的应用,做了一个很清晰的案例,代码可下载自测。 框架介绍 Spring-Retry框架是Spring自带的功能,具备间隔重试、包含异常、排除异常、控制重试频率等特点,是项目开发中很实用的一种框架。 本...[2023/12/22]

Java8函数式编程应用

我们经常提到,Java8是革命性的一个版本,原因就是正式引入了函数式编程,那Java的函数式编程在实际应用中到底有什么用呢?结合实际的应用,我整理出了函数式在Java的几个经典用途。     缓求值 惰性求值(Lazy evaluation)是在需要时才进...[2023/12/22]

为啥不建议用BeanUtils.copyProperties拷贝数据

为啥不建议用BeanUtils.copyProperties拷贝数据

在实际的业务开发中,我们经常会碰到VO、BO、PO、DTO等对象属性之间的赋值,当属性较多的时候我们使用get,set的方式进行赋值的工作量相对较大,因此很多人会选择使用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。通过这种方式可以很大程度...[2023/12/22]

如何 使 Java、C# md5 加密的值保持一致

Java C# md5 加密值保持一致,一般是编码不一致造成的值不同 JAVA (加密:123456) C#(加密:123456) UTF-8 e10adc3949ba59abbe56e057f20f883e UTF8 e10adc3949ba59abbe56e057f20f8...[2023/12/22]

【流式传输】使用Spring Boot实现ChatGpt流式传输

引言     在ChatGpt火了这么久,他的那种单字单字返回的格式可能让很多朋友感到好奇,在之前我用c#写了一个版本的,同时支持IAsyncEnumerable以及SSE,今天把之前写的Java版本的也发出来,和大家一起学习,有不对的地方,欢迎各位大佬指正。 Code     我这边用的是J...[2023/12/21]

玩转Spring状态机

说起Spring状态机,大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢?没错,Spring状态机就是状态模式的一种实现,在介绍Spring状态机之前,让我们来看看设计模式中的状态模式。 1. 状态模式 状态模式的定义如下: 状态模式(State Pattern)是一种行为型设计模...[2023/12/21]

Java五种设计模式实现奶茶订单生成系统小DEMO

前言 这是大学时候上设计模式这门课写的程序,当时课程任务是要求结合五个设计模式写一个系统,最近偶然翻到,把系统分享一下。 成品预览 主界面 ? 功能介绍 订单管理系统,实现了对订单的增删改查。且实现了将订单内容写入文件,每次增删改查都会做保存,下次重启程...[2023/12/18]

Spring Cache + Caffeine的整合与使用

前言 对于一些项目里需要对数据库里的某些数据一直重复请求的,且这些数据基本是固定的,在这种情况下,可以借助简单使用本地缓存来缓存这些数据。这些介绍一下Spring Cache和Caffeine的使用。 引入依赖和CacheConfig 在pom文件里面引入下面的依赖: <dep...[2023/12/15]

项目实战接口开发SpringBoot

目录一、springboot官方demo开发二、使用SpringBoot开发get方法接口三、一个要求携带cookie信息访问的get接口开发四、需要携带参数的get请求两种开发方式4.1 方式1:url:key=value&key=value4.2 方式2:url:ip:port/ge...[2023/12/15]

spring cloud生态中Feign、Ribbon、loadbalancer的一些历史

背景 本意是想写个feign中loadbalancer组件和nacos相遇后,一个兼容相关的问题,后面发现Feign这套东西很深,想一篇文章写清楚很难,就先开一篇,讲历史。 Feign、OpenFeign、Spring Cloud OpenFeign Feign Feign是Java生态中的一...[2023/12/15]

springboot下添加全局异常处理和自定义异常处理

前言 在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便。 相关代码: GlobalExceptionHandler类: @Slf4j @RestControlle...[2023/12/13]

必知必会Java命令-jps

你好,我是阿光。 最近想着把工作中使用过的java命令都梳理一下,方便日后查阅。虽然这类文章很多,但自己梳理总结后,还是会有一些新的收获。这也是这篇笔记的由来。 今天先聊聊 jps 命令。 命令概述? jps命令是JDK提供的一个工具,用于查看目标系统上的Java进程基本信息(进程ID, ...[2023/12/11]

聊聊数据库连接池 Druid

聊聊数据库连接池 Druid

在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。 1 为什么需要连接池 假如没有...[2023/12/11]

Java并发(十七)----变量的线程安全分析

1、成员变量和静态变量是否线程安全 如果它们没有共享,则线程安全 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 如果只有读操作,则线程安全 如果有读写操作,则这段代码是临界区,需要考虑线程安全   2、局部变量是否线程安全 局部变量是...[2023/12/11]

561
8
记录数:11189 页数:7/224首页上一页234567891011下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多