自定义博客皮肤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程序员

热衷技术分享

  • 博客(11)
  • 收藏
  • 关注

原创 看图搞懂微服务架构

微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。今天我们通过一组手绘图来梳理下微服务的核心架构。什么是微服务?微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下:就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。但通常在其而言,微服务架构是一种架.

2020-07-22 21:50:54 1879

原创 我凭借这20多个HashMap 面试题,把美团面试官吊打了!

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transientNode<K,V>\[\]table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 pu...

2020-07-22 21:44:36 632

原创 天天说分布式事务,怎么设计一个通用的?

一个TCC事务框架需要解决的当然是分布式事务的管理。关于TCC事务机制的介绍,可以参考TCC事务机制简介。TCC事务模型虽然说起来简单,然而要基于TCC实现一个通用的分布式事务框架,却比它看上去要复杂的多,不只是简单的调用一下Confirm/Cancel业务就可以了的。本文将以Spring容器为例,试图分析一下,实现一个通用的TCC分布式事务框架需要注意的一些问题。一、TCC全局事务必须基于RM本地事务来实现TCC服务是由Try/Confirm/Cancel业务构成的,其Try/Confirm

2020-07-16 15:33:09 680

原创 了解和使用MySQL线程池,看这篇文章就够了。

最近出现多次由于上层组件异常导致DB雪崩的情况,笔者将部分监控DB启用了线程池功能,在使用线程池的过程中不断深入学习的同时,也遇到了不少问题。本文就来详细讲述一下MySQL线程池相关的知识,以帮助广大DBA快速了解MySQL的线程池机制,快速配置MySQL的线程池以及里面存在的一些坑。其实我想说,了解和使用MySQL线程池,看这篇文章就够了。一、为何要使用MySQL线程池在介绍为什么要使用线程池之前,我们都知道随着DB访问量越来越大,DB的响应时间也会随之越来越大,如下图:而DB的.

2020-07-15 17:17:47 994

原创 备战金九银十从刷题开始:多线程+JVM+微服务+网络+Redis+MySQL

又快到金九银十,有很多朋友可能自己准备不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。针对这些的同学,在这分享总结的Java面试的高频面试题(包括了Java集合,JVM,多线程,MyBaits,微服务,Dubbo,Kakfa,中间件,Redis,数据库,Linux,设计模式等),进行了整理,分享给大家,希望大家能带着这些问题和答案解析,能让你进行有针对性行的学习,对面试做到知己知彼,百战百胜。由于答案太多,所以只截取了部分目录展示。有想获取完整文档的朋友...

2020-07-15 13:47:38 2207 1

原创 SQL查找是否“存在“,告诉你一个最省时的方法

根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写 SQL 的时候,还要 SELECT count(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的 count目前多数人的写法多次 REVIEW 代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的 SQL 及代码写法如下##### SQL写法:SELECT count(*) FROM table WHERE a = 1 AND

2020-07-15 13:46:17 875

原创 三年Java程序员,先后面试美团、网易、滴滴已拿offer分享一下面经

一位三年经验的Java程序,先后面了网易、美团、滴滴三家大厂,分享一下自己的面经 主要是一些大厂常考的点。话不多说直接上题:Java基础1.HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化。2.HaspMap扩容是怎样扩容的,为什么都是2的N次幂的大小。3.HashMap,HashTable,ConcurrentHashMap的区别。4.极高并发下HashTable和ConcurrentHashMap哪个性能更好,为什么,如何实现的。5.HashMap在...

2020-07-07 14:31:53 849 4

原创 面试官:说一下HashMap的实现原理?

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析(JDK8会有所不同,需要了解的可自行阅读JDK8的HashMap源码)。JDK7和JDK8中HashMap的大致变化是(这其实也是一个常被问道的面试题~

2020-07-03 20:55:58 2482 1

原创 点赞!超详细的一份 Spring 异步任务教程

异步任务使用方式Spring 异步任务需要在相关的方法上设置@Async注解,这里为了举例,我们创建一个EmailService类,专用完成邮件服务。代码如下所示:@Slf4j@ServicepublicclassEmailService{/***异步发送任务**@throwsInterruptedException*/@SneakyThrows@Asyncpublicvoid...

2020-07-02 22:22:46 940

原创 一文详解Java NIO—Buffer的使用

目录Buffer简介 Buffer的核心属性 Buffer的创建与使用(ByteBuffer为例) 总结Buffer简介缓冲区(Buffer):本质上是一个数组,用于临时保存、写入以及读取数据。在Java NIO中,该内存块包含在NIO Buffer对象当中,NIO Buffer对象还提供了一组接口来访问该内存块。根据数据类型的不同,Java为除了boolean类型之外的其余7种基本类型提供了相应类型的缓冲区,分别是ByteBuffer、CharBuffer、ShortBuffer、

2020-07-02 20:18:47 640

原创 有了这份大佬总结的1000道互联网Java面试题文档,offer稳了

由于题目太多只能截取部分展示,有想获取这份Java面试文档的朋友:点赞后,私信【资料】即可(一定要记得关注我,不然没办法回复陌生人私信)MyBatis面试题Redis面试题MySQL面试题Zookeeper面试题Spring面试题SpringBoot面试题SpringCloud面试题RabbitMQ面试题微...

2020-07-01 21:19:32 801 3

空空如也

空空如也

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

TA关注的人

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