自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

转载 java启动命令日志输出重定向

2>&1 是将标准错误信息转变成标准输出,这样就可以将错误信息输出到log.log 日志里面来。

2023-02-28 16:49:26 858

转载 Spring Boot + Disruptor

2. Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。3. 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。

2023-02-14 10:08:16 484

转载 多线程永动任务

1. 能同时执行多个永动的异步任务;2. 每个异步任务,支持开多个线程去消费这个任务的数据;3. 支持永动异步任务的优雅关闭,即关闭后,需要把所有的数据消费完毕后,再关闭。完成上面的需求,需要注意几个点:4. 每个永动任务,可以开一个线程去执行;5. 每个子任务,因为需要支持并发,需要用线程池控制;6. 永动任务的关闭,需要通知子任务的并发线程,并支持永动任务和并发子任务的优雅关闭。

2023-02-14 10:02:30 308

转载 Spring Boot 生产中 16 条最佳实践

感谢Spring Boot,编写基于Spring的微服务正变得前所未有的简单。我希望通过这些最佳实践,你的实施过程不仅会变得很快,而且从长远来看也会更加强大和成功。祝你好运!

2023-01-29 10:45:59 189

转载 SpringBoot 启动扩展点

我们从这些spring&springboot的扩展点当中,大致可以窥视到整个bean的生命周期。在业务开发或者写中间件业务的时候,可以合理利用spring提供给我们的扩展点,在spring启动的各个阶段内做一些事情。

2023-01-19 09:46:13 161

转载 在Spring Bean的生命周期中各方法的执行顺序

Spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下十种:通过实现 InitializingBean 接口来定制初始化之后的操作方法;通过实现DisposableBean 接口来定制销毁之前的操作方法;通过元素的 init-method属性指定初始化之后调用的操作方法;通过元素的 destroy-method属性指定销毁之前调用的操作方法;

2023-01-04 10:45:21 245

转载 一口气教你玩转 3 种高频设计模式

看完这篇文章,相信这 3 种设计模式,已经深深刻在你骨子里面了。大家可以静下心来想想,自己之前做过的项目中,有哪些用到上面这 3 种设计模式,然后自己再结合具体的场景总结一下,我想你应该会有更深入的理解。

2023-01-03 10:22:37 182

转载 2W 字详解Java异常

Java 异常是 Java 提供的一种识别及响应错误的一致性机制。Java 异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答 what, where, why 这 3 个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。综上所述,当你抛出或捕获异常的时候,有很多不同的情况需要考虑,而且大部分事情都是为了改善代码的可读性或者 API 的可用性。

2023-01-03 09:51:24 98

转载 SpringBoot 自动装配原理,一文掌握!

SpringBoot 自动装配原理

2023-01-03 09:48:10 533

转载 软件架构的23个基本原则

软件体系架构基于一组适用于各种软件系统的基本原则,有经验的架构师知道这些原则,并且能够在软件产品的正确位置实现特定的原则。下面我们快速浏览一下架构师日常遵循的基本原则。

2022-12-14 08:48:51 154

转载 5分钟搞定,实现 定时任务 的五种方案!

我们在实际开发中,多多少少都会用到定时任务来处理一些问题。比如金融项目中的对账,每天定时对昨天的账务进行核对,每个月初对上个月的账务进行核对等。还比如,我们需要处理一些老数据迁移,修复一些新项目和老项目数据不兼容的问题等等。

2022-12-12 11:03:44 1824

转载 我管这叫留后门,你却管这玩意叫热部署

整个过程分 4 块,分别是:获得引擎脚本编译绑定 java 参数执行在实际业务中,建议在系统启动的时候去编译脚本,然后把编译好的脚本对象 compiledScript 对象给缓存起来,因为编译过程相对比较耗时,运行时每次去编译是个糟糕的设计。如果在运行中改变了脚本,只需要重新去编译这个脚本并缓存其编译后的对象即可。你只需要掌握以上代码,那几乎就已经掌握了 JSR223 规范的使用了。是不是很简单?

2022-12-08 18:14:20 365

转载 希望计算机专业学生都知道这些宝藏老师

可以在小破站,大学mooc,YouTube搜到,搜老师人名就行

2022-12-05 10:13:37 1690

转载 @Transactional注解与编程式事务

使用@Transactional注解在开发时确实很方便,但是稍微不注意就可能出现长事务问题。所以对于复杂业务逻辑,我这里更建议你使用编程式事务来管理事务,当然,如果你非要使用@Transactional,可以根据上文提到的两种方案进行方法拆分。

2022-11-25 14:25:48 418

转载 100000行级别数据的 Excel 导入优化之路

