- 博客(60)
- 资源 (2)
- 收藏
- 关注

原创 微信小程序支付+Java后台实现(完整版)
在开发微信小程序支付的功能前,我们先熟悉下微信小程序支付的业务流程图:不熟悉流程的建议还是仔细阅读微信官方的开发者文档。一,准备工作事先需要申请企业版小程序,并开通“微信支付”(即商户功能)。并获取一下参数:appid=******** //小程序appidmchid=******** //小程序绑定商户idkey=***************** //商户后台设...
2019-05-27 20:01:01
49169
34
原创 SonarQube工具安装详解,能帮你Review代码、安全审计等质量管理
为什么今天要推荐SonarQube呢?这话题要从一次客户的项目交付说起。当时服务要部署入驻到客户方的机房,按要求向信息中心提交申请后,却被告知需提供《服务器安全漏洞扫描报告》和《代码安全审计报告》。按照惯例,这些报告一般由第三方做网络安全的公司提供,但谁知客户不想花钱找第三方公司,最后商量要我方用开源工具扫描,并修复完向他们提供报告。这如何是好,做与不做?似乎没有选择,必须做。开始找开源的质量管理工具。
2025-05-20 10:18:58
797
原创 Java对象内存模型、如何判定对象已死亡?
如果是64位系统,最大支持 2^64, 但是对其填充是按照8字节进行填充,指针压缩可以理解为在32位系统在64位上面使用,因为32位系统的CPU寻址空间最大支持4G,对其填充*8 = 32G,这就是内存>32G指针压缩失效的原因。使用句柄访问,会在堆中开辟一块内存空间作为句柄池,句柄中储存了对象实例数据(属性值结构体) 的内存地址,访问类型数据的内存地址(类信息,方法类型信息),对象实例数据一般也在heap中开辟,类型数据一般储存在方法区中。长期存活的对象进入老年代。动态判断对象的年龄。
2025-05-20 07:56:05
587
转载 Spring Boot 常用的注解整理全集
总结: Spring & Spring Boot 常用注解极大地便利了开发,它们遵循“约定优于配置”的理念,通过简单的注解声明即可完成以前繁琐的XML配置或手动编码工作。是 Spring Boot Test 提供的注解(org.springframework.boot.test.mock.mockito.MockBean),用于在 Spring 测试上下文中添加一个由 Mockito 模拟的Bean,并替换掉容器中原本该类型的Bean(如果有)。常用于在 Web层或服务层测试中,模拟依赖的Bean行为。
2025-05-19 07:45:39
22
原创 Spring Boot 配置明文密码加密,防泄漏
在Spring Boot应用中,出于安全考虑,通常不推荐在配置文件中明文存储数据库、Redis等密码。为了安全管理密码,今天给大家推荐一个安全好用实现,请往下看!Redis8.0全新亮相,开启开源新时代,内置全新数据结构...在配置文件中,用上面工具生成的加密串,替换明文密码。【JAVA多线程】JDK中的各种锁,看这一篇就够了。在工具类生成加密串时必须与配置文件中保持一致。Java 8 到 Java 24 新特性一览。Java 8 到 Java 24 新特性一览。现在的背调,都可以这么玩了?
2025-05-16 20:33:05
347
原创 Java 8 到 Java 24 新特性一览
本文整理了 Java 8 至 Java 24 各版本的新特性,内容包括每个版本的新增功能分类(如语法增强、性能优化、工具支持等)、详细的代码示例,并结合官方文档资料,分析每项特性的应用场景及优缺点。Java 8 发布于 2014 年,此后 Java 进入快速迭代模式,每半年发布一个新版本。一路走来,Java 8 到 Java 24 带来了大量重要的新特性。Java 8 新特性发行时间: 2014 年 3 月语言特性Lambda 表达式与函数式接口:Java 8 引入了 Lambda 表达式,使我们能够将匿名
2025-05-15 20:40:00
956
转载 MySQL复合查询全解析:从基础到多表关联与高级技巧。
为什么最终的年薪是NULL呢,因为我们在表中发现有人的奖金是NULL,而我们的年薪计算方式就是月薪*12 + 奖金,而NULL是不参与计算的,因此最终的结果就是NULL,所以我们需要使用函数ifnull(comm,0),这样就把所有为NULL的数字变成0。内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。子查询语句出现在from子句中。查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。
2025-05-15 07:53:54
15
原创 现在的背调,都可以这么玩了?
更狠的玩法,招聘公司的人,会通过网络手段,找到你前公司得几个同事和领导,按他们背调的问题,挨个问A、B、C等一遍,然后根据几个人的反馈,确认你提供的信息是否与调查的一致。说到最后,现在正在求职或将要求职的兄弟们,针对背调这件事,我们一定要谨慎应对,同时这也是对公司德行的一次展现。这一顿骚操作下来,你的信息基本就被人家了如指掌,甚至可能连你自己都记的不太清的事,统统记录在人家的人事档案中。那么,一般被调都调查些什么呢?严苛的公司,最直接有效的办法,就是保持你提供的信息真实,就不用担心被。也要勇敢地说 NO!
2025-05-14 20:50:11
523
转载 【JAVA多线程】JDK中的各种锁,看这一篇就够了
否则,返回false。说到JDK中的阻塞队列,其核心就是AbstractQueuedSynchronizer,简称AQS,由双向链表实现的一个元素操作绝对安全的队列,用来在锁的实现中维护阻塞在锁上的线程上的队列的这个角色。当一个线程已经持有一个锁,并在持有该锁的过程中再次尝试获取同一把锁时,如果没有重入机制,第二次请求会被阻塞,因为锁已经被自己持有。接下来要考虑的是拒接策略,当前锁被持有期间,后续的请求线程该怎么处理,当然可以直接拒绝,JAVA的选择委婉点,选择了允许这些线程躺在锁上阻塞等待锁被释放。
2025-05-13 20:31:06
12
原创 Spring AI基于DeepSeek实战,使AI开发更高效
今天介绍了SpringBoot项目中,对Spring AI(基于DeepSeek模型)的集成接入,整个接入过程比较简单。展示,而对于对话流输出的,我只是测试,前端没做具体的值相应截取拼接,看起来就是Response的一堆重复Json串,但不影响测试结果。目前的Java开发社区,可接入的AI主要有 Spring AI 和 Spring AI Alibaba 两个。一个面向人工智能工程的开源框架,旨在为Java开发者提供方便的AI集成能力。计,简化AI功能的接入步骤,同时保持与Spring生态的无缝兼容。
2025-05-11 18:27:12
843
原创 Redis8.0全新亮相,开启开源新时代,内置全新数据结构...
作为全球最受欢迎的开源内存数据库,Redis凭借其高性能、灵活的数据结构和丰富的功能,成为现代应用中缓存、会话存储、实时分析等场景的核心组件。Redis 8.0 的发布标志着其从“内存数据库”向“实时数据智能平台”的跨越式演进,为 AIoT、实时分析等新兴领域提供了基础设施级支持。(由 Redis 创始人 antirez 设计),专为矢量数据优化,可直接处理机器学习模型的向量化结果,为 AI 推理、相似性搜索等场景提供原生支持。内存分配策略,极端负载下内存碎片率降低 15%,长期运行稳定性显著提升。
2025-05-07 20:21:05
874
原创 SonarQube | 一个能帮你Review代码、安全审计不可缺少的质量管理工具。
似乎没有选择,必须做。由于本人以前在外企的工作经验,那时同事提供过来的代码检查报告,文档及内容展示等比较友好,能快速定位问题,由处理意见等,我似乎进入寻找曾经的那个“样子”,最终,SonarQube满足了需求。SonarQube服务实际搭建的过程中,还会有很多的问题需要处理,这里不做一一的赘述,如果你关系或想了解更多的相关内容,可关注此公众号,在我的获取本人联系方式,进行一对一交流讨论,欢迎骚扰!放好后,重启startsonar.bat,重新扫描刚才的代码,进入主页,就会出现more的标签。
2025-05-05 21:01:59
708
原创 IDEA 2025.1正式发布,AI能力有重大更新
更新包括更智能的代码补全,对 OpenAI GPT-4.1(即将推出)、Claude 3.7 Sonnet 和 Gemini 2.0 Flash 等新云模型的支持,基于 RAG 的高级上下文感知,以及直接从聊天进行多文件编辑的新编辑模式。IntelliJ IDEA 2025.1 添加了对 Angular 17.2 信号查询的支持、更智能的反应式表单补全,以及对基于指令选择器的主机绑定特性的代码补全支持,还包括在绑定表达式中创建字段的快速修复。以前,解析与代码高亮显示同时运行,导致延迟并提供不明确的反馈。
2025-05-02 20:50:43
616
原创 Java17已成主流
自Spring官方发布Spring Boot 3.0之后,最低支持Java17,而最近Nacos3.0发布,最低也支持Java版本到Java17。目前国内Java分布式微服务项目,后端技术栈基本都是基于SpringBoot+SpringCloud Alibaba生态实现,这无疑是对微服务环境和架构的又一次升级,致使Java17也已成为当前主流。开发者可结合项目需求,优先采用密封类、模式匹配等特性,逐步迁移至模块化架构以应对复杂系统的挑战。支持直接调用本地代码(如C/C++库),提升与底层系统交互的效率。
2025-05-01 10:01:46
367
原创 SpringBoot3.x版本新特性
GraalVM 是 Orace 在 2018年发布的一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,不仅支持了 java、ScalaGroovy、Kotin 等基于 JVM 的语言,以及 C、C++ 等基于 LLVM 的语言,还支持其他像 JavaScipt.Ruby、Pvthon 和 R语言等。Spring Boot 现在已经成为了实事上的脚手架框架了,让学习和开发变得更简单,同时这版本的淘汰节奏也让我感觉技术更新实在太快了,所以我们也要不断保持学习,不然也会跟着淘汰。
2025-05-01 10:01:46
469
原创 IT微服务时代,企业到底该不该用微服务架构开发?请看过来,这里给你讲透
时至今日,微服务架构在企业项目开发中,已成为主流,似乎从大公司到几人的团队,都在使用微服务开发。但现实中,中小公司或小团队,虽然在使用微服务架构,甚至开发了一两年的软件项目,依旧有团队成员,对微服务一知半解,更离谱的是,连开发团队的主要成员或leader,也不知道微服务的真实模样,完全靠自己的想法,搞一套牛头不对马嘴的架构,开发公司的主要或核心项目。微服务项目中的pom依赖,不做全局管理,不进行按模块按需使用,混乱依赖导致每个服务部署包小则一两百MB,大则五六百MB,一个最简单的文件上传服务包也不例外;
2025-03-27 20:04:02
928
原创 Linux Centos系统安装Mysql8.0详解
本文是基于服务器Linux Centos 8.0系统 安装 Mysql8.0真实运维工作实战为例,详细讲解安装的全过程。
2023-11-30 15:07:27
1386
原创 精选的10款Java开源项目,建议收藏
目前国内的IT开源环境还是相当不错,但是国内开发注重是应用,创新有但不多,从榜单可以看出,专门搞技术的还是少数,结合项目实践的占大多数,分享给大家,架构的时候可以参考这些解决方案。1,z...
2021-01-26 09:26:36
4675
原创 Redis缓存雪崩、穿透、击穿应对及常见精选面试题
随着互联网技术的持续发展,各种类型的应用层出不穷,使得当今成为云计算、大数据盛行的时代,因此也对应用的性能要求更高,高并发低延迟、海量数据流量、大规模集群管理已成基础要求。为了克服这些问...
2020-09-04 10:02:51
892
原创 SpringCloud微服务项目实战 - 缓存详解及高效缓存接入
缓存,已经是现在系统中必不可少的内容,如何使用好缓存,对系统的性能和效率至关重要,这里我就来分析一下使用缓存的正确姿势吧。如今的微服务项目,都是前后端分离,上面就是简单的服务架构图。在整...
2020-08-27 09:28:30
3149
1
原创 Mysql5.7备份警告 mysqldump: [Warning] Using a password on the command line interface can be insecure处理
在使用mysqldump脚本备份数据库报错这个问题应该是在MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。那我们怎么使用密码才能安全呢?我查了好多解决方案,基本都是修改mysql配置文件my.cnf,将账号密码信息放到配置文件中。如下:[mysqldump]socket=/tmp/mysql.scokdefault-character-set=utf8mb4host=127.0.0.1user=rootpassword='****'注意:mysq
2020-07-09 18:40:11
3529
原创 Linux服务器中Mysql5.7数据库自动备份及脚本任务实现
大家都知道,mysql数据库备份使用命令:mysqldump -uroot -ppassword dateabase > /data/bakup/dateabase_$(date +%y%m%d).sql由于有多个库,所以我还写了shell脚本做了优化,代码如下:#!/bin/bashDUMP='/usr/local/mysql/bin/mysqldump'HOST=127.0.0.1USER=rootPSW='******'BAKUP_DIR="/data/bakup/my
2020-07-09 18:25:07
1401
原创 SpringCloud微服务项目实战 - 限流、熔断、降级处理
我们知道,在分布式微服务项目体系中,一个系统是由若干个子服务模块组成,这若干个子服务相互调用协同工作,对外输出服务使得整个系统运作。由于服务之间的相互协作调用,所以要保证整个系统完整运行...
2020-07-06 10:33:31
8046
2
原创 SpringCloud微服务项目实战 - API网关Gateway详解实现
前面讲过zuul的网关实现,那为什么今天又要讲Spring Cloud Gateway呢?原因很简单。就是Spring Cloud已经放弃Netflix Zuul了。现在Spring C...
2020-05-25 08:27:16
13210
4
原创 SpringCloud微服务项目实战 - 网关zuul详解及搭建
上一篇介绍了服务的调用,这篇接着之前的话题,来说说SpringCloud中zuul的使用及搭建网关的那点事。首先,我们要知道什么是网关?网关,是一个系统中前置的统一入口,介于客户端和服务器端之间的中间层,主要用来处理非业务功能,提供路由请求、鉴权、监控、缓存、限流等功能。客户端发起的请求首先通过网关,进行非业务功能处理,在根据路径的路由,定位到具体的服务节点上。同时系统使用服务...
2020-04-24 10:19:33
1523
原创 微信小程序支付Java服务端开发源码,及那些你不知道的坑(一)
受新冠病毒疫情影响,小程序又被推上风间浪头,曾经的线下实体企业都开始纷纷的转型线上,但目前线上最大的入口莫过于微信。因此小程序成了商家们转型线上的首选。而由于微信自己的生态原因,小程序的在线支付只能使用微信小程序支付。这有让微信支付也越来越火,最近有很多开发者都找我咨询和要微信支付的源码的事情。我今天也再说说这事。微信小程序支付说道小程序支付,我要稍稍吐槽一下,微信支付真的搞的很乱。如果你...
2020-04-23 12:52:13
562
原创 阿里云linux服务器安装Jenlins详解
在Linux服务器上安装Jenkins的详细流程如下:首先需要安装Java环境,这里不做介绍1,下载安装包打开链接:https://jenkins.io/zh/download/选择版本,点击进入选中要下载的文件,右击选择“复制链接地址”,然后在linux服务器上下载(当然可以先下载到个人电脑本地再上传到服务器)等待下载完成,执行ls可查看下载的文件使用...
2020-04-14 17:59:03
389
原创 SpringCloud微服务项目实战 - 微服务调用详解(附面试题)
今天继续SpringCloud微服务项目实战系列文章,前面的文章已经说了微服务的服务注册与发现,现在接着上一篇的话题,说说微服务之间的调用。在实战之前,我们还是先掌握下基础理论等知识,继续以面试题的形式展开。微服务调用介绍一,SpringCloud微服务之间调用的方式有那些?在SpringCloud中实现微服务调用的方式有Ribbon、Feign两种,他们实现软负载均衡调用。R...
2020-04-09 23:49:21
3243
1
原创 SpringCloud微服务项目实战,服务注册与发现(附面试题)
最近项目的事真是搞的焦头乱额,好多天没更新文章了。今天抽空继续前面的SpringCloud微服务实战系列项目,以后我会基于面试的一些问题及原理展开,再深入到项目实战。希望小伙伴们看完能有更大的收获,不仅面试的基础问题都知道了,再跟着实战练练手,就能更加深入的掌握,对找工作也会有很大的帮助。服务注册与发现(面试题)1、什么是服务的注册与发现?服务的注册与发现,在任何RPC远程调用框架...
2020-04-09 23:46:08
1860
原创 Spring Cloud微服务项目实战--Eureka服务搭建
今天我们要开始SpringCloud的微服务项目系列实战,我仍然以电商项目展开,从搭建一步步深入。在开始实战之前,我们先熟悉下SpringCloud。一,Spring Cloud是什么?SpringCloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状...
2020-04-09 23:43:03
1330
原创 SpringBoot+SpringCloud面试总结都在这里
今天,我先说说目前最火最流行的SpringBoot、SpringCloud面试相关的知识,以便支持大家学习。大家应该都知道,SpringBoot是目前最流行的微服务框架,SpringCloud也是目前最流行微服务治理框架。那大家对这两个框架到底知道多少呢?下面是我整理的内容。微服务1,什么是微服务?微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的...
2020-04-09 23:40:35
926
原创 今年的金三银四,要找工作的请看这里
公众号停摆一个多月了,今天开始恢复正常。那今天要说的是在这个金三银四,你们工作都好找吗?是不是今年和以往差别很大,想找工作的和想跳槽的伙伴们,你们都准备好了吗?又到每天的招聘跳槽季节了,...
2020-03-10 08:01:25
272
原创 真实经历 | Spring-boot中引入devtools热部署引发的问题
年底一直在忙着赶项目,为了方便项目的本地开发调试,我给项目引入了spring-boot-devtools热部署,谁知引来了莫名奇妙的问题,代码中老是抛ClassCastException...
2020-01-21 08:29:05
2580
原创 44个Java代码优化手段,保证性能溜溜的!
我认为,代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言,最后一条其实影响是非常大的,这意味着这段时间用户无法访问应用。因此,在写代码的时候,从源头开始注意...
2020-01-05 18:59:46
512
原创 推荐一些MySQL优化技巧,效率提升不止十倍!
应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧1 比较运算符能用 “=”就不用“<>”“=”增加了索引的使用...
2020-01-05 18:56:13
538
原创 Java中大量if...else语句的消除替代方案
在我们平时的开发过程中,经常可能会出现大量If else的场景,代码显的很臃肿,非常不优雅。那我们又没有办法处理呢?针对大量的if嵌套让代码的复杂性增高而且难以维护。本文将介绍多种解决方案。案例下面模拟业务逻辑,根据传入的条件作出不同的处理方式。拿一个计算器类当做案例,有加减乘除四种方法,输出结果和四种操作有关。public int calculate(int a, in...
2019-12-28 10:37:13
1194
原创 SpringBoot基于数据库的定时任务实现
在我们平时开发的项目中,定时任务基本属于必不可少的功能,那大家都是怎么做的呢?但我知道的大多都是静态定时任务实现。基于注解来创建定时任务非常简单,只需几行代码便可完成。实现如下:@Configuration@EnableSchedulingpublic class SimpleScheduleTask { //10秒钟执行一次 @Scheduled(cron = "...
2019-12-28 10:35:20
7816
6
原创 常见的加密算法及详解都在这里!
加密算法,是现在每个软件项目里必须用到的内容。广泛应用在包括了用户登入、数字签名、数据传输等多个场合。那大家都知道那些呢?今天我把常见的加密算法全部整理在这里,供大家学习参考。首先,大家要知道加密算法能干什么,利用加密算法来对数据通信的过程进行加密传输是一种最常见的安全手段。利用该手段能够达到一下三个目的:1、数据保密性,防止用户数据被窃取或泄露;2、数据完整性,防止用户传输的数据...
2019-12-20 00:06:39
12690
1
原创 太难了 | 2019年互联网寒冬,如何防止自己被裁员失业?
2019年,我们真的是太难了,大家又没感觉到?“上午还在写代码修Bug,下午就被裁掉了……”随着寒冬的到来,各大互联网公司裁员的消息屡见不鲜。甚至连一些科技巨头都在人力优化和收紧,下面是今年大公司裁员的详情,图片来源于网络。再看看网络上的其他信息。新浪微博的裁员:Keep裁员信息:2019年,资本寒冬笼罩之下,各行业裁员消息频出,尤以互联网行业首当其冲。红利...
2019-12-20 00:02:15
7012
11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人