自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vincent

一个对coding有独特追求的人。

  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

转载 太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文一、 计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为...

2020-05-25 11:17:17 326114 276

转载 面试官:小伙子,听说你看过 ThreadLocal 源码?(万字图文深度解析)

前言话不多说,直接进入今天的主题,本文的主要内容如下图所示:全文共10000+字,31张图,这篇文章同样耗费了不少的时间和精力才创作完成,请大家点点关注+点赞,感谢。源于壹枝花算不算浪漫 ,作者壹枝花算不算浪漫。对于ThreadLocal,大家的第一反应可能是很简单呀,线程的变量副本,每个线程隔离。那这里有几个问题大家可以思考一下:ThreadLocal的key是弱引用,那么在 threadLocal.get()的时候,发生GC之后,key是否为null? Thr...

2020-05-25 08:54:44 11513 3

转载 终于有人把 Docker 讲清楚了

一、简介1、了解Docker的前生LXCLXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:(1)与宿主机使用同一个内核,性能损耗小;(2)不需要指令级模拟;(3)不需要即时(Just-in-time)编译;(4)...

2020-05-25 08:50:49 23473 1

原创 一篇吃透,Java集合框架综述

一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1、所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2、集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3、抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。4、实现类:8个实现类(实线表示),对接口的具体实现...

2020-05-21 20:08:06 7208

原创 阿里巴巴为什么不用 ZooKeeper 做服务发现?

站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚族热血青年普林西普枪杀会怎样,又如若当年的丘老道没有经过牛家村会怎样?2008 年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,走出了互联网中间件体系之始,而淘宝服务注册中心 ConfigServer 于同年诞生。2008 年前后,Yahoo 这...

2020-05-20 14:39:52 5786 3

原创 厉害了,分布式数据库中间件ShardingSphere毕业成为Apache顶级项目!

全球最大的开源软件基金会 Apache 软件基金会(以下简称 Apache)于北京时间 2020年4 月 15 日宣布 Apache ShardingSphere毕业成为 Apache 顶级项目。ShardingSphere于2018年11月10日捐赠给Apache并启动孵化。之后在导师的指导下,由孵化器管理委员会成员进行经营和孵化,在2020年3月28日在Apache孵化器以10 票支持一次性通过毕业提案投票。4月15日,Apache董事会通过ShardingSphere毕业决议,结束了为期17...

2020-05-20 14:38:01 4744

原创 彻底理解 SpringIOC、DI,这篇文章就够了

前言你可能会有如下问题:1、想看Spring源码,但是不知道应当如何入手去看,对整个Bean的流程没有概念,碰到相关问题也没有头绪如何下手2、看过几遍源码,没办法彻底理解,没什么感觉,没过一阵子又忘了本文将结合实际问题,由问题引出源码,并在解释时会尽量以图表的形式让你一步一步彻底理解Spring Bean的IOC、DI、生命周期、作用域等。先看一个循环依赖问题现象循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖...

2020-05-18 11:12:22 6673

原创 浅析VO、DTO、DO、PO的概念、区别和用处

本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提...

2020-05-14 10:27:20 3543

原创 从session、cookie到token以及JWT

前言主要讲token和jwt技术,关于session和cookie文章很多,简单提一下。session和cookie现在一般都是session和cookie一起用,一起提。但是他们俩其实不是一定要在一起。首先牢记一点,http协议是无状态的。就是说,一个请求过来,服务器不知道这个请求的用户是不是已经登录过了,不知道他的状态。只能再把这个请求重定向到登陆页面。这样用户就疯了,怎么一直让我登录。所以,前人想了一个办法,在第一次登录后,在服务器端记录一个会话id(sessionId).

2020-05-13 14:16:17 6796

原创 这才是微服务划分的正确姿势,值得学习!

前言我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话,具体问题需要具体分析,所以这篇文章谈到的划分也不是绝对标准,仅供参考。有人说微服不难,难的是服务的划分,虽然我持保留意见。但是从侧面也反应了划分具有一定的困难。这里的矛盾在于粒度。如果粒度太大了,分和不分似乎都差不多;如果粒度太小了,聚合、发布、调用链、调试等都是坑。以下谈到的拆分是前人经验的总结,我罗列了三种行家的拆分姿势,每个的的经验和视野不同,各有偏颇,我在这里.

2020-05-12 20:20:29 6347

原创 99%的程序员都在用Lombok,原理竟然这么简单?我也手撸了一个!

罗曼罗兰说过:世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活。对于 Lombok 我相信大部分人都不陌生,但对于它的实现原理以及缺点却鲜为人知,而本文将会从 Lombok 的原理出发,手撸一个简易版的 Lombok,让你理解这个热门技术背后的执行原理,以及它的优缺点分析。简介在讲原理之前,我们先来复习一下 Lombok (老司机可以直接跳过本段看原理部分的内容)。Lombok 是一个非常热门的开源项目 (github.com/rzwitserloo…),使用它可以...

2020-05-11 08:55:14 11817

原创 记住这四点,彻底搞懂Redis到底快在哪里

