
java
文章平均质量分 84
本专栏收录JavaWeb方向的项目实战方法。
奋力向前123
10年JAVA项目开发经验, 精通JAVA编程语言,日常分享计算机Java开发相关技术。
1.Java领域系统架构师。
2.Java领域优质创作者。
3.优快云 Java领域博客专家。
4.优快云新星计划实力新星奖获得者。
5.2024优快云博客之星荣誉称号
6.基于分片的网络状态查询方法、装置及存储介质专利发明者。
7.一种基于 Spring Cloud Gateway 的网络恶意攻击防御方法及装置专利发明者。
展开
-
【软考备考】管道一过滤器(Pipe-Filter)的架构风格
在 软考中我们常见的几个关键字:管道一过滤器(Pipe-Filter)的架构风格。。我 也是在软考 试题中财发现 有这样的描述。所以来了解一下。原创 2025-03-31 15:20:56 · 613 阅读 · 0 评论 -
【数据仓库】数据库仓库分层
数据中心的用户希望数据是由他们熟悉的术语表现的。数据集市(Data Mart),也叫数据市场,数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。但是,实际情况下,我们所面临的数据状况很有可能是复杂性高、且层级混乱的,我们可能会做出一套表依赖结构混乱,且出现循环依赖的数据体系,比如下面的右图。该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一些列的中间结果表,提升公共指标的复用性,减少重复加工的工作。原创 2025-03-31 11:20:20 · 944 阅读 · 0 评论 -
【软考备考】系统架构设计论文完整范文示例
本文以某省级智慧政务平台建设项目为背景,针对传统政务系统存在的"信息孤岛"、扩展性差、维护成本高等问题,提出了一套基于微服务与云原生技术的解决方案。通过领域驱动设计方法划分业务边界,采用Spring Cloud Alibaba微服务框架实现服务治理,基于Kubernetes构建容器化运行环境,结合服务网格技术完善服务间通信机制。在数据层面,通过数据中台实现政务数据共享,采用多级缓存与读写分离策略提升系统性能。安全方面构建了包含身份认证、访问控制、数据脱敏的全方位安全体系。原创 2025-03-28 16:05:05 · 1015 阅读 · 0 评论 -
【软考备考】系统架构案例分析示例(一)
某大型电商企业计划开发新一代电商平台,要求支持:日均PV 1亿以上促销期间峰值QPS 10万+商品SKU超5000万支持多平台接入(Web、App、小程序等)实现秒杀、拼团等营销功能。原创 2025-03-28 09:25:39 · 1043 阅读 · 0 评论 -
阿里云通用数据开发流程
DataWorks提供数据集成服务,可以支持多种数据源类型,根据预设的调度周期同步业务系统的数据至MaxCompute。通常数据开发的总体流程包括数据产生、数据收集与存储、数据分析与处理、数据提取和数据展现与分享。原创 2025-03-14 15:27:41 · 814 阅读 · 0 评论 -
java中使用java扩展包下的mail实现邮件发送
Java中经常需要使用发送邮件的场景 ,比如日志告警,某些任务运行情况,当无人值守的时候,系统出现了问题,需要系统自动发送邮件给到运维人员。所以实现自动发送邮件是java开发人员必掌握的技能之一。原创 2025-03-06 09:22:15 · 1182 阅读 · 0 评论 -
【人工智能】java流式返回数据接口
最近由于需要接入deepseek,而且使用的java的后端框架,平时的接口都是返回实体数据,使用deepseek由于模型在思考的过程中比较耗时,有使用流输出和非流输出两种方式。事件流格式:使用简单的文本格式传输数据,每条消息以"data:"开头,并以两个换行符"\n\n"结束。如果web服务器使用的是nginx,还要配合nginx配置,如果不配置,就无法通过流的方式输出到客户端。单向通信:SSE是单向的,服务器可以向客户端推送数据,但客户端不能向服务器发送数据。SseEmitter的使用方法。原创 2025-02-28 17:54:32 · 1288 阅读 · 0 评论 -
腾讯云大数据套件TBDS与阿里云大数据能力产品对比
通过建设数仓,以数据可视化和数据应用的方式赋能业务,TBDS - 数据仓库(简称 TCHouse)提供数据集成和开发处理,完成数仓分层建模,搭配海量数据查询引擎,提升数据查询性能,满足实时/在线数据分析的需要。DataWorks数据治理包含数据治理中心、数据质量、数据地图等多个产品,覆盖数据湖仓中事前、事中、事后的数据生命周期,通过数据治理健康分、质量规则、数据大血缘等能力,将书面的数据治理规范落地成平台化的产品能力,让数据治理不再只是一个 “阶段性项目”,而是一个“可持续的运营项目”。原创 2025-02-11 10:19:34 · 1248 阅读 · 0 评论 -
【人工智能】Java接入deepseek亲测有效
* 出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。* deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3。* deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model='deepseek-reas原创 2025-02-10 11:42:16 · 3729 阅读 · 1 评论 -
Java web与Java中的Servlet
JavaWeb中,我们将会接触到三大组件(Servlet、Filter、Listener),Servlet由服务器调用,处理服务器接收到的请求,即完成,接受请求数据 --> 处理请求 --> 完成响应,其本质就是一个实现了Servlet接口的java类。service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。,值越小 Servlet 的启动优先级越高)原创 2025-01-22 14:51:03 · 1181 阅读 · 0 评论 -
Java中类对象的创建方式汇总
这种方式常用于对象的持久化存储和传输。3、使用克隆,如果一个类实现了Cloneable接口并重写了Object类的clone()方法,那么可以通过调用对象的clone()方法来创建该对象的一个副本。6、工厂模式,工厂模式是一种创建对象的设计模式,它隐藏了对象创建的具体逻辑,并通过一个统一的接口来创建对象。2、使用反射,通过java的反射API可以动态的创建对象,反射允许在运行时获取类的信息,并且可以调用类的构造方法创建对象。Java中创建对象的最简单的方式是使用new关键,比如创建 Person类的对象,原创 2025-01-22 14:24:28 · 305 阅读 · 0 评论 -
Java中的几个元老 Object Class 和 @Retention
Retention修饰注解,用来表示注解的生命周期,生命周期的长短取决于@Retention的属性RetentionPolicy指定的值,例如@Retention(RetentionPolicy.RUNTIME)因此,为了保证所有的类都能被Object类的方法操作,所有的类都被视作Object的子类。Java是面向对象型语言所有的类型的父类是Object ,而表示类型的元对象又是Class, Java支持注解后所有注解的元注解是@Retention。类,因为它是所有对象的基类。原创 2025-01-21 14:57:21 · 611 阅读 · 0 评论 -
【Java】Java中如何定义一个异常
异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。原创 2025-01-21 10:14:42 · 986 阅读 · 0 评论 -
【Java】Java抛异常到用户界面公共封装
这里我们可以看到interface里面,不再是单纯函数的定义,还有函数的实现。这样使接口的实现多了一份灵活性,但是如果接口里单纯的只定义函数,没有函数的实现的话,可能代码逻辑和结构更加清晰一些,这也是过去我们学习的interface接口。在Java中处理代码运行异常是常见的技术点之一,我们大部分会使用封装的技巧将异常进行格式化输出,方便反馈给用户界面,也是为了代码复用。errorInfo = "系统异常";errorInfo = "系统异常";super("系统异常");看看这行代码是怎么处理异常的。原创 2025-01-21 09:57:28 · 793 阅读 · 0 评论 -
2024又是一年的优快云之旅-总结过去展望未来
一、前言一年就这样在忙忙碌碌的工作和生活中一晃而过,总结今年在优快云上发表的博客,也有上百篇之多,首先感谢优快云这个平台,能让我有一个地方记录工作中的点点滴滴,也在上面学到了不少知识,解决了工作中遇到的不少问题。由于个人能力有限,在优快云上也没做出什么大的贡献,写作的博客也随心所欲,可以说在今年我在优快云上得到多,付出的少。但是我认为我们在这平台上应该更加严格要求自己,输出更加优秀的博客,帮助在技术上一同前行的我们每一个人。二、总结过去1、在过去的一年里,我没有忘记初心,在工原创 2025-01-20 16:09:34 · 2226 阅读 · 15 评论 -
想学好技术的话得严格要求自己,需要有正常的方法论和学习体系
科研不应扎堆凑热闹,而要根据自己的优势,要做出自己的特色,研究要有一定的深度,研究过程中要不断地发现和解决重大问题,不管中间地道路有多难多曲折,能始终朝着自己的长远目标一点点努力,总有一天达到目标。学习是一个由点到线,再到面的过程。再比方说学习投资,首先是学习概念与理论,事实与数据(先对概念理论有了基础认知,同时通过事实与数据建立市场触觉),然后用逻辑串联起来散乱的资讯,成为可以交易的投资逻辑,最后把所有的投资逻辑整合起来,变成你自己的分析框架,未来用这个框架去系统、全面地进行投资分析。原创 2025-01-15 15:43:28 · 488 阅读 · 0 评论 -
【Java】Java网络编程封装方式例子
一、再Java系统开发中,网络编程是绕不开的技能之一,也就是发送请求和接收请求的处理。最常用的就是我们经常说的post请求,get请求这些东西。// 请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交。再spring框架中我们常用的fegin就是一种网络编程的封装。// 打开和URL之间的连接。* @param url http请求地址。* @param url http请求地址。// 执行HTTP请求。// 执行HTTP请求。// 执行HTTP请求。原创 2025-01-10 09:54:05 · 587 阅读 · 0 评论 -
【Java】Java 面向切面编程 @Aspect
切面是一种模块化的方式,用于将横切关注点(cross-cutting concerns)从业务逻辑中分离出来。2.通知(Advice): 定义在切入点上执行的操作,包括前置、后置、环绕、异常等不同类型的通知。1.切入点(Join Point): 在应用程序执行期间的某个特定点,如方法调用、异常抛出等。3.切入点表达式(Pointcut): 用于匹配切入点的表达式,决定在哪些切入点上执行通知。/** 可以根据注解选择 加密方法 防止统一*///执行方法,获取返回值。/** 返回参数加密*/原创 2025-01-08 11:20:19 · 1074 阅读 · 0 评论 -
【java】自定义注解
1、Java中的注解就是一个标志,但是标志后面还需要对标志进行实现,才能使用。很多注解Java1.5之后已经帮我们封装好了,拿来直接用,就能具有功能。那么如果新增有一个自定义注解要怎么定义,功能怎么实现。这个注解想怎么用,还得实现其逻辑,从这里只能看出这个注解是作用在字段上ElementType.FIELD。从下面的实现来看@DecryptFiled我们是用来对字段进行解密的操作。3、注解功能实现,这里就要用到Java中的反射,就是获取到注解标志。然后对注解的功能进行实现,或者可以说对标记进行解析。原创 2025-01-08 10:14:12 · 791 阅读 · 0 评论 -
【行业应用系统研究】数字化应用部署公有云和私有云
选择公有云还是私有云,价格对比会受到多种因素的影响,包括企业的具体需求、数据量、用户数量、安全性要求、法规遵从性、现有IT基础设施,以及长期的运营成本等。大型企业或对数据安全、合规性和性能有特殊要求的企业可能会发现私有云更为合适,尤其是当用户数量和数据存储量达到一定程度时,私有云的总体拥有成本可能更低。定制与控制:提供更高的定制能力和对数据的完全控制,满足高度定制的需求和严格的安全标准。旅游产品业务 (日化,香化,酒类,亲子等),酒店,旅行,景区,证件签证。原创 2025-01-07 16:00:10 · 813 阅读 · 0 评论 -
【Java】系统公共异常封装处理
一、Java中如何统一抛出异常到客户端,这种好处一般是为了抛出对用户界面友好的异常,以至于抛出一大堆具体的异常信息,影响用户使用体验,第二避免抛出敏感信息,影响系统安全。CommonExceptionType.SimpleException.throwEx("会员ID为空");errorInfoFormat = "系统异常,%s";比如我们在Java中如果遇到异常。这样就再前端只显示会员ID为空的提示。原创 2025-01-07 10:50:56 · 846 阅读 · 0 评论 -
【JAVA】封装多线程方便调用例子
多线程是JAVA开发中的基础知识,也是需要掌握的基技能,实现多线程的方式有很多种,使用的场景也很多。比如需要异步处理事务等。以下介绍一种多线程使用例子。logger.error("注册会员推送消息队列异常:", e);这里我们封装了CommonThread,这个类继承了Thread 并且实现了 Callable接口来实现。1、比如当代码运行到某一逻辑时,我们进行多线程处理。原创 2025-01-07 10:30:35 · 1111 阅读 · 0 评论 -
【JAVA】oauth2AccessToken生成过程
CommonExceptionType.CommonException.throwEx("参数错误: timestamp 格式错误或过期");CommonExceptionType.CommonException.throwEx("访问错误: 签名错误");return new Tuple2(false, "接口认证失败");原创 2025-01-06 16:31:25 · 1041 阅读 · 0 评论 -
【JAVA】JAVA会员卡号生成工具类例子
我们也可以在这个基础上增加年月日时分秒再加上卡号,避免可能会产生重复的卡号风险。// 0的ASCII码是48,9的ASCII码是57。//保存生成的会员卡卡号。// 创建一个私有的静态变量。// 生成会员卡号的方法。// 用于返回私有的对象。原创 2025-01-06 15:22:27 · 362 阅读 · 0 评论 -
【Java】订单交易单号流水号生成规则例子
/redis保存一个小时,避免出现时间差,生成的key会有重复。//redis保存一个小时,避免出现时间差,生成的key会有重复。//获取交易流水号TradeNo 20 位,14位日期+6位序列。1、采用交易流水号TradeNo 20 位,14位日期+6位序列。原创 2025-01-06 09:51:39 · 755 阅读 · 0 评论 -
【JAVA】java中将一个list进行拆解重新组装
1、当需要对一个list中的元素属性进行重新赋值,比如一个list中存储了订单数据,我们需要改变list中每个订单的id,然后再重新输出订单list。原创 2025-01-03 10:53:28 · 585 阅读 · 0 评论 -
【Java】spring中 @Scheduled常用时间配置和用法
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样。例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天。在天(月)子表达式中,“L”表示一个月的最后一天。原创 2025-01-02 10:30:36 · 1120 阅读 · 0 评论 -
【Java】各个国家和地区电话手机号判断枚举工具了
IL("以色列", "^(\\+972|0)([23489]|5[0248]|77)[1-9]\\d{6}"),(6\\d{1}|7[1234])\\d{7}$"),RS("塞尔维亚", "^(\\+3816|06)[- \\d]{5,9}$"),原创 2025-01-02 10:18:36 · 1077 阅读 · 0 评论 -
【Java】Java该工具类几种加解密方式汇总
3DES(或称为Triple DES)是三重(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个应用三次DES。由于计算机运算能力的增强,原版DES密码的长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块。原创 2025-01-02 10:04:32 · 1314 阅读 · 0 评论 -
【JAVA】Java支付代码片段
/微信支付 新增字段,接口版本号,区分原接口,默认填写1.0。logger.info("支付下单入参:" + getPayOrder().getOrderNo() + "," + JSONUtility.objectToNotNullJson(getPayOrder()));//标准编码 微信支付传device_info,支付宝传store_id(优先传aliPayModel对象中的store_id),//'固定支付信息json格式:{deviceinfo:'''';// 单位用户原始下单用户ID。原创 2024-12-31 10:00:43 · 614 阅读 · 0 评论 -
【JAVA】Java常用注解汇总
注解是在Java 5中引入的,通过在代码中使用注解,开发人员可以提供关于程序结构和行为的补充信息,这些信息可以被编译器、工具和运行时环境所利用。不包含任何成员变量的注解称为标记注解,例如上面声明的 Test 注解以及基本注解中的 @Override 注解都属于标记注解。@PostMapping、@GetMapping、@PutMapping、@DeleteMapping:这些注解是@RequestMapping的特定方法级别的变体,用于指定特定HTTP请求方法的映射关系。原创 2024-12-30 15:02:38 · 940 阅读 · 0 评论 -
【Java】nginx主配置文件与配置介绍
检测到目标 X-Content-Type-Options响应头缺失 这个暂时不开启,不然部分banner无法使用。# 检测到目标 X-Permitted-Cross-Domain-Policies响应头缺失。#连接超时时间,默认为75s,可以在http,server,location块。# 检测到目标 Strict-Transport-Security响应头缺失。# 检测到目标 Content-Security-Policy响应头缺失。# 检测到目标 X-Download-Options响应头缺失。原创 2024-12-30 11:54:04 · 544 阅读 · 0 评论 -
【JAVA】JAVA代码片段 下划线转驼峰和驼峰转下划线
/ 如果为true,代表上次的字符是"_",当前字符需要转成大写。// 判断当前字符是否是"_",如果跳出本次循环。// 不是"_"后的字符就直接追加。// 判断上次循环的字符是否是"_"JAVA代码片段 下划线转驼峰和驼峰转下划线。// 将驼峰字符串转换成数组。1、JAVA 下划线转驼峰。原创 2024-12-30 10:51:52 · 1190 阅读 · 0 评论 -
【JAVA】linux系统下nginx手动安装
安装 yum -y install openssl openssl-devel (这个可能由于源的原因也安装不了)安装 yum -y install pcre-devel (这个可能由于源的原因安装不了)进入Nginx的根目录,/home/nginx-install/nginx-1.26.2。执行命名:sudo yum install -y gcc-c++ (可能镜像源用不了)进入 /home/nginx-install/pcre-8.45。上传到服务器目录 /home/nginx-install。原创 2024-12-26 10:30:29 · 357 阅读 · 0 评论 -
【JAVA】生成accessToken例子
JAVA系统或者web系统需要对外提供访问时,都需要首先需要经过鉴权。那么这里的token服务端是怎么生成的呢下面介绍例子。调用接口时,业务数据需要和token有一起传输。比如去调用接口之前我们需要去获取令牌。1、生成token需要的参数。2、服务端生成token过程。3、服务端验证token。原创 2024-12-20 16:27:09 · 817 阅读 · 0 评论 -
【JAVA】JAVA泛型的<T>一时在前面一时在很后面怎么理解
泛型是一种在编程语言中使用的概念,目的是让代码能够处理多种数据类型,而不仅仅是一种固定类型。通过使用泛型,可以编写更通用和灵活的代码,提高代码的可重用性和可读性。在使用泛型时,可以定义一个或多个参数,这些参数可以代表不确定的数据类型。在代码实现中,可以使用这些参数表示各种不同的数据类型,从而实现相同的功能逻辑。使用泛型可以避免在代码中重复编写相似的代码,同时还可以减少类型转换的错误和运行时错误。泛型的主要优势是在编译时进行类型检查,可以提前发现错误,而不是在运行时才发现。原创 2024-12-20 11:45:14 · 325 阅读 · 0 评论 -
【JAVA】JAVA接口公共返回体ResponseData封装
JAVA接口公共返回体ResponseData封装,使用泛型的经典 例子原创 2024-12-19 17:44:13 · 1246 阅读 · 0 评论 -
【JAVA】后台管理系统密码复杂度和修改密码处理
(3)避免使用字典口令,包括许多大家习惯性设置的口令,比如常见的字典口令:Qaz@wsx、Admin123、hkcts@123、hh2345等。(1)禁止使用连续的三个数字或键盘连续的三个字母作为密码的组成部分,如asdf@123、abcd@1234 、qaz@wsx等;(2)禁止使用系统账号、姓名、出生日期的作为密码的组成部分,如:zhangsan@123、admin@123、hh@2021;// [a-zA-Z0-9\W_]{8,} 表示 字符串应该匹配大小写字母、数字和特殊字符,至少匹配8次。原创 2024-12-19 16:53:49 · 700 阅读 · 0 评论 -
【JAVA】JAVA系统日志设计与实现
一、在做系统的时候,特别是后台管理系统的时候,需要记录每一个管理员对系统的操作行为,这是合规的要求,也是方便业务出现错误操作,排查到错误的操作和相关人员。那么对于JAVA系统来说怎么手机到系统的操作日志呢。首先所有的操作都是有一个个controller产生的,增删查改,入参,出参无非这就几个。只是我们想的是如何统一对数据进行收集和处理,而不是将日志收集放在每个controller里面。1、首先我们要建一个表用来存储日志,这里暂且命名为:base_sys_operate_log。2、那就是实体类的编写。原创 2024-12-18 15:50:25 · 1194 阅读 · 0 评论 -
【Java】一份完整的支付流程例子
本篇文章摘录微信公众号:支付进阶之路。感兴趣的同学可以关注。看了这篇大佬分享的博文深受启发,转录至此,方便以后查阅。原创 2024-12-16 16:19:33 · 1586 阅读 · 0 评论