使用更快的 Excel 读取框架(推荐使用阿里 EasyExcel)对于需要与数据库交互的校验、按照业务逻辑适当的使用缓存。用空间换时间使用 values(),(),() 拼接长 SQL 一次插入多行数据使用多线程插入数据,利用掉网络IO等待时间(推荐使用并行流,简单易用)避免在循环中打印无用的日志

2022-11-25 08:35:10 519

转载 SpringBoot 如何动态切换多数据源

本篇文章讲了Spring Boot与单数据源、Mybatis、多数据源之间的整合,希望这篇文章能够帮助读者理解多数据源的整合,虽说用的不多,但是在有些领域仍然是比较重要的。

2022-11-14 15:48:11 615

转载 【无标题】

在学习Java和c++的时候我们就学了面向对象编程,首先我们都要创建一个类(当然c++中叫struct),比如说class Student,然后通过Student xiaoming=new Student.这样来创建个实例小明,它属于Student所以面向对象的两个基本概念是对象和实例不过,在JavaScript中,这个概念需要改一改。JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。

2022-11-03 16:41:14 67

转载 JavaScript——面向对象编程

JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉Java或C#,很好,你一定明白面向对象的两个基本概念:类: 类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表示学生类型,但不表示任何具体的某个学生对象:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming、xiaohong、xiaojun等多个实例,每个实例表示一个具体的学生,他们全都属于Student类型。在JavaScript

2022-11-03 16:35:28 917

转载 JavaScript面向对象

https://www.cnblogs.com/qianduanLamp/p/16596655.html

2022-11-03 16:29:16 135

转载 JavaScript中常见的十五种设计模式

一、单例模式二、策略模式三、代理模式四、迭代器模式五、发布—订阅模式六、命令模式七、组合模式八、模板方法模式九、享元模式十、职责链模式十一、中介者模式十二、装饰者模式十三、状态模式十四、适配器模式十五、外观模式

2022-11-03 16:23:50 5002

转载 JavaScript设计模式

工厂模式,建造者模式,单例模式,装饰者模式,适配器模式,桥接模式,享元模式,外观模式,观察者,策略模式

2022-11-03 16:21:26 60

转载 List 的10个坑

只对一些在业务开发中常见的关键点进行梳理和介绍在实际的工作中,我们不单单是要清除不同类型容器的特性,还要选择适合的容器才能做到事半功倍。我们主要介绍了转换过程中的一些坑,以及因为操作不当造成的OOM和异常,到最后介绍了线程安全类的一些坑,让我们认识到在丰富的API下藏着许多的陷阱。在使用的过程中,需要更加充分的考虑避免这些隐患的发生。

2022-10-27 13:38:46 124

转载 如何将 @Transactional 事务注解运用到炉火纯青

1、就是@Transactional注解保证的是每个方法处在一个事务,如果有try一定在catch中抛出运行时异常。2、方法必须是public修饰符。否则注解不会生效,但是加了注解也没啥毛病,不会报错,只是没卵用而已。3、this.本方法的调用,被调用方法上注解是不生效的,因为无法再次进行切面增强。

2022-10-26 09:12:04 124

转载 C语言有哪些冷知识

一些小众的C语言知识点,可能会比较有趣或者怪异,分享给大家看一下。

2022-10-19 09:42:35 230

转载 麻了,代码改成多线程,竟有9大问题

很多时候,我们为了提升接口的性能,会把之前单线程同步执行的代码,改成多线程异步执行。比如:查询用户信息接口,需要返回用户基本信息、积分信息、成长值信息,而用户、积分和成长值,需要调用不同的接口获取数据。如果查询用户信息接口,同步调用三个接口获取数据,会非常耗时。这就非常有必要把三个接口调用,改成异步调用,最后汇总结果。再比如:注册用户接口,该接口主要包含:写用户表,分配权限,配置用户导航页,发通知消息等功能。该用户注册接口包含的业务逻辑比较多,如果在接口中同步执行这些代码,该接口响应时间会非常慢。

2022-10-12 10:09:25 124

转载 类的六种关系

类的六种关系 继承->实现->组合->聚合->关联->依赖

2022-09-26 11:18:14 1368

转载 挑战大型系统的缓存设计,应对一致性问题

针对大型系统缓存设计如何保证最终一致性,从策略、场景、操作方案等角度进行了细致的讲述,这些是我根据多年开发经验进行总结的,希望能对你起到帮助。

2022-09-20 09:47:12 77

转载 52 类 110 个常用 Java 组件和框架整理

52 类 110 个常用 Java 组件和框架整理,以下排序是按照从技术组件到开发框架到代码工具,也有一些实在不好分类的,就放到最后了。

2022-09-19 10:47:26 164

转载 经典设计原则:单一职责原则(SRP)

