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

前端设计模式——模板方法模式

前端设计模式中的模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个行为的骨架,将一些步骤推迟到子类中实现。这些步骤被称为“具体操作”(Concrete Operations),而整个行为的结构和顺序则被称为“模板方法”(Template Method...[2023/3/22]

设计模式(二十七)----行为型模式之解释器模式

1 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 用于两个整数相加 public static int add(int a,int b){    return a + b; } ? 用于两个整数相加 pu...[2023/3/22]

Java开发HashMap?key必须实现hashCode?equals方法原理

Java开发HashMap?key必须实现hashCode?equals方法原理

目录一、问题引入二、hashCode、equals方法都未实现三、只实现hashCode方法四、只实现equals方法五、hashCode、equals方法都实现六、总结 一、问题引入 平时在开发中,相信你多多少少都使用过HashMap,而当你用自定义对象作为key时,很多人会告诉你:你必须...[2023/3/22]

带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J

最近系统被扫出来还在使用老旧的log4j,需要升级到最新的log4j。但是在升级的发现,Java相关的日志处理库有log4j, log4j2,slf4j和logback,初一看确实有点头大,那么区别是啥呢?之前也大概知道一些,查找了大量相关资料,这里好好总结一下,相信你读完就会熟练掌握 ...[2023/3/20]

springboot 接入 ChatGPT

项目地址 https: gitee.com/Kindear/lucy-chat 介绍 lucy-chat是接入OpenAI-ChatGPT大模型人工智能的Java解决方案,大模型人工智能的发展是不可阻挡的趋势,我们环境无法创造工具,但是也要更好的使用工具,该包简化了接入流程,可以非常方便的引入...[2023/3/20]

三天吃透Spring Cloud面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https: github...[2023/3/20]

Java多线程开发CompletableFuture的应用

?做Java编程,难免会遇到多线程的开发,但是JDK8这个CompletableFuture类很多开发者目前还没听说过,但是这个类实在是太好用了,了解它的一些用法后相信你会对它爱不释手(呸渣男,咋对谁都爱不释手呢),好了我先简单举个列子,告诉你用它有多好。Single Dog拿一个Appoint...[2023/3/20]

设计模式(二十五)----行为型模式之访问者模式

1 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 2 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是可以访问的元素,它的方法...[2023/3/20]

Java项目是不是分布式,真有那么重要吗?

Java项目是不是分布式,真有那么重要吗?

大家好,我是3y啊。 大概不知道从什么时候,「微服务」「分布式」这两个词又再次频繁出现在我的视线里。 「微服务」「分布式」在我刚毕业的时候还是比较关注的,那时候还入门了一把SpringCloud,写了一篇很长的文章,还是很顶的,有不少的大号都给我转载了,在知乎又获得了很多的赞。 那时候觉得...[2023/3/20]

SpringBoot使用Interceptor拦截器的实例

在springboot中使用拦截器也比较简单,实现HandlerInterceptor或者AsyncHandlerInterceptor接口,再从配置里添加一下拦截器就完成了; AsyncHandlerInterceptor接口继承了HandlerInterceptor,多了一个afterCo...[2023/3/20]

JavaScript?DOM?API的使用教程及综合案例

目录一. 什么是DOM二. 最常用的DOM API1. 选中页面元素2. 操作元素的属性2.1 事件概念2.2 获取/修改元素内容2.4 获取/修改元素属性2.5 获取/修改表单元素属性2.6 获取修改样式属性3. 操作页面节点3.1 新增节点3.2 删除节点三. 综合案例1. 猜数字2. 表白墙总...[2023/3/20]

JavaScript图片打印方案实例详解

最近有个页面打印图片的小需求。就是系统界面展示有一些证件照片,我们希望可以点击图片旁边的打印小按钮,就可以将这张图片直接打印到A4纸张上,例如下图效果: 其实浏览器 window 对象提供了 print 方法,就可以对整个页面进行打印。只需要点击按钮执行以下方法即可。 window....[2023/3/20]

浅析Spring?中?Bean?的理解与使用

目录一、定义二、控制反转(IoC)1、什么是依赖注入与控制反转呢?先通过一个例子来理解一下2、让 Spring 控制类构建过程3、这就是 IOC三、 @Bean 注解的使用1、使用说明2、Bean 名称2.1、默认情况下 Bean 名称就是方法名(首字母小写),比如下面 Bean 名称便是 myBe...[2023/3/20]

【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看

highlight: a11y-dark 简介 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用。但由于原来OpenAI 并没有支持官网的chatgpt模型,所以使用起来相对没有官网那么智能完善,所以就没有写出一个demo项目,只开源了Open AI...[2023/3/17]

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~ 今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的...[2023/3/17]

SpringBoot部署到外部Tomcat无法注册到Nacos服务端

事情经过 近期做一个项目投标演示(POC)环境支持,需要集成Nacos服务端。考虑到现有项目中已经有了Nacos相关依赖,那还不简单?新建个服务端,配置几下重启不就搞定了吗?然而事情远没有想得这么简单。同样的代码在我本地IDE里运行就能注册成功,在演示环境 Tomcat+War 部署就不行了。 ...[2023/3/17]

Springboot之如何统计代码执行耗时时间

目录前言正文① StopWatch②  System.nanoTime()③ new Date ()④  System.currentTimeMillis() 总结 前言 近日群里有萌新提到关于统计代码执行时间的事: 开始&n...[2023/3/17]

Spring Boot security 默认拦截静态资源的解决方法

Spring Boot security 默认拦截静态资源的解决方法

Spring Boot security 会默认登陆之前拦截全部c , js,img等动态资源,导致我们的公开主页在登陆之前很丑陋 像这样: 网上很多解决办法都过时了比如还在使用WebSecurityConfigurerAdapte,antMatchers public cla ...[2023/3/17]

深度解析单例模式

饥汉模式 package com.cz.single; /** * @author 卓亦苇 * @version 1.0 * 2023/3/11 21:31 */ public cla Hungry { private byte[] data1 = new byte[102...[2023/3/15]

【SpringBoot】还不会SpringBoot项目模块分层?来这手把手教你

前言 ??缘由 经常看到网上很多优秀的开源项目中,代码简洁,模块分层完美。反观自己代码层级混乱,,却不知如何整理分层。此文手把手教你一步一步创建模块,左手右手一个慢动作。结合本人实际开发及个人项目中分层思路的分享,大神请勿喷。 ??本文阅读时长 约25分钟 ??主要目标 熟练掌握Spri...[2023/3/15]

微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发

一、前言 大家好,我是六哥! 又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的。 其实不是我不积极,而是相对更文学习来说,优先级不是最高。 对我而言,目前最重要的就是减肥,除了下雨下雪,我都坚持每天5公里,keep记录如下: 早在四天前就完成了p...[2023/3/15]

ServletWebServerApplicationContext创建Web容器Tomcat示例

目录正文创建Web服务一、获取Web服务器工厂1.1 选择导入Web工厂二、getWebServer:获取Web服务2.1 创建TomcatEmbeddedContext2.2. 创建TomcatWebServer2.2.1 启动Tomcat 初始化小结startInternal:启动In...[2023/3/15]

JavaScript+Canvas实现带跳动效果的粒子动画

目录前言实现过程运行效果总结 前言 用 HTML5 的 Canvas 元素实现一个带有跳动效果的粒子动画。会用到 Canvas 的2D渲染上下文,通过 JavaScript 编写绘图代码,实现画布上一系列粒子的随机运动和相互作用。还会使用 CSS3 动画属性,使得画布背景颜色和粒子颜色能够流畅地...[2023/3/15]

Spring?refresh()源码解析

目录正文一、prepareRefresh:初始化前的预处理1.1初始化属性值1.2属性校验二、obtainFreshBeanFactory:刷新Bean工厂三、prepareBeanFactory:Bean工厂预处理3.1 ApplicationContextDProce or:Aware执行器3....[2023/3/15]

Spring?populateBean属性赋值和自动注入

目录正文一、postProce AfterInstantiation:修改Bean实例二、autowireByName:根据名称自动注入三、autowireByType:根据类型自动注入四、postProce PropertyValues:处理属性值(@Resource、@Autowired、@Va...[2023/3/15]

Java并发小结01

Java并发小结01 主要参考自《实战Java高并发程序设计》。 需要知道的概念 - 同步与异步 - 并发与并行 - 临界区 - 阻塞与非阻塞 - 死锁、饥饿、活锁 同步与异步 同步:同步方法一旦被调用,必须等待方法返回后才能继续后续的行为。 异步:异步方法就像一个消息传递,被调用后方法...[2023/3/14]

java 中文繁简体转换工具 opencc4j 使用介绍 1.8.0

java 中文繁简体转换工具 opencc4j 使用介绍 1.8.0

Opencc4j Opencc4j 支持中文繁简体转换,考虑到词组级别。 在线体验 Features 特点 严格区分「一简对多繁」和「一简对多异」。 完全兼容异体字,可以实现动态替换。 严格审校一简对多繁词条,原则为「能分则不合」。 词库和函数库完全分离,可以自由修...[2023/3/14]

Spring MVC的请求处理逻辑

当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎么转换为控制器方法的调用的?结果又是怎么变成JSON的.....啊这小伙伴们是不是已经混乱了!...[2023/3/14]

一个由public关键字引发的bug

先来看一段代码: @Service @Slf4j public cla AopTestService { public String name = "真的吗"; @Retryable public void test(){ 模拟业务操作 ...[2023/3/14]

生产环境Java应用服务内存泄漏分析与解决

有个生产环境CRM业务应用服务,情况有些奇怪,监控数据显示内存异常。内存使用率99.%多。通过生产监控看板发现,CRM内存超配或内存泄漏的现象,下面分析一下这个问题过程记录。 1、服务器硬件配置部署情况 生产服务器采用阿里云ECS机器,配置是2HZ、8GB,单个应用服务独占,CRM应用独立部...[2023/3/14]

Spring Cloud Alibaba实现服务的无损下线功能

目录1、背景2、解决方案2.1 找到通过负载均衡组件获取可用服务信息的地方2.2 解决思路3、部分实现代码3.1 引入jar3.2 编写服务下线方法3.3 监听配置变更,清除服务缓存3.3.1 使@NacosConfigListener注解生效3.3.2 监听配置、清除缓存4、实现4.1 服务准...[2023/3/14]

AI来实现代码转换!Python转Java,Java转Go不在话下?

今天看到个有趣的网站,给大家分享一下。 该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。 工具的使用也很简单,只需要在左侧黏贴你想...[2023/3/14]

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时...[2023/3/14]

JAVA重试机制多种方式深入浅出

JAVA重试机制多种方式深入浅出

重试机制在分布式系统中,或者调用外部接口中,都是十分重要的。 重试机制可以保护系统减少因网络波动、依赖服务短暂性不可用带来的影响,让系统能更稳定的运行的一种保护机制。 为了方便说明,先假设我们想要进行重试的方法如下: @Slf4j @Component public cla HelloS...[2023/3/14]

Spring:现代Java开发的必备框架

目录Spring:现代Java开发的必备框架Spring创建bean的生命周期以及对应的接口和注解Spring使用三级缓存解决循环依赖的原理Spring使用三级缓存创建bean的过程Spring使用AOPSpringAOP的实现原理Spring使用事务管理Spring事务的原理DataSou...[2023/3/14]

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现   说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待...[2023/3/8]

JavaMail 邮件发送,有意思的附件名乱码 → 客户端正常,web端乱码

开心一刻   昨晚,媳妇很感伤的看着我   媳妇:以后岁数大了,我要走你前面去了,你再找个老伴   我:我不想找   媳妇:你找一个,不用替我守着,以后你说你头疼发烧,也得有个给你端水递药的呀   媳妇抹着眼泪:到老是个伴   我:我想找个年轻的   现在我左脸还有一个掌印,火辣辣的...[2023/3/8]

简易的工厂设计模式

简易的工厂设计模式

工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,该接口或抽象类用于创建对象,但让子类决定要实例化的类。工厂方法模式使类的实例化延迟到其子类。 下面是一个完整的C#实现案例: 首先,我们定义一个接口,用于创建对...[2023/3/8]

SpringBoot实现定时发送邮件的三种方法案例详解

目录一、发送邮件的三种方法二、定时任务介绍1.@EnableScheduling2.@Scheduled三、前期准备工作1、登录QQ邮箱获取授权码第一步:进入QQ邮箱第二步:找到POP3/SMTP,并开启第三步:复制授权码2、pom.xml中的依赖3、在全局配置文件application.prope...[2023/3/8]

SpringBoot之@Value获取application.properties配置无效的解决

目录@Value获取application.properties配置无效问题@Value获取application.properties中的配置取值为Null解决方法正确做法总结 @Value获取application.properties配置无效问题 无效的原因主要是要注意@Value使用的注...[2023/3/8]

详解如何用Java实现对m3u8直播流抽帧

目录什么是抽帧什么是 FFmpeg什么是 JavaCV最简单的抽帧抽帧算法 什么是抽帧 抽帧(frame extraction)是指从视频流中提取一些特定的帧,通常是关键帧或者随机帧,以供后续处理。对于m3u8直播流,可以使用Java中的FFmpeg库来实现抽帧功能。 什么是 FFmpeg ...[2023/3/8]

SpringBoot对不同Bean注解的区别和使用场景说明

目录对不同Bean注解的区别和使用场景什么是Bean?注解@Bean @Component …等都有什么区别?SpringBoot注入对象冲突如何解决?SpringBoot的各种注解@Configuration总结 对不同Bean注解的区别和使用场景 什么是Bean? 谈Bea...[2023/3/8]

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulat...[2023/3/6]

Solon2 与 Spring Boot 的区别

1、与 Springboot 的常用注解比较 Solon 2.2.0 Springboot 2.7.8 说明 @Inject * @Autowired 注入Bean(by type) @Inject("name") @Qualifier+@Autowired 注入Bean(by ...[2023/3/3]

Java/.Net双平台核心,Jvm和CLR运行异同点

前言: 本篇以.Net 7.0.2 CLR 和 OpenJDk19参照,解析下它们各自调用函数的异同。 以下为个人理解。 概述 JDK大约5.9G,CLR大约7.6G,两者相差1.7G左右。 root@tang-virtual-machine:/home/tang# cd jdk-jd...[2023/3/3]

详细讲解23种设计模式

工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把对象的实例化推迟到子类。 代码示例: csharpCopy codepublic interface IProduct ...[2023/3/3]

设计模式(十四)----结构型模式之组合模式

1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对...[2023/3/3]

SpringMVC基础源码分析(一)

实现Controller的三种方式分析 每种实现的方式对应的HanderAdapter都不同。 实现Controller接口 该接口对应的HanderAdapter为SimpleControllerHandlerAdapter。 使用案列: public cla LeContr...[2023/3/3]

微软出品自动化神器【Playwright+Java】系列(十)元素定位详解

一、写在前面 又有很久没更文了,真的是被催婚搞的整个人情绪特别不好,如果硬要形容的话,那就是没法跟人正常沟通,一点就着,做什么都没耐心,看什么都烦,简直没救了... 也是偶然发现的,自己居然没写关于Playwright的元素定位,这不是自动化测试的重中之重,怎么可以忘,马上安排! 二、元素定位...[2023/3/3]

JavaSE基础 (全网最全知识点)

背景介绍 java运行机理(即使编译型语言,又是解释型语言) 编译型语言(如:c语言) 源代码需要通过预编译形成可执行文件,再由系统执行该文件形成可识别的二进制文件 解释型语言 边执行边转换。源代码先翻译成中间代码,解释器(类似于JVM)再对中间代码进行解释运行,每执行一次都...[2023/2/28]

561
2
记录数:10395 页数:1/20812345678910下一页尾页
 友情链接: NPS
加载更多