自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小达的博客

以恒心,待初心

  • 博客(204)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 武功修炼:内功

内功设计模式设计模式 – 概述创建型模式 – 单例模式创建型模式 – 简单工厂模式创建型模式 – 工厂方法模式创建型模式 – 抽象工厂模式创建型模式 – 原型模式创建型模式 – 建造者模式结构型模式 – 适配器模式结构型模式 – 桥接模式结构型模式 – 组合模式结构型模式 – 装饰模式结构型模式 – 外观模式结构型模式 – 享元模式结构型模式 – 代理模式行为型模式 – 职责链模式行为型模式 – 命令模式行为型模式 – 解释器模式行为型模式 – 迭代器模式行为

2021-04-01 18:51:24 101

原创 效率开发目录

工具工具篇 – 开发效率工具工具篇 – Strman工具篇 – maven工具篇 – Lombok工具篇 – joda-time工具篇 – git封装类封装工具类 – log处理封装工具类 – 编写切面日志封装工具类 – 使用exe4j转化jar为exe后,精简jre(最简单方法)封装工具类 – 时间转化,设置,格式封装工具类 – 两个对象不同属性,内容拷贝封装工具类 – 参数校验封装工具类 – poi生成excel工具类封装工具类 – Java生成csv文件代码

2021-01-27 11:44:17 83

原创 解决问题目录

解决问题: JDK8切换成JDK11解决问题: java.lang.NoSuchMethodException:com.sun.proxy.$Proxy73.stat_query(com...utils.SqlPara)解决问题:java.io.InvalidClassException: org.springframework.security.core.authority.SimpleGranted…解决问题: Failed to bind properties under ‘’ to com..

2021-01-27 11:22:18 189

原创 武功修炼:招式

Java基础1. java基础 – 开发手册2. java基础 – String前世今生3. java基础 – StringBuffer和StringBuilder类4. java基础 – equals与 hashCode关系详情

2021-01-26 14:11:15 299

原创 手写Spring框架

各位道友,我发现现在贼卷底层代码,看完源码发下几天后,额!!!我当时看了啥!还是自己写个迷你的spring框架,这样印象更加深刻,上干货,代码仓库:https://gitee.com/smd_somin/SmdSpring.git上面是我写的迷你版的spring框架,麻雀虽小,五脏俱全,主要包括下边的内容下面是手写框架的过程和思路,仅供大家参考!!!相信大家总会遇到这样问题,聊聊你理解的spring?这个基本是100个技术,99个会遇到这个问题?

2023-05-18 09:16:04 1450

原创 代码性能优化(保姆级思路)

对于用户来说对于程序慢是很难忍受的事情,互联网通识1,3,5,8s是公认的体验感知段落,1s响应结果,客户感觉这个好用,3s响应结果,客户认为这个还行能够接受,5s响应结果,客户就会有点反感了,会抱怨怎么这么慢,影响产品形象 ,8s及以上响应结果,这是无法被接受的事情。我们单位是做电商ERP,每天大概在大客户在30-50w单,所以这样的客户在整个电商ERP的链路中,数据量都是较大,且对于发货有较高的时效要求,所以对于响应结果要求也比较高。当产品反馈给你一个功能,说客户反馈的,或实施收集的,或自己测试的。

2023-04-28 08:30:00 834

原创 架构篇--代码质量手册

目前团队缺少SA(研发经理)的角色,大家代码写的有点随意,老板让我写一份开发手册。嗯!!!当时我稍微纠结了一下,感觉这个似乎不是我的工作范畴,但是本着"我就是块砖,哪里需要往哪搬"的工作态度,还是应下了这个工作。遥想当年,大学时我去应聘了学校学生处的秘书,很幸运在学生处历练了2年,当时还是学到了一些写作的本事。!!特别是学姐,那是手把手教我~嗨!都是往事,都是故事!各位道友,下面是我写的研发手册,虽然不是文采飞扬,但是本着实事求是的态度,还是描述清楚了手册的重要性。

2023-03-01 17:36:11 520

原创 架构篇 -- 搭建gitlab ci远程自动化部署

文将以pass-runtime服务为例子,进行介绍,有相关自动部署需求,可参考此文档。最近换了份工作公司要求使用gitlab ci去部署,原来比较习惯使用jenkins,但是还是要适应新挑战,看了网上比较多的文章一般都不是合适,然后自己写一份,希望能帮助到有缘人。各位道友,多多指教!

2023-01-17 10:47:14 1914

原创 【jvm源码】-2.对象核心源码

各位道友配上上面synchroized的源码,继续卷一段相关知识,这个是最常见的对象内容。作为java开发天天面向对象开发,但是对象到底是啥?

2022-09-16 18:12:49 690

原创 【jvm源码】--1.synchronized实现原理以及锁升级过程

