-
理解 Liquor :动态编译 Java 代码的神器
引言Liquor 是一个开源的轻量级 Java 动态编译器(零依赖,24KB),它可以在运行时编译 Java 字符串代码片段、类、方法等。源码地址:https://gitee.com/noear/liquor编译特性:可以单个类编译可以多个类同时编译可以增量编译Liquor 的基本使用需求:输入一个类定义的 java 字符串(内容逻辑为输出 Hello ...9个月前 阅读348
-
Java 能在 AI 开发领域与 Python 匹敌吗?
Java 能在蓬勃发展的人工智能领域与 Python 一较高下吗?尽管 Python 在 AI 开发方面仍占据主导地位,但 Java 的支持者认为,这种已有近 30 年历史的 Java 编程语言已准备好在 AI 领域大展拳脚。Oracle 认为 Java 在 AI 领域具有 “三重优势”,即利用云基础设施、框架以及将 AI 服务与业务逻辑集...9个月前 阅读266
-
nginx 部署前端vue项目
一、什么是nginx?Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。优点:支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。内存消耗少可商业化配置文件简单 除...9个月前 阅读265
-
【Springboot系列】SpringBoot如何优雅地实现一个错误异常捕捉
引言在开发过程中,异常处理是一个不可忽视的重要环节。合理、优雅地处理异常不仅能提高代码的鲁棒性,还能提升系统的用户体验。借助Spring AOP(面向切面编程),我们可以将异常处理逻辑从业务代码中分离出来,实现更加简洁和可维护的代码结构。本文将介绍如何通过Spring AOP实现一个高效的异常捕捉机制,使得异常处理变...9个月前 阅读263
-
【Spring Boot】 SpringBoot自动装配-Condition
一、前言@Conditional注解在Spring4.0中引入,其主要作用就是判断条件是否满足,从而决定是否初始化并向容器注册Bean。二、 定义2.1 @Conditional@Conditional注解定义如下:其内部只有一个参数为Class对象数组,且必须继承自Condition接口,通过重写Condition接口的matches方法来判断是否需要加载Bean@Target(...9个月前 阅读304
-
Java对象一定分配在堆上吗?5min读懂逃逸分析
1. 引入首先回答标题中的问题:Java对象一定会被分配到堆上吗?答案是:不一定。Java中创建的对象一般会分配到堆上,当堆空间不足时,就会触发GC进行垃圾回收,但是GC次数太多会影响程序的性能。在编译期间,编译器会对代码做很多优化,为了减少内存堆分配压力,JVM提供了一项重要优化技术:逃逸分析。逃逸分析得出的结论...10个月前 阅读272
-
SpringBoot 应用优雅上线
背景服务刚启动时,如果没有做任何优化的话,前面几分钟的请求,响应都会特别的慢。下面,针对该问题,全方面介绍,如何解决!Ingress 负载均衡Ingress 负载均衡,可以考虑使用 ewmanginx.ingress.kubernetes.io/load-balance=ewmaewma 算法可以简单描述为:响应时间越长,分配的请求越少,这样刚启动的 pod, ...10个月前 阅读276
-
如何在 Spring Boot 中开发一个操作日志系统
前言在开发企业级应用时,记录用户操作日志是非常重要的。这不仅能帮助开发者监控系统的行为,还能在出现问题时进行追踪。在这篇文章中,我们将介绍如何在Spring Boot中开发一个完整的日志系统,记录每一步操作,如登录、创建订单、删除、查询等。添加依赖首先,确保在你的Spring Boot项目中包含必要的依赖:<depend...10个月前 阅读287
-
面试官:说一说如何优雅的关闭线程池,我:shutdownNow,面试官:粗鲁!
面试官:“小伙子,线程池使用过吗,来聊一聊它吧!”我:“好的,然后巴拉巴拉一顿输出之前看过的(为师妹写的《Java并发编程之线程池十八问》被表扬啦! - 掘金)...”面试官满意的点了点头,紧接着问道:“那你知道如何优雅的关闭线程池吗?”我:“知道知道,直接调用shutdownNow()方法就好了呀!”面试官脸色一...10个月前 阅读289
-
到底选谁?Java判断null,Optional和工具类真香?还是if(obj == null)更靠谱?
背景描述最近在开发项目时,我遇到了一个需要从 Hyperlink 对象中获取 link 属性的小需求。这个过程中我需要判断 Hyperlink 对象是否为 null,以防止出现空指针异常。面对这种情况,有两种常见的处理方式。一种是使用 Optional.ofNullable() 方法,另一种则是使用传统的 null 检查。这两种方法分别对应以下代...10个月前 阅读280