自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西魏陶渊明的博客

天下代码一大抄, 抄来抄去有提高, 看你会抄不会抄

  • 博客(449)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 第08篇:巧用Spring之Data Binding数据绑定

将结构化的数据文本, 转换成Java对象。通过Spring提供的API方式,而不通过反射的方式将属性信息,绑定到Java对象。

2022-10-31 06:00:00 630 10

原创 第07篇:巧用Spring类型转换, Converter&Formatter知识点学习。

本篇文章,主要学习两个东西。第一个是类型转换, 第二个是格式化输出(支持国际化)。虽然内容非常的小众,但是在Spring中却无处不在的知识点。希望对你有用,最终能运用在Spring框架的扩展上。

2022-10-23 19:46:13 611 22

原创 第06篇: Spring AOP面向切面编程,最佳实践分享。

spring的aop功能如此强大, 难道只能用来写业务吗? 相信如果你要用aop这么灵活的东西来写业务代码,一定会被骂惨的。因为太灵活了, 如果你不说,可能没人会发现,哎这块代码竟然有一个植入了切面逻辑。所以我们学习这么多的, 终极目的是做中间件的开发, 这么强大的功能, 不好好利用,那不是亏了吗。就比如说aop,这不就是java代理的增强吗? 要你自己做代理,你还要兼容jdk和cglib的场景,我们直接用spring的aop模块它不香吗?

2022-10-10 20:58:25 1006 28

原创 第05篇:SpEL强大的表达式语言

Spring 表达式语言(简称“SpEL”)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于 Unified EL,但提供了额外的功能,最值得注意的是方法调用和基本的字符串模板功能。虽然还有其他几种可用的 Java 表达式语言——OGNL、MVEL 和 JBoss EL 等等但创建 Spring 表达式语言的目的是为 Spring 社区提供一种可在所有产品中使用的受良好支持的表达式语言。它的语言特性由 Spring 产品组合中的项目需求驱动。/*** 两数之和*/}

2022-09-27 06:00:00 566 16

原创 【云原生】五年博主教你用阿里云Serverless免费额度搭建个人应用服务, 还不赶快上车。

【云原生】五年博主教你用阿里云Serverless免费额度搭建个人应用服务, 还不赶快上车。一年省出一台iphone14

2022-09-01 22:38:08 556 20

原创 【中秋赏码】Java程序员用中文编程教你做月饼。

Java程序员在月圆之日教你用中文编程写出具有中国特色的制造月饼的代码工艺吧, 他们中秋赏码。我们中秋赏码,过程中顺便学习几个设计模式。来看看有几个是你平时常用的吧。

2022-08-29 23:38:01 2627 43

原创 第05篇:手写JavaRPC框架之执行层思路

天下代码一大抄, 抄来抄去有提高, 看你会抄不会抄!小编带你从通信层开始,从零到1完成一个JavaRPC框架的搭建, 及开源项目的周边设施搭建,最终发布Maven全球仓库。

2022-08-29 09:34:22 200 12

原创 每年大促都要补习JVM调优,今年我都总结到这里了。