前言Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。Redis还提供了键过期,发布订阅,事务,Lua脚本,哨兵,Cluster等功能。Redis执行命令的速度非常快,根据官方给的性能可以达到10w+qps。那么本文主要介绍到底Redis快在哪里,主要有以下几点:开发语言 纯内存访问 单线程 非阻塞多路I/O复用机制...

2020-05-10 10:04:47 3686

原创 一口气说出6种,@Transactional注解的失效场景

引言之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。@Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就失效了。一、事务事务管理在系统开发中是不可缺少的一部分,Spring提供了很好...

2020-05-09 11:56:52 13074 1

原创 全网最全的分库分表方案

一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。2、CPU瓶颈第一种:SQL问题,如SQL中

2020-05-08 20:22:30 16176 2

原创 别再问我 new 字符串创建了几个对象了!我来证明给你看!

我想所有 Java 程序员都曾被这个 new String 的问题困扰过,这是一道高频的 Java 面试题,但可惜的是网上众说纷纭,竟然找不到标准的答案。有人说创建了 1 个对象,也有人说创建了 2 个对象,还有人说可能创建了 1 个或 2 个对象,但谁都没有拿出干掉对方的证据,这就让我们这帮吃瓜群众们陷入了两难之中,不知道到底该信谁得。但是今天就斗胆和大家聊聊这个话题,顺便再拿出点证据。以目前的情况来看,关于 new String("xxx") 创建对象个数的答案有 3 种:有人说创建了...

2020-05-08 20:05:27 10520 18

原创 我们已经不用AOP做操作日志了!

前言用户在操作我们系统的过程中,针对一些重要的业务数据进行增删改查的时候,我们希望记录一下用户的操作行为,以便发生问题时能及时的找到依据,这种日志就是业务系统的操作日志。本篇我们来探讨下常见操作日志的实现方案和可行性常见的操作日志类型用户登录日志 重要数据查询日志 (但电商可能不重要的数据也做埋点,比如在淘宝上你搜索什么商品,即使不买,一段时间内首页也会给你推荐类似的...

2020-05-07 09:37:51 9652 1

原创 还在为生成分布式ID发愁?UUID、数据库、算法、Redis、Leaf 来帮忙

前言一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给予太多的关注。但是对于大厂的那种大规模复杂业务、分布式高并发的应用场景,显然这种ID的生成方式不会像小项目一样仅仅依靠简单的数据自增序列来完成,而且在分布式环境下这种方式已经无法满足业务的需求,不仅...

2020-05-02 14:56:58 11692

原创 使用knife4j后,终于放弃了swagger-ui

介绍knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在...

2020-05-02 14:42:17 16462 1

原创 硬核!10种延迟任务实现方式汇总

延迟任务要怎么实现?话不多说,直接进入今天的主题,本文的主要内容如下图所示:什么是延迟任务?顾明思议,我们把需要延迟执行的任务叫做延迟任务。延迟任务的使用场景有以下这些:红包 24 小时未被查收,需要延迟执退还业务; 每个月账单日,需要给用户发送当月的对账单; 订单下单之后 30 分钟后,用户如果没有付钱,系统需要自动取消订单。等事件都需要使用延迟任务。...

2020-05-02 13:58:09 10438

原创 终于来了,最全的 HashMap 7 种遍历方式与性能分析

随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足,本文主要内容如下图所示:HashMap 遍历HashMap遍历从大的方向来说,可分为以下 4 类: ...

2020-05-02 10:29:38 7926

原创 真香!Java 导出 Excel 表格竟变得如此简单优雅

技术选型能够实现「导入/导出 Excel」的第三方常用类库有 Apache poi、Java Excel(JXL)和阿里巴巴开源的 Easyexcel 等。这么多类库该怎么选呢?在这里小编给大家推荐阿里巴巴开源的「Easyexcel」。 性能对比 poi 和 jxl 对内存的消耗很大,在处理大批量的数据时,容易造成内存溢出。比如处理一个 3M 的 Excel,poi 和 jxl 可能需...

2020-05-01 09:46:44 33988 6

PMP备考九阴真经—项目管理十大知识领域输入输出、工具和技术暨知识点汇总

PMP备考九阴真经—项目管理十大知识领域输入输出、工具和技术暨知识点汇总,PMP备考九阴真经—项目管理十大知识领域输入输出、工具和技术暨知识点汇总

2020-10-14

LOMA+280+review+with+answer (1).rar

loma280资料,英文版,包括习题集,答案,解答等信息。。。 LOMA 280介紹了保險原理,被保險人的保險過程和保單所有人的權益。這套教材同時也包括了個人和團體人壽、健康保險以及年金的內容和特點。

2020-09-02

springBatch 组件学习教程源码

springBatch 学习教程源码全套 对应博客解析:https://blog.csdn.net/wuzhiwei549/article/details/85392128

2020-04-04

java web考试报名系统

jquery前端验证 考生报名 邮件UUID 生成验证码 激活 报名注册

2015-06-25

空空如也

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

TA关注的人

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