​ 最近看了两天八股文,看到并发 synchronized的实现原理,里面总说monitor对象有enter有exit。也没看到java里面有monitor类 ,一怒之下,就直接干jvm源码。​ 首先,我的C和C++已经还给老师了,基本忘没了,但是没关系,先看着,看不懂再学学。连续看了三,四天,还是看懂一点点,但是感觉也够了,能了解jvm里面运行大概是这个意思就行了,太细致的也真看不懂。

2022-09-16 16:55:15 810

原创 2-4.spring源码--BeanPostProcessor

对于 BeanPostProcessor知道spring的同学都不会模式,只要面试都会被问到 bean的 生命周期,然后大家都回去背下BeanPostProcessor的postProcessBeforeInitialization和postProcessAfterInitialization两个方法。大多数人都是当时背一下,并不知道具体是怎么运行流转的,执行的原理是什么样子。...

2022-08-31 19:39:55 250

原创 2-3.spring源码--BeanFactoryPostProcessor

从上面 的文档上看就是可以修改bean信息,但是修改的触发节点是在bean实例化前才会有效果。从源码中可以看出,这个接口只有一个接口,所有的实现都是集成这个接口,下面 是实现接口的对应类型。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ShhFCT61-1661767517508)(…\picture\14.png)]......

2022-08-29 18:06:02 224

原创 2-2.spring源码--BeanDefinition

通过读取spring官方参考文献,你就应该对spring有一个清晰的认知,对于ioc的地位的描述请看spring文献开篇内容从上面内容看ioc的功能重要程度是最重要,aop还要排在ioc后面。对于ioc学习先铺垫下一些核心内容,本次介绍BeanDefinition以及相关子类。...

2022-08-26 09:36:19 219

原创 2-1-4.spring源码--AbstractApplicationContext

江湖上流传这样一个传说,只要把spring的refresh()搞明白,spring就学的七七八八了。今天来盘一下refresh方法,这个这是一个困难点了。在创建对象使用构造方法时候调用了refresh方法,也就是说,在程序启动,构建bean的过程中执行refresh方法。下面我们看下具体的refresh方法包括那些内容。......

2022-08-25 18:08:15 176

原创 2-1-3.spring源码--ClassPathXmlApplicationContext

官方的描述:单独xml application容器,从类文件路径上读取出容器信息,(Standalone XML application context, taking the context definition files from the class path)。spring可以通过创建ApplicationContext容器可以实现对于bean的操作,而实现ApplicationContext接口的实现类就是ClassPathXmlApplicationContext类,这里使用多态的特性。

2022-08-19 17:38:45 179

原创 2-1-2.spring源码--ApplicationContext

上次的文档中介绍了BeanFactory容器根接口,下面是容器的实现关系,内容比较多,将重点内容标注出来,由上到下的顺序BeanFactory->ApplicationContext->AbstractApplicationContext->ClassPathXmlApplicationContext。BeanFactory和ApplicationContext属于接口,没有太多实际的逻辑内容,主要的代码逻辑在AbstractApplicationContext中。

2022-08-19 17:37:04 148

原创 2-1-1.spring源码--BeanFactory

在spring官方api文档中,查看BeanFactory介绍中,第一句对于BeanFactory的表述非常贴切。BeanFactory作为一个根接口用于访问spring bean的容器(原文 :The root interface for accessing a Spring bean container.)。

2022-08-08 16:49:45 230

原创 2-1.spring源码--Container

在参考文献上第一章就是ioc介绍,下面是第一章提到中心内容,是下面这句话:A bean is an object that is instantiated, assembled, and managed by a Spring IoC container。后面ioc的学习会围绕这两个内容进行展开,本次主要学习container相关内容。通过读取spring官方参考文献,你就应该对spring有一个清晰的认知,对于ioc的地位的描述请看spring文献开篇内容。...

2022-08-08 16:46:04 235

原创 解决问题:maven 执行打包package卡住问题

1.首先加一下maven打包的输出过程,怎么加那?

2022-07-21 18:52:00 2954

原创 2.spring源码--AOP和IOC

通常情况下 ,一聊到spring 基本就会提到aop和ioc。网上对于这两个核心内容已经讲的很多了,有点烂大街了,多数都从理论上去阐述aop是什么样的,ioc是什么样的。但是真正从代码来看,aop和ioc其实是不在量级上的 ,可以这么说,aop是实现ioc的过程中,一块小关键点的实现,在后面的代码中会拆解ioc的实现过程,从代码过程中可以体会到这个部分内容。首先需要理解到底什么是ioc?网上有很多玄乎的答案,其实他真正在做的事情就是 “通过spring获取一个bean的过程” 。我想最能表现ioc的就是

2022-07-11 17:34:45 247

原创 1.spring源码--学习方式

