排序
带你理解 Java 8 的函数式接口使用和自定义
函数式接口是 Java 8 引入的一种接口,用于支持函数式编程。函数式接口通常包含一个抽象方法,可以被 Lambda 表达式或方法引用所实现。在本文中,我们将深入探讨函数式接口的概念、用途以及如何...
SpringMVC流程分析(六):SpringMVC为处理器选择合适的适配器的秘密
本系列文章皆在分析SpringMVC的核心组件和工作原理,让你从SpringMVC浩如烟海的代码中跳出来,以一种全局的视角来重新审视SpringMVC的工作原理. 思考,输出,沉淀。用通俗的语言陈述技术,让自...
诊断错误使用CountDownLatch和Future 造成的死锁
最近开发人员查看他们应用的监控数据, 发现有个数据指标出现异常. 这个数据指标表示当前tomcat正在忙的线程数目, 之前这个指标一直在0~3徘徊, 可是最近一周, 它已经缓慢的到达了30多, 这引起了...
Java Stream 常用方法【详尽篇】
1.Stream API 介绍 Java8 版本引入的重要特性之一, 对于集合(例如 List、Map、Set 等)进行处理和操作的高级抽象.Stream API 提供了一种更为简洁高效的的方式来处理集合数据, 可读性较高, 特别...
Mac 下安装多个 JDK 并实现动态切换
有时候我们有多个项目需要使用多个版本JDK。这篇文章讲讲Mac下安装多个JDK并实现动态切换。 一、安装JDK 1. 安装OracleJDK www.oracle.com/java/techno… 2. 安装OpenJDK learn.microsoft.com/z...
GraalVM初探
开场白 GraalVM正成为JVM生态系统中最流行的话题之一。它承诺以尽可能高的速度运行基于JVM的程序(编译为本机映像时),同时占用较小的内存。听起来很有趣,可以试一试。今天,我将在编译成独立...
Java SE 篇:Java 泛型详解
简介 泛型的优点 1、泛型的本质是为了参数化类型,也就是在在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型,很明显这种方法提高了代码的复用性。 2、泛型的引入提...
Java SE篇:XML
1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。 是Web...
Java SE篇:类加载器
1.类加载器 1.1类加载器【理解】 作用 负责将.class文件(存储的物理文件)加载在到内存中 1.2类加载的过程【理解】 类加载时机 创建类的实例(对象) 调用类的类方法 访问类或者接口的类变量,...
Java SE篇:多线程01
1.4实现多线程方式一:继承Thread类【应用】 实现步骤 定义一个类MyThread继承Thread类 在MyThread类中重写run()方法 创建MyThread类的对象 启动线程 代码演示 public class MyThread extends T...
SpringBoot @Profile
SpringBoot @Profile @Profile 可以和 @Bean 一起使用, @Profile 可以和 @Bean 一起使用, 当配置文件, 例如application.properties等, 添加了下列条目? spring.profiles.active: profileName 或...
Springboot-优雅配置接口响应和统一异常处理
Springboot-优雅配置接口响应和统一异常处理 一、前言 越来越多的项目开始基于前后端分离的模式进行开发,这对后端接口的报文格式便有了一定的要求。通常,我们会采用JSON格式作为前后端交换数...
基于Servlet+JSP自实现的MVC模式,学完它你才真正上掌握Servlet与JSP原理
通过结合Servlet和JSP的MVC模式,我们可以发挥二者各自的优点: Servlet实现业务逻辑; JSP实现展示逻辑。 但是,直接把MVC搭在Servlet和JSP之上还是不太好,原因如下: Servlet提供的接口仍然...
k8s架构及核心组件介绍
Kubernetes(K8s) 一、Kubernetes 1、borg系统 Google的Borg系统运行几十万个以上的任务,来自几千个不同的应用,跨多个集群,每个集群(cell)有上万个机器。它通过管理控制、高效的任务包装、...