每年大促都要疯狂补习JVM相关知识, 今年我都总结到这里了。帮助我们快速定位问题。[Full GC (Allocation Failure) GC 原因(Allocation Failure) 分配失败1. Allocation Failure 分配失败2. Metadata GC Threshold 元空间不足3. Last ditch collection 元空间GC后,仍然不足,即触发

2022-08-24 16:12:23 989 23

原创 第04篇:手写JavaRPC框架之搞定网络通信

我们写的任何系统都离不开通讯,离不开网络编程,就没有现在我们发达的互联网世界。就没有什么分布式,没有什么微服务。所以由此可见网络编程是非常基础的知识。但是我们思考下,? 相信百分之80的小伙伴可能都没用过? 为什么呢? 因为我们站在巨人的肩膀上, 底层的代码都被层层的封装起来了,为了使我们能专注于业务的开发。这虽然提高了我们的开发效率。但是呢? 从另一个方面讲,他不利于我们的技术成长,使我们只会用,而不去思考为什么.......

2022-08-13 13:18:56 210 15

原创 第03篇: 手写JavaRPC框架之搞定序列化

天下代码一大抄, 抄来抄去有提高, 看你会抄不会抄!从本篇开始后面的所有章节都是实战环节,每节一个小目标,最终我们实现完整的JavaRPC的框架,然后发布maven仓库,感兴趣的同学可以下载研究。大家如果想要获取源码的话可以私信: RPC,自动回复仓库地址。其实这些东西并没有什么难度,只要从头到尾跟着我们一起coding,其实就会发现不过如此。所以就算是新手也不要有心里负担。还是那句话: “天下代码一大抄, 抄来抄去有提高, 看你会抄不会抄”。主要的是思想,而不是死记硬背。.........

2022-08-04 08:00:00 327 15

原创 第02篇:手写JavaRPC框架之设计思路

**什么是协议呢?**其实就是规则,我们按照什么样的方式将二进制数据转换成Java对象。如下图,我们的一条数据会分为4个部分1. 第一部分占用一个字节是协议标记,用来标记是http协议还是自定义协议。2. 第二部分占用一个字节是序列化标记,用来确定我们的真实报文使用什么来进行序列化和反序列化。3. 第三部分占用四个字节,用来表示数据的字节长度,确定真实报文的长度。4. 第四部分长度不固定,是真实的传输数据。最终会通过第二部分将这些二进制数据转换成Java对象。......

2022-07-27 22:38:40 239 18

原创 第01篇:手写JavaRPC框架之思路分析

如果不是因为热爱,我不会这样;如果不是为了,涨点粉丝,我不会这样;如果不是为了几两散碎银子,我更不会这样。以前的文章开场太过严肃,太过专业。就像大学老师上课,只知道讲课。不知道互动。这样效果太差,写的没意思,读者更是没意思。大数据分析还以为你是抄的,还不给你推荐热门😭。不然就改变一下风格吧,从本系列文章开始,小编就要放飞✈️自我,随心❤️而动。希望在分享,总结自己掌握的知识点的同时,能给各位客官带来一点小小的收获。小编尽量全力输出干货,如果看完感觉还行的话,希望能多多关注。......

2022-07-21 20:45:09 819 38

原创 高级Java开发工程师带你走进原子操作,一篇文章搞清楚原子操作

原子特性: 原子是最小的粒子,不可再分这并不是一个化学课,而是巧妙的借用了化学上的一个概念,即原子是最小的粒子,不可再分;原子操作也是不能再分的操作;为了能把这个讲明白,下文基本都是大白话,其实Java本来并不是很难,而是总有一些人喜欢把简单的概念给复杂化。小编不喜欢那种说辞,所以尽量简单易懂。如有问题,欢迎提出问题。共同交流进步,最后谢谢你的阅读。举例说明原子操作重要性在很多场景中我们需要我们的操作是原子特性的,如果我们写的程序都是单线程的,其实我们没必要考虑原子操作。但是假如我们写多线程.

2020-05-13 23:04:35 337 10

原创 新手程序员,买一台个人服务器究竟都能做哪些事呢?

做为一名程序猿多多少少每天都在跟服务器打交道,尤其是后端的小伙伴,那么你是否也有这样的想法呢 ?1. 个人服务器究竟能做什么?2. 购买一套服务器,你需要什么知识储备?3. 如何花最少的钱,买最好的服务呢?...

2019-12-25 19:38:36 4850 11

原创 看Mybatis如何花样设计Cache.md

看Mybatis如何花样设计 Cache为什么说花样设计 Cache , 是因为Mybatis只是对 Map数据结构的封装, 但是却实现了很多挺好用的能力。如果单单从设计模式上的角度来,其实就是典型的装饰器模式, 装饰器模式其实并不难,所以我们不讲设计模式, 本篇文章我们来看看Mybatils 缓存设计巧妙的点。通过简单的代码review来分析下这十个缓存类设计的巧妙点。一、模式分析......

2019-12-23 20:33:32 458

原创 第04篇:Resources资源文件处理,再也不怕找不到文件了。

Java 的java.net.URL各种 URL 前缀的标准类和标准处理程序不足以满足所有对低级资源的访问。例如,没有URL可用于访问需要从类路径或相对ServletContext。于是乎这就给了Spring,封装继承多态,大展身手的展示了。怎么展示呢?在Spring中就是Resource接口,下面我们就看看Resource。我们利用Spring提供的能力,可以获取任何你想获取的文件,也可以使用通配符来模糊查询你要的文件。下面开始展示。

2022-09-25 21:19:04 407 2

原创 第03篇:Validation参数校验,鸡肋鸡肋食之无味

非常好用的Spring 奇淫技巧,用了都说好。他可以让你的数据校验逻辑, 写的非常分散, 而分散的数据校验逻辑,往往会带跟多的用人成本。非常的nice,架构师一定要掌握。哎对了,你不会还不知道吧?

2022-09-24 16:33:28 473 1

原创 第02篇:解耦就用Event, 用了都说好。

消息常用做解耦,这句话这样讲,可能大家没有什么体感。下面我们举一个实际开发中的例子,可能会更加帮助大家来理解。现在我们有这么一个系统。用户登录系统, 来完成产品下面给我们提的需求任务。通过完成任务的形式,来发现问题,最后再来解决问题。

2022-09-20 06:00:00 442 26

原创 第01篇:系统化学习, 搞定Spring容器管理

Spring 是 java 开发者,永远绕不开的结。Spring 是非常值得开发者来学习的, 以目前 Spring 在 java 领域的统治性地位, 可以说学 java 就是在学 Spring。但是作为新入门的开发人员,甚至说是有一定工作经验的同学,面对如此庞大的框架,都不一定是充分掌握了所有的知识点。因为大多数人的学习,都不是系统的学习,都是片面的。以经验为主。本系列专题的主要目的就是,一起系统的来学习一下Spring这个框架,通过直接阅读Spring的官方文档来获取一手知识。

2022-09-19 06:00:00 1391 54

原创 【lombok原理】无聊的周末一个人手写一个lombok

APT是javac一个工具,他可以在源码生成class的时候,处理Java语法树。就好像是lombok一样,如果你用过lombok的话, 就会发现lombok的原理,就是在编译期修改字节码,生成 get和set方法。本文我们就定义一个处理器,然后来自动生成get和set方法。

2022-09-04 22:49:32 592 37

原创 书读百遍其义自见 - 六大原则 & 23种设计模式

虽然设计模式是个好东西,能够给我们带来各种好处,比如降低对象之间的耦合,增加程序的可复用性、可扩展性、可维护性等等。但是我们也不应该滥用设计模式,设计模式在一定程序上会增加系统的复杂性。我们在写码时应该评估好各方面,避免过度设计。...

2022-08-11 20:46:21 72

原创 图床软件要收费,算了我自己写一个开源免费的。

今天下班前,小编看到隔壁小李,竟然买了一个图床工具。我当场大呵!小李呀,你咋不找我啊。我有多款免费的图床工具,全部不要钱。小李当场吐血去世!

2022-07-29 07:30:00 217 8

原创 我用Node Js写了一个基于Maven多模块的SpringBoot脚手架

快速构建支持SpringBoot的Maven多模块应用,启动及快速打包部署支持Maven多模块构建、数据库模型安装、数据库模型导出),统一项目规范,提高工作效率,可进行深度定制。

