自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java相关领域

男人又老又丑不要紧,最重要的是要有才华。——秋雅

  • 博客(94)
  • 资源 (37)
  • 收藏
  • 关注

原创 SpringBoot面试题及答案

总的来说,虽然 Spring Boot 提供了强大的自动扫描和自动配置能力,但在一些情况下,手动导入配置类或组件类可以提供额外的控制和灵活性。被导入的类不在自动扫描的路径下。需要控制配置类的加载顺序。仅在特定条件下加载某些配置或组件。需要明确表达配置类之间的依赖关系。组织代码结构,使之更清晰和模块化。使用@Import注解是 Spring 强大功能的体现,它允许开发者根据实际需求选择最适合的配置管理方式。

2024-03-20 13:58:27 827

原创 设计一个订阅年费制的saas系统一般需要做哪些设计

设计一个基于年费制的 SaaS (Software as a Service) 系统需要考虑多个方面,以确保系统既能满足业务需求,又能提供良好的用户体验并保持系统的安全、可靠和可维护性。

2024-03-20 11:23:09 466

原创 Spring Boot 外部化配置优先级

Apollo(阿波罗)是一个由携程框架部门开源的配置中心服务,旨在为分布式系统提供集中式的配置管理服务。在Spring Boot应用中集成Apollo后,Apollo中的配置属性将会和Spring Boot的本地配置文件(比如。以上列表是按照配置源的优先级排序的。如果你在多个位置定义了相同的属性,那么按照这个列表顺序,优先级越高的配置源将覆盖优先级较低的同名属性。属性来激活特定的配置文件和指定配置文件的位置,进一步提供灵活的配置管理。Spring Boot 允许你通过设置。)等共同作用于应用配置。

2024-03-20 10:49:01 449

原创 ThreadLocal为什么能实现线程数据隔离