本人在互联网工作四年了,去年开始待10人小团队,开始接触管理相关内容,但是个人本身还是对于技术更感兴趣些,最近在看spring源码内容,记录下自己学习看源码的心路历程和一些实际经验进行分析。首先,要下载一份源码(废话但是很重要),下面是几个思路:先梳理脉络,不要深入细节(先看个大概面,再由面到点)尝试看注释 ( 看不懂英文,整个翻译插件 )有注释不懂可以大胆猜想做一些dome进行尝试debug学习源码确实有困难,最需要的是 坚持,坚持,还是坚持。这个虽然是屁话,但是真的很重要,每天坚持看一些,一点点记录,

2022-07-11 17:32:43 611

原创 反射效率为什么低?

最近看spring源码相关内容,看到aop的实现,其中有动态代理涉及到反射内容,总有帖子说反射效率低,所以就想验证下反射效率是否整点低,以及低到什么程度?是否只要使用就很影响性能?测试类输出结论反射10次反射100次反射1000次反射10000次反射100000次反射1000000次...

2022-07-05 18:41:48 401

原创 定时任务Quartz

因为公司内部项目有使用定时任务管理的场景,所以对定时任务进行技术考察。根据当下的分布式定时任务管理工具相对较多,主要选取主流技术xxl-job,elastic-job,Quartz三种技术。经过技术对比三种最终选择Quartz,原因如下:1. 首先进行xxl-job和elastic-job对比,这两种使用层面相似,都支持分布式切片,提供了管理界面,还有一些高级特性,扩容,降级等等处理。但是elastic-job使用了zookeeper学习成本更高,且如今不在维护了,在这两个前提下,排除了elastic-

2022-06-13 15:03:24 733

原创 7 Spring Cloud Nacos

Spring Cloud NacosNacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台。Nacos 的命名是由 3 部分组成:组成部分全称描述Nanaming/nameServer即服务注册中心,与 Spring Cloud Eureka 的功能类似。coconfiguration

2022-03-17 16:56:18 571

原创 6 Spring Cloud Alibaba

Spring Cloud AlibabaSpring Cloud AlibabaSpring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案,是 Spring Cloud 第二代实现的主要组成部分。Spring Cloud Alibaba 吸收了 Spring Cloud Netflix 的核心架构思想,并进行了高性能改进。自 Spring Cloud Netflix 进入停更维护后,Spring Cloud Alibaba 逐渐代替它成为主流的微服务

2022-03-17 16:55:40 935

原创 5 Spring Cloud GateWay

Spring Cloud GateWay在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户端直接请求服务的方式存在以下问题:当服务数量众多时,客户端需要维护大量的服务地址,这对于客户端来说,是非常繁琐复杂的。在某些场景下可能会存在跨域请求的问题。身份认证的难度大,每个微服务需要独立认证。我们可以通过 API

2022-03-17 16:55:19 260

原创 4 Spring Cloud OpenFeign

Spring Cloud OpenFeignOpenFeign 全称 Spring Cloud OpenFeign,它是 Spring 官方推出的一种声明式服务调用与负载均衡组件,它的出现就是为了替代进入停更维护状态的 Feign。OpenFeign 是 Spring Cloud 对 Feign 的二次封装,它具有 Feign 的所有功能,并在 Feign 的基础上增加了对 Spring MVC 注解的支持,例如 @RequestMapping、@GetMapping 和 @PostMapping 等。

2022-03-17 16:54:27 483

原创 3 Spring Cloud Ribbon

Spring Cloud RibbonSpring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。Netflix Ribbon 是 Netflix 公司发布的开源组件,其主要功能是提供客户端的负载均衡算法和服务调用。Spring Cloud 将其与 Netflix 中的其他开源服务组件(例如 Eureka、Feign 以及 Hystrix 等)一起整合进 Spring Cloud Netflix 模块中,整合后全称为 Spring Cloud N

2022-03-17 16:53:33 169

原创 2 Spring Cloud Eureka

Spring Cloud Eureka概述Eureka 是 Spring Cloud Netflix 模块的子模块,它是 Spring Cloud 对 Netflix Eureka 的二次封装,主要负责 Spring Cloud 的服务注册与发现功能。Spring Cloud 将 Eureka 与 Netflix 中的其他开源服务组件(例如 Ribbon、Feign 以及 Hystrix 等)一起整合进 Spring Cloud Netflix 模块中,整合后的组件全称为 Spring Cloud

2022-03-17 16:52:44 134

原创 1 Spring Cloud 如何进行技术选型

Spring Cloud 如何进行技术选型 我最近和一些面试的候选人聊,他们会说自己搭建过微服务的应用。这时我会进行追问,您对于微服务搭建技术选型是怎样思考的?问道这个问题很多候选人都开始答非所问了,有的说:跟进自己使用的经验;有的说:跟进公司统一的配置;有的说:这个是其他同事处理的。。。。。。。 面对很多候选人的回答,瞬间形象就减分很多,因为这样的回答不是很专业,所以今天写一篇关于微服务选型的文章,这篇文章作为后续微服务专题学习的开始第一张。大家在面试的时候,回答问题一定要有