2022-07-25 19:08:17 173 6

原创 JVM参数配置说明

JVM参数配置说明。

2022-07-21 20:40:36 107 1

原创 Spring最全切面表达式整理

Spring最全切面表达式使用汇总

2022-07-21 20:36:16 322

原创 第02篇:分布式负载均衡

xxl的负载均衡是无状态的Ribbon和dubbo有些策略是有状态的,比如会记录服务当前的活跃次数和耗时将这些也算入到权重无状态设计具有通用性比较简答。而有状态设计虽然不能通用,但是会充分考虑到服务器的性能进行负载。假如我们来涉及负载均衡,要采用那种设计呢?其次我们还有那些场景需要关心呢?请留下你的评论。httpshttpshttpshttpshttpshttpshttps。...

2022-07-21 20:30:38 101 3

原创 第01篇:分布式注册中心

什么是注册中心,注册中心往往是在分布式的应用体系下才会遇到的。对于分布式体系应用都是横向进行扩展。如下图UserApp这个服务,具有2台服务器但是当用户从网关进来访问,网关是如何知道这个UserApp有几台服务及每台服务的网络地址是什么呢?所以就需要有一个地方能收集到每台应用的地址及命名。往往这个地方就被叫做注册中心。分布式环境下的应用在启动时候都会向这个地方来注册自己的网络地址,及命名。市面上的注册中心有以上这些,核心逻辑思路都大差不差。其中Consul和Nacos是支持配置的。https。......

2022-07-21 20:29:07 153

原创 Web接口资源是如何保存起来的?

这时候我们思考一个问题,我们在浏览器上只输入了一个URL地址,怎么就能访问到这个接口的呢?于是乎就引出了今天我们要讨论的话题。Spring中的Web接口资源是如何保存起来的?