为何能在多线程环境中保持线程局部变量独立性的原理。,所以不同线程看到的映射实际上是不同的。,所以它们保存的值是独立隔离的。),然后在当前线程对象内部查找或修改。实例是共享的,但是每个线程都有自己的。实例存取值,但也是线程隔离的。操作时,它会先获取当前线程(实例,作为映射的键,但是由于。因此每个线程既使通过同一个。类的一个字段存在的。,每个线程都有自己独立的。实例this作为键,与。的源码来进一步理解。方法会访问当前线程的。因此,关键点在于虽然。

2024-03-18 16:34:08 451

原创 阿里云的各种产品都是干什么的?

OCS (Open Cache Service):基于内部Tair,增加一层Proxy,支持海量小数据的高速访问。SLB (Server Load Balance):基于LVS和Tengine实现的4层和7层负载均衡,有。OSS(Open Store Service):对任意大小数据对象提供高可用,高可靠的海量存储服务。当然,阿里云提供的服务不止上面这些,而且会根据应用场景和用户需求继续丰富和完善产品体系。OTS(Open Table Service):海量(结构化)数据存储和实时查询服务。

2023-06-28 15:06:10 175

原创 mybatis-generator生成的代码如何用or处理多个并列的条件

这个 newAndCreateCriteria 其实也是先创建了一个example,然后创建了一个条件Criteria放在了list里。也就是插件设计的时候本身就支持多个条件or的。可以看到or的源码,它就是创建条件然后往list里放,再结合xml是可以满足需求的。平时一个条件时一般这么写。

2023-04-26 14:35:26 733 1

原创 Mybatis 解决 Sql In 参数过多的问题

可以参考这篇文章。sql In 是用内层驱动外层,一般用在数据量比较小的时候,而且条件上有索引,一般也会走到索引。但是如果in里的参数过多,mysql可能会放弃走索引,进而进行全表扫描,影响效率。这种情况可以把in里的参数拆分,使得sql重新走上索引,多个结果走索引后再合并,也比全表扫描快。

2022-07-14 16:51:07 5176

原创 接口性能提升方法

::::::::::合适的锁粒度。

2022-05-18 17:29:58 370

原创 上线清单梳理

评估回滚影响面,确定回滚顺序,通知相关上下游,并在发布群进行报备。除对服务器压力外,还需要评估数据库/消息/缓存/任务等压力。不是新业务上线,不需要评估业务对当前系统水位的冲击和压力。系统维度修改了那些应用、开了那些分支,以及相关人员。若有外部域系统依赖,发布顺序也需要评估外部域相关系统。不存在数据安全、业务安全,不需要风控团队介入。主要包含外部系统的依赖,非本域依赖。系统 -> 执行人 -> 顺序。系统 -> 执行人 -> 顺序。参考1.5 梳理顺序执行。业务视角修改了哪些内容。

2022-04-12 10:46:57 935

原创 详细设计模板

需求正文需求文档:交互文档:功能架构图、业务现状说明用例图流程图规则说明本项目中,设计系统之间的边界、主要领域模型本项目中,设计上下游依赖,时序图如有,请说明缓存失效策略如有,请评估峰值消息量如有,请说明任务调度策略注:不分页或者超过100条数据的列表接口必填,其他可选业务场景描述幂等单号的生成规则幂等失效的影响限售场景限售规则如何限售灰度策略实现方式影响白名单比例灰度监控内容:监控业务场景责任人告警指标核对内容:风险描述风险类型风险识别发现能力责任人应对能力稳定性/一致性T+H核对应用应急步骤描述业务影响

2022-04-12 10:32:33 1051

原创 越权漏洞风险及解决方案

常见越权有水平越权、垂直越权和数据越权。

2022-03-22 16:26:38 14990

原创 MAC 设置多个SSH

ssh-keygen -t rsa -C '526473586@qq.com' -f ~/.ssh/github_id_rsaHost gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsa# githubHost github.com HostName github.com PreferredAuthentic...

2021-06-21 11:54:38 221

原创 微服务架构通用架构

一、架构图

2021-02-25 15:18:23 369 1

原创 Jvm主要组成部分及其作用

JVM使用即时编译(JIT)技术将字节码转换成特定平台的机器代码,这一过程是自动的,对于Java程序员来说是透明的。它包括一个解释器(Interpreter)用于解释字节码,一个即时编译器(Just-In-Time, JIT compiler)用于将热点代码编译成本地机器码以提高效率,以及一个垃圾收集器(Garbage Collector)用于管理Java堆内存中的对象生命周期。Java编译的代码通常情况下是直接在JVM(Java虚拟机)中执行的,而不需要通过本地库接口(JNI)。

2021-02-18 10:47:10 737 1

原创 弄懂 JRE、JDK、JVM 之间的区别与联系

针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的。引用上面的例子,在 Java API 层面,我们调用系统声音设备的代码是唯一的,和系统无关,编译生成的字节码也是唯一的。我们知道,不同的操作系统向上的 API 肯定是不同的,那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作。甚至准确的来说,它俩是一样的,无论是用哪一个都是可以的。

2021-02-18 10:44:32 268 1

原创 SpringCloud通过服务逻辑分组实现灰度功能

当有调用时,我们根据HTTP头信息(约定好头)来决定转发到那个分组,从而能实现灰度功能,当然这样只实现了接口的灰度,其他中间件像MQ、Redis需要根据情况来决定要不要灰度,还是和非灰度共用。这里有两个工作需要做,一是实现类似网关的工作,也就是基于自定义头来路由请求到Eureka服务的特定逻辑分组实例,二是要实现头的传递,因为调用链很长,这个头需要一直传递下去。确保所有服务实例都注册到Eureka时带有所需的元数据,以便你的服务实例选择逻辑可以根据这些元数据正确识别逻辑分组。方法提供的配置就已经足够。

2021-02-07 16:18:08 527 1

原创 Mybatis常见面试题总结

MyBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC的核心对象(Connection,Statement)相互对应。站长给广大初学者提供的学习建议是:从JDBC入手并立足于JDBC,才能深入的理解MyBatis的工作原理以及核心流程。关于JDBC的详细介绍,可以参考本文文末。

2021-02-07 13:40:31 133 1

原创 Mybatis二级缓存

而二级缓存由于作用域更广,不当的使用可能会导致数据不一致的情况,因此在启用二级缓存时需要更加谨慎,并考虑适当的缓存策略和失效机制。在这种情况下,缓存管理将变得更加复杂,因为你可能需要实现更复杂的缓存失效策略,以确保当一个表的数据发生变化时,其他相关表的缓存也能相应地更新。:尽量将对同一个表的操作集中在同一个 Mapper 中,这样同一个表的所有相关操作都会使用相同的缓存区域,降低数据不一致的风险。在设计缓存策略时,重要的是要考虑到数据一致性、系统的复杂性以及缓存带来的性能提升,做出适当的权衡。

2021-02-07 13:36:54 98 1

原创 MyBatis 的懒加载原理

懒加载的原理是在第一次执行查询时,并不立即加载所有关联的对象,而是返回一个代理(Proxy)对象。MyBatis 的懒加载是指在实际需要使用关联对象的数据时才去查询并加载这些数据。在MyBatis中,懒加载主要应用于关联查询的场景,比如一对一、一对多或多对多的关系。:在执行业务代码时,当第一次访问代理对象的某个属性或方法时,MyBatis 会触发懒加载,执行必要的SQL查询并填充代理对象的数据。懒加载是一种优化手段,它可以推迟数据加载的时间,减少不必要的数据库查询,从而提高应用程序的性能。

2021-02-07 13:35:47 350 1

原创 某抓包工具查尔斯,用户名和注册码

TEAM MESMERiZEFC91D362FB19D6E6CF

2020-10-14 15:48:37 217

原创 Springboot常用的设置

# 端口server.port = 8080# 应用名spring.application.name = cloud-three-code# 启用编码spring.http.encoding.enabled = true# 缺省编码(这里只是在客户端没设置编码时起效,如果要强制编码,请配置force)spring.http.encoding.charset = UTF-8# 时区(也可以使用fastjson,就不用配置时区了。不配置时区,接收时间参数时会少8个小时。)spring.jac.

2020-07-17 17:32:55 477

原创 git 操作

mkdir:XX (创建一个空目录 XX指目录名) pwd:显示当前目录的路径。 git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 git add XX 把xx文件添加到暂存区去。 git commit –m “XX” 提交文件 –m 后面的是注释。 git status 查看仓库状态 git diff XX 查看XX文件修改了那些内容 gi...

2020-04-22 16:15:54 172

原创 try catch finally 中包含return的几种情况,及返回结果

第一种情况:在try和catch中有return,finally中没有return,且finally中没有对try或catch中要 return数据进行操作的代码,这种情况也是最好理解的。第二种情况:在try和catch中有return,finally中没有return,但finally中有对try或catch中要 return数据进行操作的代码要返回的数据是基本数据类型还是引用数据类型,...

2020-04-21 18:27:20 656

原创 SpringBoot定时任务@EnableScheduling

一、定时任务作用?定时任务相当于闹钟在什么时间做什么事情(执行什么命令/脚本)二、举例说明1、pom.xml中导入必要的依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...

2020-04-12 10:13:21 939 1

原创 Linux学习3:用户身份与文件权限

用户身份与能力useradd 创建新用户password 后跟用户名,设置该用户的密码groupadd 创建用户组usermod 修改用户信息-c 备注; -d -m 指定家目录;-e到期时间;-g变更组;-G变更拓展组;-L禁止登陆;-U允许登陆;-u修改uid。userdel -rf 删除用户文件权限与归属文件类型-普通文件;d目录;l链接文件;b块设备文件;c字符设...

2020-03-22 10:58:39 259 1

原创 Linux学习2:Vim编辑器

总共4个参数,分别是one two three four。第一个参数是one,第3个参数是three。最后一行代表case逻辑代码闭环/结束。当前脚本名称为example.sh。for 变量名 in 取值列表。else的命令序列。while 条件测试。case 变量 in。

2020-03-22 08:03:17 285

原创 Linux学习1:常用命令

只需要在虚拟机上安装Linux系统即可,无需安装一台真实的Linux机器。

2020-03-21 20:50:51 348 1

原创 SpringBoot打印POST请求原始入参body体

springboot如何打印post请求的body请求体

2020-03-18 18:26:24 5609

原创 Springboot下JackJson的日期格式化问题

时区默认为伦敦时区,国区需要设置为东8区,为了避免每次都加注解。1、在MvcConfigurer的extendMessageConverters方法里设置。(可能只对http发起的请求有效。)2、可以搞个@bean,返回ObjectMapper。 @Override public void extendMessageConverters(List<HttpM...

2020-03-15 18:06:00 1789

原创 SpringCloud微服务如何实现链路追踪?

使用这种方式,你可以在服务的不同层次和不同的执行路径中创建多个 span 和子 span,并通过这些 span 的父子关系来映射整个请求的处理流程。这样,当你查看 Jaeger UI 中的跟踪时,你将看到一个层次结构的 span 图,它反映了请求在你的服务中的具体执行路径。在 Spring Cloud Sleuth 中,创建子 span 的过程是自动的,因为 Sleuth 会自动将当前线程上下文中的 span 作为新创建的 span 的父 span。在这个例子中,你不需要显式地操作 Span。

2020-02-06 17:20:15 1504

原创 TheadLocal传递参数一定要记得Remove,否则会产生Bug

使用ThreadLocal保存用户信息,如果后续操作报错,Remove代码没有执行,那么下个用户进来,发现ThreadLocal有数据,直接取来用,则发生错误、窜用户了。若要避免这个问题,一是尽量避免使用ThreadLocal,如果使用,请确保Remove一定能执行到;下个用户之所以能取到上个用户/线程的数据,是因为所有的web服务器底层都是使用的线程池,代码里自行使用线程池复用线程的使用也是一样。首先设置一个线程,往ThreadLocal里设置值。最后用一个核心数为1的线程池去执行线程。

2019-05-28 20:23:41 1393 1

原创 java状态机设计

新增状态时,只需要加一个ConcreteState实现类,类里面实现自己的门面方法和具体的支持的动作的方法;然后需要在状态机里注册该状态(状态机初始化时)。...

2019-05-22 18:47:32 594

原创 apollo配置中心与yml中同时存在相同配置时,以谁为准?

https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E8%AE%BE%E8%AE%A1apollo使用的spring的@Value注解为字段注入值,那么apollo与yml同时存在相同配置时,以谁为准?其实apollo的官网有此解释,在 3.1 和Spring集成的原理,结论是优...

2019-04-22 14:40:41 13905 6

原创 Windows IDEA 常用快捷键 ——高仿eclipse

10.向上开始新的一行 (Start New Line before current) ctrl+shift+enter。11.如何查看源码 (class) ctrl + 选中指定的结构 或 ctrl + shift + t。48.查看方法的多层重写结构(method hierarchy) ctrl+alt+h。44.关闭打开的所有代码栏(close all) ctrl + shift + w。29.大写转小写/小写转大写(toggle case) ctrl+shift+y。

2019-02-28 09:51:52 3310 6

原创 SpringBoot整合Mybatis出现错误Invalid bound statement (not found)的解决办法

就是Mybatis的配置,如果你使用的yml格式的千万注意,缩进对于yml来说至关重要。mybatis是在文档的顶级配置下,不要放在spring下,否则也是报错。

2019-02-27 18:22:44 26299 2

原创 人工智能知识体系

百度天工物联平台是“一站式、全托管”的物联网服务平台,依托百度云基础产品与服务,提供全栈物联网核心服务,帮助开发者快速搭建、部署物联网应用。通过全面介绍天工的IoT Hub、IoT Parser、Rule Engine、IoT Device、BML、BMR、OCR和语音识别等产品与服务,解析天工典型的产品架构方案,应用到工业4.0、车联网、能源、物流和智能硬件等各行业解决方案。1)基于百度云LSS快速搭建音视频直播平台最佳实践2)基于百度云VOD快速搭建音视频点播平台最佳实践。