2022-03-17 16:21:57 1088

原创 框架源码 -- spring aware

框架源码 – spring awarebean实现了Aware系列接口可以访问Spring容器,其中涉及到bean的创建过程,其中包括BeanNameAware,BeanFactoryAware,ApplicationContextAware都有参与bean的创建。具体详情内容请查看【框架源码–spring bean]。这些Aware系列接口增强了Spring bean的功能,但是也会造成对Spring框架的绑定,增大了与Spring框架的耦合度。源码public interface Aware {

2021-12-09 18:54:03 379

原创 框架源码 -- springboot监听器原理

框架源码 -- 什么是监听器

2021-12-02 20:05:22 271 1

原创 源码解析 -- 什么是监听器

源码解析 – 什么是监听器什么是监听器监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。场景监听器可以用来检测网站的在线人数,统计网站的访问量等等!监听器组件事件源被监听对象事件事件源做了什么监听器监听的对象注册监听器将监听器与事件源进行绑定。代码实现监听/**实体类,时间源*/public class PersonEntity {publ

2021-12-02 20:02:07 893

原创 框架源码 -- springboot启动后Runner加载原理

启动后加载原理场景在项目启动后,马上进行一些一次性的初始化工作,如读取加载资源文件、或者执行其它外部程序。Runner两种形式ApplicationRunnerimport org.springframework.boot.ApplicationArguments;import org.springframework.boot.ApplicationRunner;import org.springframework.stereotype.Component;@Componentpubli

2021-12-01 19:11:51 372

原创 框架源码 – springboot启动过程

启动原理runspringboot启动代码@SpringBootApplicationpublic class AppApplication { public static void main( String[] args ){ SpringApplication.run(AppApplication.class, args); }}进入SpringApplication类的run()方法//SpringApplication类的run方法public static Conf

2021-11-30 16:29:58 388

原创 解决问题 -- mybatis出现Error attempting to get column ‘XXX‘ from result set.

(亲测可用)解决mybatis 出现 Error attempting to get column 'XXX' from result set. Cause: java.lang.NumberFormatException: For input string: "XXXX"

2021-11-19 14:01:46 4372

原创 未来双十一会消失吗?

未来双十一会消失吗?为什么2021年双十一供应卖力会减弱 - 1.双十一被分流 - 2.主播电商模式正在侵蚀传统电商 - 3.拼多多低价补贴 - 4.双十一购买激情减弱 - 5.疫情影响大家购买欲望 - 6.大促活动频繁出现

2021-11-16 18:55:35 4406

原创 算法:给出一个整数数组,请在数组中找出两个加起来等于目标值的数

题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2示例1输入[3,2,4],6返回值[2,3]import java.util.*;public class Solution {

2021-05-19 19:25:08 1319

原创 算法:给定一个数组,找出其中最小的K个数。

题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组示例1输入[4,5,1,6,2,7,3,8],4返回值[1,2,3,4]import java.util.ArrayList;import java.util.List;public class Solution { public ArrayList<Integer> GetLeastNum

2021-05-19 19:05:53 1804 1

原创 算法:输入一个链表,反转链表后,输出新链表的表头。

题目描述输入一个链表,反转链表后,输出新链表的表头。示例1输入{1,2,3}返回值{3,2,1} class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { public ListNode ReverseList(ListNode head) { if(he

2021-05-19 18:26:33 272

VS运行时支持库集合

VS运行时支持库集合,其中包括vs2008,vs2010,vs2012,vs2013,vs2015

2019-05-05

好用的mark编辑工具

好用的markdown编辑工具,亲测,免费,界面友好,操作简单

2018-11-24

系统架构思维导图

以下是对大型系统架构进行的总结,其内容包括 1 系统架构技术总览 2大型网站架构特点 3网站演化过程 4网站架构模式 5架构要素 6 系统瞬时响应 7 网站的高可用架构 8 网站监控  9 伸缩性架构 10 系统可扩展性 11 安全架构 12 故障分析,相对策略

2018-10-11

搭建分布式FastDFS需要的工具包

fastdfs5.08+nginx1.14.0+libfastcommon_v1.04+ngx_cache_purge-master+fastdfs_client_java_v1.10.tar+apache-tomcat-8.5.34.tar+keepalived-1.2.20.tar

2018-09-29

CodeMeter V6.5

code meter runntime 版本6.0 最信息的代码调用c的工具

2018-07-06

前端模板史上最全

前端模板史上最全,最好用,支持html5,和响应式的模版

2017-12-17

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

TA关注的人

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