2022-07-20 17:30:02 106 5

原创 面试官: 回答一下Spring循环依赖吧,为什么要使用三级缓存,不使用两级缓存呢?

1. Spring循环依赖的前提是什么?2. 循环依赖的实现原理是什么?3. 为什么要使用三级缓存,两级缓存不行吗?

2022-07-20 17:24:50 158 10

原创 第06篇:池化技术

本篇文章我们的研究专题是池化技术, 其实所谓池化可以简单理解为缓存。将那些创建比较耗时的对象,缓存起来,放到一个池子里。比如数据库连接池,线程池,字符串常量池。这个技术常用于框架类设计。本文教你基于Apache-commons-pool2快速实现一个常量池的设计。...

2022-07-20 16:57:19 228

原创 第05篇:Spring-retry重试组件

天下代码一大抄,看你会抄不会抄。发现无论是guava还是spring的重试,基本都是类似的思路。只是看谁的功能比较鉴权而已。guava提供了基础的能力,你任意封装。

2022-07-20 16:54:29 99

翻译 第04篇:Guava-retry重试组件

Guava是一组来自Google的核心Java库,其中包括新的集合类型(例如multimap和multiset)、不可变集合、图形库以及用于并发、I/O、散列、缓存、原语、字符串等的实用程序!它广泛用于Google内部的大多数Java项目,也被许多其他公司广泛使用。API非常的简单,我们可以非常轻松的使用,来封装成我们业务中自己的组件。...

2022-07-20 16:52:34 97

原创 第03篇:SQL语法树解析

SQL语法树解析工具学习

2022-07-20 16:49:36 998

翻译 第02篇:Javassist字节码解析

Javassist是一个开源的分析、编辑和创建Java字节码的类库,可以直接编辑和生成Java生成的字节码。相对于bcel,asm等这些工具,开发者不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。javassist简单易用,快速。......

2022-07-19 21:44:50 159

原创 第11篇:Mybatis查询限制插件设计

Mybatis插件开发实战

2022-07-19 17:25:13 230

原创 第10篇:Mybatis的插件设计分析

Mybatis插件开发,其实非常简单,看使用说明就行了,来一起卷起来。

2022-07-19 17:23:57 158

原创 第04篇:Mybatis代理对象生成

Mybatis中Mapper一般只是一个接口, 那么为什么能执行数据操作的呢? 那肯定是基于代理没得说。在了解Mybatis如何实现代理前, 我们先大概看下它的架构是什么样的, 对这些关键的类有个大概的认识, 知道它所处的位置在哪里。......

2022-07-19 17:12:59 540 4

原创 第03篇:Mybatis核心类详细介绍

前面我们知道Mybatis的解析原理,知道了在 `Configuration` 、`MapperBuilderAssistant` 出现了很多核心的类。正是由这些类来实现了,Mybatis的核心功能。所以要想完全搞懂 Mybatis,这些类就必须要进行深入的研究,废话不多少,直接就开始吧。...

2022-07-19 17:10:07 195

原创 第02篇:Mybatis配置文件解析

在上一篇的代码中,我们看到了一个非常重要文件,这里我们先来人肉分析看,然后看下代码是如何解析的,毕竟代码也是人写的。思路决定出路,我们如果有思路,然后在看源码会更加的具有分析的能动性。...

2022-07-19 17:07:38 116

原创 第01篇:Mybatis学习之环境搭建

配置文件是如何解析成 `Configuration` ?- `sql` 和数据库是如何交互的 `SqlSession` ?- `mapper.xml` 和 `Mapper` 是如何绑定的`MapperRegistry` ?- `Mybatis` 是如何做动态代理的 ?- Mybatis中如何利用插件实现扩展的?...

2022-07-19 17:05:38 112

javaConcurrentAnimated学习java并发必看

学习java并发库,必看。 1.Semaphore信号量 2.Phaser 3.CyclicBarrier 4.CountDownLatch 等多个并发类,及关于读写锁等机制,动画演示

2017-09-11

Q-Dir多窗口资源管理器

对于经常在系统中找资料多个窗口复制的童鞋来说这个是个好工具,曾经下载这个很不容易,找了很多大的下载网站,结果还是下载下来一堆垃圾,真是对那些自称绿色的网站服了,在这里给大家分享一下,希望大家不要像我那样小心翼翼还下载一些没用的东西。

2016-07-29

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

TA关注的人

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