2018-12-13 15:54:39 10341 1

原创 SpringBoot+Mybatis多数据源解决方案

确保为每个数据源的Mapper创建正确的XML映射文件。例如,在`src/main/resources/mapper/primary`目录下和`src/main/resources/mapper/secondary`目录下放置相应的Mapper XML文件。

2018-12-04 16:56:32 200

原创 世界史上10个最伟大的公式,没有它们就没有现在的世界

英国科学期刊《物理世界》曾让读者投票评选了“最伟大的公式”,最终榜上有名的十个公式既有无人不知的1+1=2,又有著名的E=mc2;既有简单的圆周公式,又有复杂的欧拉公式……从什么时候起我们开始厌恶数学?这些东西原本如此美丽,如此精妙。这个地球上有多少伟大的智慧曾耗尽一生,才最终写下一个等号。每当你解不开方程的时候,不妨换一个角度想,暂且放下对理科的厌恶和对考试的痛恨。因为你正在见证的,是科学的美丽与人类的尊严。

2018-09-14 15:31:41 1745 1

转载 小公司有个毛的管理

很多老读者是看着我是从一个不起眼的小程序员,混到现在的,多少会影响到一批人,所以我很怕误导一些读者,说一天到晚想着转管理、转管理,所以,今天必须给大家单独发文说明下,继续提升自己,安心做好手上的事,但是眼里不能只有技术,你要想着充分发挥自己的潜力,尽自己所能为公司最大的创造价值,只要你做的事超出领导预期,被提拔是早晚的事。所以,你在小公司,别动不动就说要转管理,把手上事情做好了,超出领导的预期,为公司做出大的贡献,自然会被提拔的,管理不是你说转就能转上去的。其实,今天,我得给你们说句实话,