本文详解设计原则中的单一职责原则,目的还是提高代码的可读性、可扩展性、复用性、可维护性等。

2022-09-14 16:56:46 719

转载 掌握这些设计原则,代码质量将大幅提升

掌握这些设计原则,代码质量将大幅提升

2022-09-14 16:55:31 123

转载 一文看懂 23 种设计模式

总体来说设计模式分为三大类:创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。大家在学习设计模式的时候,不要把它看得有多难,归根结底,都是一些概论性的总结。需要我们在平时的学习和工作中,慢慢去理解它的深层原理,这样才能灵活应用每一种设计模式。

2022-09-13 09:24:42 120

转载 掌握这些设计原则,代码质量将大幅提升

看了刚刚的讲解,你可能会有这样的疑问:为了满足这条原则,我是不是需要给每个实现类都定义对应的接口呢?在开发的时候,是不是任何代码都要只依赖接口,完全不依赖实现编程呢?做任何事情都要讲求一个“度”,过度使用这条原则,非得给每个类都定义接口,接口满天飞,也会导致不必要的开发负担。至于什么时候,该为某个类定义接口,实现基于接口的编程,什么时候不需要定义接口,直接使用实现类编程,我们做权衡的根本依据,还是要回归到设计原则诞生的初衷上来。

2022-09-09 10:38:32 91

转载 熟悉POST提交的数据4种方式,开发接口的速度将大幅提升

本文将介绍 POST 提交数据的常见的 4 种格式,比如你经常要为前端提供各种 http 接口,那么本文对你大有益处,这里所说的数据格式,也就是 Content-Type(用来指定提交数据的格式)常见的 4 种类型,大家注意下每种格式中 http 发送请求时 body 中数据的格式,这个是重中之重。很多时候,我们用 Ajax 提交数据时,也是使用这种方式。随着越来越多的 Web 站点,尤其是 WebApp,全部使用 Ajax 进行数据交互之后,我们完全可以定义新的数据提交方式,给开发带来更多便利。

2022-09-08 09:14:24 284

转载 有了这个库,以后再也不用写正则表达式了

好了,这里主要就是给大家介绍下这个正则库,有了它,我们的正则表达式就可以变得更加清晰易读,希望对大家有帮助~

2022-09-08 09:12:38 219

转载 这 7 个github仓库,够学一辈子!

这 7 个github仓库,够学一辈子!

2022-08-30 08:52:41 170

转载 Spring 框架使用了哪些设计模式

source接口是具体资源访问策略的抽象,也是所有资源访问类所实现的接口。Resource定位并打开资源,返回资源对应的输入流。每次调用都返回新的输入流。调用者必须负责关闭输入流。返回 Resource 所指向的资源是否存在。返回资源文件是否打开,如果资源文件不能多次读取,每次读取结束应该显式关闭,以防止资源泄漏。返回资源的描述信息,通常用于资源处理出错时输出该信息,通常是全限定文件名或实际 URL。返回资源对应的 File 对象。返回资源对应的 URL 对象。

2022-08-25 08:56:21 106

转载 C语言中怎么定义bit型数据

怎么定义bit型数据

2022-08-19 14:08:45 7201

转载 你将如何转置二进制矩阵

我在 C++ 中有二进制矩阵,我用 8 位值的向量表示。例如下面的矩阵:表示为:我这样做的原因是因为这样计算这样一个矩阵和一个 8 位向量的乘积变得非常简单和高效(每行只有一个位与和一个奇偶校验计算),即比单独计算每个位要好得多。我现在正在寻找一种有效的方法来转置这样的矩阵,但我无法弄清楚如何做到这一点,而不必手动计算每一位。为了澄清一下,对于上面的例子,我想从转置中得到以下结果::我更喜欢一种算法,它可以使用任意大小的矩阵进行计算,但我也对只能处理特定大小的算法感兴趣。......

2022-08-16 10:16:57 368

转载 Swift中的设计模式

这篇短文中,我们回顾了设计模式的概念,并讨论了在现代编程语言背景下,设计模式相关问题的一些变化。然后使用Swift语言演示了5个设计模式和 新的语言特性之间的关系。这5个设计模式和语言特性分别是:高阶函数和命令模式,一等函数和策略模式,柯里化函数和抽象工厂模式,扩展和适配器模式,运算 符重载和解释器模式。这5个例子展示了设计模式在现代编程语言中的变化:要么被语言特性更好的代替了;要么变得更为简单了。...

2022-08-08 14:40:45 347

转载 Swift 常用扩展类和简单封装

将16进制颜色转换为RGB生成随机颜色获取当前的viewControlle给手势添加一个tag属性String的MD5加密

2022-07-29 13:35:35 537

空空如也

空空如也

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

TA关注的人

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