2018-09-14 09:49:05 165

原创 Nginx超时重试机制及潜在的坑

通过上述措施,可以有效地管理 Nginx 的超时重试机制,避免潜在的问题,确保应用的高效和稳定运行。(表现就是明明只发送了一次请求,后端服务执行了两次操作)

2018-09-13 12:08:51 10172 1

JavaScript课件PPT下载

JavaScript教程PPT,简单明了,全面,实用,也可当作手册使用

2009-09-26

linq to ado.net PDF电子书

介绍微软.net3.5中的新技术linq,强大的数据处理技术!

2009-09-26

数据结构C#语言版,值得看点!

数据结构C#语言版,一样的精彩,秉承了C系语言的一系列特性!

2009-09-26

诺基亚手机N72常玩游戏

冰冻泡泡,俄罗斯方块,雷电,咆哮金属,手机版CS,古龙群侠转,等等!!

2009-09-26

诺基亚N72手机常用系统软件

例如我的电脑,智能助手,大字体==系统功能拓展软件

2009-09-22

设计模式C#版设计模式

23设计模式,面向对象编程的必备!23设计模式,面向对象编程的必备

2009-09-22

CSS3.0手册指南

介绍css的,web技术必备,网站美化!

2009-09-22

JavaScript高级教程

讲述js脚本语言的高级应用,高手进阶使用的。

2009-06-20

JavaScript特效

常见的JavaScript特效,不必再费脑筋!

2009-06-20

JavaScript简易教程

讲述JavaScript的简单教程,能对JavaScript有个初步的掌握。

2009-06-20

mysql 数据库手册

有关mysql数据库的说明,帮助很好的使用。

2009-06-20

WinRAR中文破解版

真正的可用的破解中文版。永久有效的。装机必备。

2009-05-12

TVants电视蚂蚁

支持搜索的网络电视。能搜很多电视。试试吧。

2009-05-12

photoshop经典案例

看来他你的PS没会的就都会了。会的会更加透彻。不会白下的。

2009-05-12

DebugMode FrameServer 2.5 中文版

视频编辑,制作必备。能和常见的软件如绘声绘影,Adoble PR,玛雅,AE,搭桥使用。

2009-05-12

水晶连连看 小游戏

就是小时候常玩的,挺怀旧,不是源代码!仅供编程累了后休息罢了。

2008-06-16

ExtJS实用开发指南

ExtJS实用开发指南,pdf版本的,写的还可以。。

2011-11-29

sql简单教程

sql简单教程sql简单教程sql简单教程sql简单教程sql简单教程

2011-08-11

毕业论文在线虚线社区系统asp.net实现BBS

论文、任务书、开题报告、翻译、源码、发布说明,一切都有。当时是一边学习,一遍做,所以做的很烂。但也绝对是自主开发的,所以新手应该很很容易能看的懂。本例子仅供新手参考!

2010-06-14

在线虚拟社区asp.net实现BBS源码

简易的BBS系统,实现了常见的功能,用户管理、帖子管理、板块管理等。压缩包里有源码和发布说明,还有详细设计,一切进在里面的文档中。是我毕设时做的,很简单普通,仅供新手参考用。

2010-06-14

计算机网络专业简历,我的简历

我的简历,简约大气型。我的简历,简约大气型。我的简历,简约大气型。我的简历,简约大气型。我的简历,简约大气型。

2010-05-12

集合的并交叉三种运算,C语言实现

集合的并交叉三种运算,C语言实现。课程设计版,有详细的说明。

2010-03-15

sql教程,一边看例子,一边学sql

sql教程,一边看例子,一边学sql,最后几个补充的sql查询的例子,可供联系,思考。

2010-01-08

"一事一议"政府部门之间项目审批应用系统源码

"一事一议"政府部门之间项目审批应用系统源码,数据库:sql2000,工具:VS2005。是上学时几个学生做综合实习的时候做的,都是菜鸟,做的很烂,仅供新手参考。

2010-01-08

sql语句简易教程,常见的简单的sql语句,适合入门和复习

sql语句简易教程,常见的简单的sql语句,适合入门和复习

2009-12-16

.net基础教程PPT

.net基础教程,包含C#语言的介绍,桌面程序的介绍,SqlServer的介绍,asp.net的介绍,适合新手初步学习,能对整个.net框架有个大致的了解。

2009-12-16

c语言常用算法,做程序、笔试必备

都是些C语言常见的算法问题,很经典。有问题描述及答案,不论是学习、做程序、笔试都很实用。

2009-12-16

深入浅出MFC经典书籍

windows平台开发必读,对于了解windows很有帮助!

2009-09-22

SopCast网络电视软件

速度比较快的网络电视,其中体育台比较多,喜欢足球,nba的登体育爱好者不可错过!

2009-09-22

友立GIF5.0安装动态图片处理软件

处理gif动态图片,你可以要他来处理,生成动态图片,放到QQ里当表情!

2009-09-22

daemon虚拟光驱,好用

这个好用,我一直再用的奥!也没有让输入码,不知道是不是本来就是免费的。反正这个是安装可使用!

2009-09-22

AudioDVD Crate 制作DVD音频

制作标准DVD音频的首选软件,小巧而强大

2009-09-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除