自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

公众号:鄙人薛某

欢迎大家关注我的公众号:鄙人薛某,每周不定期更新,更新速度优先于CSDN,欢迎多来踩踩

  • 博客(72)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试官:你真的了解Redis分布式锁吗?

什么是分布式锁说到Redis,我们第一想到的功能就是可以缓存数据,除此之外,Redis因为单进程、性能高的特点,它还经常被用于做分布式锁。锁我们都知道,在程序中的作用就是同步工具,保证共享资源在同一时刻只能被一个线程访问,Java中的锁我们都很熟悉了,像synchronized 、Lock都是我们经常使用的,但是Java的锁只能保证单机的时候有效,分布式集群环境就无能为力了,这个时候我们就需要用到分布式锁。分布式锁,顾名思义,就是分布式项目开发中用到的锁,可以用来控制分布式系统之间同步访问共享资源,.

2021-01-15 09:54:14 23

原创 图文并茂,带你深入了解AQS的源码

文章目录前言CASAQS简介基础定义独占模式加锁过程tryAcquireaddWaiteracquireQueued释放锁tryRelease共享模式获取锁tryAcquireShareddoAcquireShared释放锁doAcquireSharedConditionawaitsignal总结最后前言如果你想深入研究Java并发的话,那么AQS一定是绕不开的一块知识点,Java并发包很多的同步工具类底层都是基于AQS来实现的,比如我们工作中经常用的Lock工具ReentrantLock、栅栏Coun

2020-11-18 09:45:15 55

原创 数据库索引的知识点,你所需要了解的都在这儿了

数据库索引,相信大家都不陌生吧。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都知道,是项目最核心也是最薄弱的地方,如果压力太大很容易产生故障,造成难以预计的影响。所以,不管是日常开发还是面试,索引这一块知识体系都是必须掌握的。当然,虽说是必须掌握,但索引的知识点很多,很多初学者经常会遗漏,这也是我为什么想写这篇知识点总结的原因,既是给读者的分享,也是给自己一次全面的复习,希望对你们.

2020-07-21 11:13:34 187

原创 毕业三年了,我开始明白为什么说三年是一个坎
原力计划

话题开始之前,请先容我哀悼一分钟。1,2,3.................60,好了,一分钟过了,我又凑多了几个字。毕业三年了哈哈,开个玩笑。之所以写这篇文章,也是最近才觉察到自己已经毕业三年了,从2017年6月30号算起,整整三年多的时光。时间不知不觉地飞逝,转眼之间,我也从一个青春少年转变成了一个老油条,额。。。说老油条好像早了点,那就叫中油条吧。记得当初校招找到工作之后,我热情满满的对自己的未来做了详细的规划,像什么三年升高级,五年做架构师。如今看来,这一切也只不过是一个初出茅庐的小白

2020-07-09 10:07:04 618

原创 我糟糕的2019年:虽流年不利,但我心仍坚定

时光飞逝,物是人非,蓦然间,2019已成为历史。前言说实话,本来是不想写这篇总结的,因为我的2019年过得实在是糟心,从四月开始到年底,我的经历都是磕磕绊绊,总结起来无非就是两个词,求职,裁员。我相信这两个词对互联网界的朋友们并不陌生,即使你没经历过,通过网络新闻和行业群体的发言就不难发现,对于互联网从业者来说,2019年的行情真的不算很友好,不说远的,两个月前菊厂251事件的血淋淋的职场...

2020-01-09 09:42:12 403 7

原创 Bigo的Java面试,我挂在了第三轮技术面上.........

背景前段时间家里出了点事,辞职回家待了一段时间,处理完老家的事情后就回到广州这边继续找工作,大概是国庆前几天我去面试了一家叫做Bigo(YY的子公司),面试的职位是面向3-5年的Java开发,最终自己倒在了第三轮的技术面上。虽然有些遗憾和泄气,但想着还是写篇博客来记录一下自己的面试过程好了,也算是对广大程序员同胞们的分享,希望对你们以后的学习和面试能有所帮助。个人情况先说下LZ的个人情况。...

2019-11-04 09:37:56 2228 4

原创 一文教你弄懂缓存穿透、击穿、雪崩、预热等异常

对于缓存,大家肯定都不陌生,不管是前端还是服务端开发,缓存几乎都是必不可少的优化方式之一。在实际生产环境中,缓存的使用规范也是一直备受重视的,如果使用的不好,很容易就遇到缓存击穿、雪崩等严重异常情景,从而给系统带来难以预料的灾害。为了避免缓存使用不当带来的损失,我们有必要了解每种异常产生的原因和解决办法,从而做出更好的预防措施。缓存穿透而缓存穿透是指缓存和数据库中都没有的数据,这样每次请求都会去查库,不会查缓存,如果同一时间有大量请求进来的话,就会给数据库造成巨大的查询压力,甚至击垮db系统。比.

2020-12-09 10:18:38 76

原创 “打工人”为什么火了:我们只是认清了现实而已

我哋哩班打工仔通街走糴真頭係壞腸胃搵個些少到月底點夠使 (奀過鬼)確係認真濕滯…晚上戴着耳机敲代码的时候,耳边突然响起了这首歌,让我郁闷的心情一下舒爽了很多,这是许冠杰的歌《半斤八两》的开头句,歌词稍显拗口,对于不会讲粤语的人来说唱这首歌比较吃力,但旋律还是比较轻松的,这首歌是许冠杰的经典粤语歌之一,唱出了打工族的辛酸和无奈,在广东这一带非常的受欢迎。“打工人”的梗听到这首歌,我想起了最近很火的一个梗,打工人。这是广大网友之间流行的一个新的称呼,指的是各行各业辛勤打工的人,不是打一顿工人的意.

2020-10-28 10:16:23 400 2

原创 面试必问系列:悲观锁和乐观锁的那些事儿

文章目录程序安全乐观锁和悲观锁悲观锁乐观锁CAS原理缺点适用场景版本号机制最后程序安全线程安全是程序开发中非常需要我们注意的一环,当程序存在并发的可能时,如果我们不做特殊的处理,很容易就出现数据不一致的情况。通常情况下,我们可以用加锁的方式来保证线程安全,通过对共享资源 (也就是要读取的数据) 的加上"隔离的锁",使得多个线程执行的时候也不会互相影响,而悲观锁和乐观锁正是并发控制中较为常用的技术手段。乐观锁和悲观锁什么是悲观锁?什么是乐观锁?其实从字面上就可以区分出两者的区别,通俗点说,悲观锁.

2020-09-01 10:05:02 207

原创 当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

前言今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的。对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的最多的工具类了,也是面试中几乎必问的,LinkedList可能用的少点,但大多数的面试也会有所涉及,尤其是关于这两者的比较可以说是家常便饭,所以,无论从使用上还是在面试的准备上,对于这两个类的知识点我们都要有足够的了解。ArrayListArrayList是List接口的一个实现类,底层是基于数组实现的存储

2020-08-04 09:57:51 564 3

原创 阿里P7岗位面试,面试官问我:为什么HashMap底层树化标准的元素个数是8

前言先声明一下,本文有点标题党了,像我这样的菜鸡何德何能去面试阿里的P7岗啊,不过,这确实是阿里p7级岗位的面试题,当然,参加面试的人不是我,而是我部门的一个大佬。他把自己的面试经验分享给了我,也让我间接体会下阿里级别的面试难度,这样算起来,我也勉强算是经历面试过阿里P7的岗位的人吧,顿时感觉信心暴涨。常见的面试题对于HashMap,我们再熟悉不过了,日常开发最常用的Java集合类就是它了,而且面试的时候对于HashMap知识点基本是必问的,就拿我之前的面试经历来看,问的最多的无非是这么几个:1、

2020-07-06 09:49:22 582

原创 因为我的一个低级错误,生产数据库崩溃了将近半个小时

前言halo,相信大家一定过了一个很开心的端午节吧,我看朋友圈里各种晒旅游,晒美食的,真是羡慕啊,不像我,感冒了只能在家撸文章。当然,玩的多开心,节后上班就有多郁闷,假日综合征可不是说说而已。对此我想表达的是,没事,不用郁闷,来看我如何自爆家丑来让你们开心下。反常的sql语句上周四午休时分,我正在工位上小憩,睡梦中仿佛看到了自己拿着李白在荣耀峡谷里大杀四方的情景,就在我刚拿完五杀准备带领队友推对面水晶的时候,一句慌乱急促的“糟了”把我从睡梦中惊醒。我眯开朦胧的双眼,才发现刚才的发声来源于我的组长庄哥

2020-06-28 10:32:36 320

原创 引入mybatis-plus报 Invalid bound statement错误怎么办,动动手指改一个地方就行

错误Mybatis-Plus (简称MP) 是mybatis的一个增强工具,在mybatis的基础上只做增强不做改变,简化了开发效率。其实就是帮我们封装了一些简单的curd方法,可以直接调用,不必再重写这些简单的sql语句,类似JPA那样。前两天创建了一个新项目,持久层框架用的是mybatis,同时引入mybatis-plus做增强工具,项目启动后,调用接口却发现报错了,报错的提醒如下:错误的信息显示的是 “无效的绑定语句“,报错的地方正是操作sql语句的方法,从网上查了一下答案,该错误主要是数据源

2020-05-28 10:03:08 1018 1

原创 远程办公,也许并没有你想象的那么轻松

春节假期结束已经一个多星期了,随着疫情的逐渐控制,很多企业陆陆续续开启了复工模式,但为了安全考虑,有一部分企业仍然采取延迟复工的策略,比如大部分的互联网公司,像我们熟悉的阿里、腾讯就规定复工时间延迟到2月17日,而企业的日常工作就通过远程办公的方式展开,借着这次东风,很多人体验到了远程办公的魅力之处,更有甚者觉得这是“梦寐以求”的远程办公时代的提前到来。有哪些福利远程办公真的那么好吗?在这次疫...

2020-02-14 09:19:08 1128

原创 读写分离很难吗?springboot结合aop简单就实现了

文章目录前言环境部署开始项目目录结构建表主从数据源配置设置路由数据源的注解aop切换数据源注意參考:前言入职新公司到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spring aop读写分离的效果。环境部署数据库:MyS...

2019-11-27 09:35:13 386

原创 手把手教你,如何在windows系统搭建mysql主从复制的环境

背景入职到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spring aop读写分离的效果。在编写代码之前,首先是要部署好mysql的环境,因为要实现读写分离,所以至少需要部署两个mysql实例,一主一从,并且主从实例之间能...

2019-11-25 09:32:27 207

原创 dubbo解决本地开发直连

问题:在如今的分布式项目开发中,zookeeper + dubbo是最常见的,通常的使用是用zookeeper做注册中心,dubbo做rpc,然后服务部署就可以实现相互之间的远程通信。所以开发项目时,只要连接对于zk的开发环境地址,本地不需要启动所有的服务也能互相调用,就好像有三个服务A,B和C,只要B和C都连接zk并且部署到开发环境(或者其他环境),服务A配置好对应的zk信息后不需要在本地启动...

2019-11-12 09:56:33 734

原创 设计模式:与SpringMVC底层息息相关的适配器模式

文章目录前言适配器模式1、定义2、UML类图3、实战例子4、总结1)优点2)缺点3)适用场景SpringMVC底层的适配器模式参考前言适配器模式是最为普遍的设计模式之一,它不仅广泛应用于代码开发,在日常生活里也很常见。比如笔记本上的电源适配器,可以使用在110~ 220V之间变化的电源,而笔记本还能正常工作,这就是适配器模式最直接的例子,同时也是其思想的体现,简单的说,适配器模式就是把一个类(...

2019-08-07 09:13:33 161

原创 设计模式:观察者模式 ——— 城管来了,摊主快跑

今天学习设计模式系列的观察者模式文章目录前言观察者模式定义通用类图实际例子抽象被观察者具体被观察者抽象观察者具体观察者场景类总结优点缺点参考:前言时间飞逝,转眼初夏已过,尤记得以前读大学的时候,夏季最快乐的时光就是和小伙伴们在球场上打完球后去校门附近的烧烤摊撸串喝酒,那种感觉真是大快人心,怎一个爽字了得。不过有时也会遇到特殊情况,在撸串时摊主突然告知要收摊,连忙向我们赔礼道歉,原因是城管将至...

2019-07-31 09:11:48 145

原创 设计模式:策略模式,Java集合定制排序的核心思想

前言前阵子面试的时候,有个面试官问我了解哪些设计模式吗?我说了策略模式。接着他问有哪些场景应用,我又回答他jdk的集合工具类有个排序方法就用到了策略模式,也就是java.util包下的Collections类,该类中有个sort方法,我们可以自定义排序规则实现集合的定制排序,这就是策略模式最直接的应用,说完之后他点点头,料想对我的回答还是比较满意吧,当然我也只是在这道面试题上装装逼而已,毕竟最后...

2019-07-25 09:19:22 209

原创 设计模式:代理模式是什么,Spring AOP还和它有关系?

接着学习设计模式系列,今天讲解的是代理模式。定义什么是代理模式?代理模式,也叫委托模式,其定义是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。它包含了三个角色:Subject:抽象主题角色。可以是抽象类也可以是接口,是一个最普通的业务类型定义。RealSubject:具体主题角色,也就是被代理的对象,是业务逻辑的具体执行者。Proxy:代理主题角色。负责读具体主题角色的...

2019-07-15 09:59:36 361

原创 设计模式:抽象工厂模式,结合类图秒懂!

通过前篇文章《设计模式:工厂模式》的介绍,我们对工厂模式有了深入的了解,今天继续介绍一种特殊的工厂模式,也就是抽象工厂模式。定义抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式,是工厂方法模式的升级版,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。抽象工厂模式包含了几个...

2019-07-11 09:13:33 12052 2

原创 设计模式:工厂模式,解除耦合的利器

工厂模式是使用频率很高的一种设计模式,在面试中也经常问到,今天我们就来学习它。为什么要用工厂模式?解答这个问题前,我们先来了解什么是工厂模式。工厂模式其实也称创建模式,是用于创建对象的一种方式。本质上就是用工厂方法来代替new实例化对象。举个例子:我们在编写代码的时候,在一个A类中通过new的方式实例化了类B,那么A类和B类之间就存在耦合,如果以后修改了B类的代码和使用方式,例如需要在...

2019-07-10 09:10:44 329 1

原创 绝杀慕尼黑,热血中不乏温情

第一次写影评,随便吹吹水,就当练练文笔吧!上周四晚,公司包场让全体员工到电影院观看了一部电影《决战慕尼黑》,这是由俄罗斯拍摄的一部改编于真实事件的篮球电影,影片讲述的背景是1972年慕尼黑奥运会篮球决赛苏联球队战胜美国队的故事,这场比赛也被称为是奥运会篮球史上争议最大的一场比赛,比赛中因为最后三秒钟的计时错误让比赛的过程变得跌宕起伏,最后让苏联队“偷走”了胜利的果实,打败了不可一世的美国队。...

2019-07-08 09:47:04 961

原创 设计模式:单例模式 (关于饿汉式和懒汉式)

设计模式:单例模式定义单例模式是比较常见的一种设计模式,目的是保证一个类只能有一个实例,而且自行实例化并向整个系统提供这个实例,避免频繁创建对象,节约内存。单例模式的应用场景很多,比如我们电脑的操作系统的回收站就是一个很好的单例模式应用,电脑上的文件、视频、音乐等被删除后都会进入到回收站中;还有计算机中的打印机也是采用单例模式设计的,一个系统中可以存在多个打印任务,但是只能有一个正在工作的...

2019-05-23 15:10:28 22849 16

原创 设计模式:面向对象设计的六大原则 (绝对详细)

文章目录前言六大原则单一职责原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则总结前言很久没有写博客了,一直给自己找借口说太忙了,过几天有空再写,几天之后又几天,时间就这么快速的消逝。说到底就是自己太懒了,不下点决心真是不行。我决定逼自己一把,从今天开始学习设计模式系列,并写成博文记录下来,做不到的话,就罚自己一个月不玩游戏 (作孽啊。。。。)六大原则言归正传,这是我学习设计模式系...

2019-05-20 09:55:32 203

原创 idea创建maven项目速度慢?别急,这有三种方案

困扰Intellij idea是一款非常强大的编辑器,可以很方便地帮我们创建maven项目,有用过的同学应该都深有体会,但我们经常会遇到一个困扰,那就是用idea创建maven项目时,速度很慢,往往需要好几分钟的时间,有时甚至会卡住,主要原因是创建maven项目时默认是下载求网络上的一个文件archetype-catalog.xml,该文件的大小有5-6M,下载的速度很慢,导致创建过程也变得很慢...

2019-01-30 09:38:20 408

原创 用idea搭建SSM项目,原来这么简单

文章目录前言软件环境创建项目数据库文件配置文件pom.xmllog4j.propertiesjdbc.propertiesapplicationContext.xmlspring-mvc.xmlweb.xml运行项目编写代码前言前阵子突发奇想,想学习下SpringMVC的源码,于是打算用idea搭建一个简易的maven版SSM案例,也就是SpringMVC+Spring+MyBatis+Mav...

2019-01-28 10:00:37 4753 7

原创 Java并发编程:什么是CAS?这回总算知道了

无锁的思想众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全。然而,锁虽然有效,但采用的是一种悲观的策略。它假设每一次对临界区资源的访问都会发生冲突,当有一个线程访问资源,其他线程就必须等待,所以锁是会阻塞线程执行的。当然,凡事都有两面,有悲观就会有乐观。而无锁就是一种乐观的策略,它假设线程对资源的访问是没有冲突的,同时所有的线程...

2019-01-08 10:19:19 228

原创 Java并发编程:Java的四种线程池的使用,以及自定义线程工厂

文章目录引言四种线程池newCachedThreadPool:可缓存的线程池newFixedThreadPool:定长线程池newSingleThreadExecutor:单线程线程池newScheduledThreadPool:支持定时的定长线程池自定义ThreadFactory引言通过前面的文章,我们学习了Executor框架中的核心类ThreadPoolExecutor ,对于线程池的核...

2019-01-07 13:56:36 344

原创 Java并发编程:Java线程池核心ThreadPoolExecutor的使用和原理分析

文章目录引出线程池Executor框架ThreadPoolExecutor详解构造函数重要的变量线程池执行流程任务队列workQueue任务拒绝策略线程池的关闭ThreadPoolExecutor创建线程池实例参考:引出线程池线程是并发编程的基础,前面的文章里,我们的实例基本都是基于线程开发作为实例,并且都是使用的时候就创建一个线程。这种方式比较简单,但是存在一个问题,那就是线程的数量问题。...

2019-01-04 10:29:04 197

原创 Java并发编程:ThreadLocal的使用以及实现原理解析

前言前面的文章里,我们学习了有关锁的使用,锁的机制是保证同一时刻只能有一个线程访问临界区的资源,也就是通过控制资源的手段来保证线程安全,这固然是一种有效的手段,但程序的运行效率也因此大大降低。那么,有没有更好的方式呢?答案是有的,既然锁是严格控制资源的方式来保证线程安全,那我们可以反其道而行之,增加更多资源,保证每个线程都能得到所需对象,各自为营,互不影响,从而达到线程安全的目的,而Thread...

2019-01-03 09:46:24 168

原创 Java并发编程:synchronized、Lock、ReentrantLock以及ReadWriteLock的那些事儿

文章目录前言synchronized用法修饰方法修饰实例方法修饰静态方法同步代码块引出LockLock用法子类:ReentrantLock读写分离锁:ReadWriteLockLock和synchronized比较前言多线程开发中,同步控制是必不可少的手段。而同步的实现需要用到锁,Java中提供了两种基本的锁,分别是synchronized 和 Lock。两种锁都非常常用,但也各有利弊,下面开...

2019-01-02 09:38:38 205

原创 Java并发编程:JMM (Java内存模型) 以及与volatile关键字详解

文章目录计算机系统的一致性Java内存模型内存模型的3个重要特征原子性可见性有序性指令重排序volatile关键字保证可见性和防止指令重排不能保证原子性计算机系统的一致性在现代计算机操作系统中,多任务处理几乎是一项必备的功能,因为嵌入了多核处理器,计算机系统真正做到了同一时间执行若干个任务,是名副其实的多核系统。在多核系统中,为了提升CPU与内存的交互效率,一般都设置了一层 “高速缓存区” 作...

2018-12-29 10:21:57 131

原创 Java并发编程:线程的生命周期是个怎样的过程?

前言在日常开发过程中,如果我们需要执行一些比较耗时的程序的话,一般来说都是开启一个新线程,把耗时的代码放在线程里,然后开启线程执行。但线程是会耗费系统资源的,如果有多个线程同时运行,互相之间抢占系统资源,那无疑会对系统造成极大的压力。所以,怎么操作线程,保证不影响整个应用功能是很重要的,而这就需要我们了解线程的生命周期了。线程的生命周期线程的生命周期有6种状态,分别是NEW(新建)、RUNN...

2018-12-28 09:34:13 147

原创 Java并发编程:Java创建线程的三种方式

文章目录引言创建线程的三种方式一、继承Thread类二、实现Runnable接口三、使用Callable和Future创建线程三种方式的对比引言在日常开发工作中,多线程开发可以说是必备技能,好的程序员是一定要对线程这块有深入了解的,我是Java程序员,并且Java语言本身对于线程开发的支持是非常成熟的,所以今天我们就来入个门,学一下Java怎么创建线程。创建线程的三种方式Java创建线程主...

2018-12-27 10:06:48 121

原创 Java并发编程:什么是线程安全,以及并发必须知道的几个概念

废话众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。并发必须知道的概念在深入学习并发编程之前,我们需要了解几个基本的概念。同步和异步同步和异步用请求返回调用的方式来理解相对简单。同步:可以理解为发...

2018-12-26 10:43:27 145 1

转载 SpringCloud底层服务之间是怎么相互调用的?

文章目录概述一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还...

2018-11-22 16:41:10 30342 15

原创 Java集合类:Vector

引言之前的文章我们学习了一个集合类 ArrayList,今天讲它的一个兄弟 Vector。为什么说是它兄弟呢?因为从容器的构造来说,Vector 简直就是 ArrayList 的翻版,也是基于数组的数据结构,不同的是,Vector的每个方法都加了 synchronized 修饰符,是线程安全的。类声明用idea打开 Vector 的源码,不难发现,它的类声明跟 ArrayList 一模一样...

2018-10-30 10:54:27 341

原创 Java集合类:LinkedList

文章目录前言初识LinkedList源码解析添加元素删除元素更改元素查询元素内部类LinkedList 和 ArrayList 的对比前言上篇文里讲解了ArrayList ,它是基于List 接口来实现的,今天讲解Java集合类中另一个跟List相关的集合类,叫做LinkedList 。初识LinkedListLinkedList 是基于双向链表实现的,也就是说,链表中任何一个存储单元都可...

2018-10-30 10:51:58 229

Eureka服务注册和消费案例

springcloud的的核心组件Eureka,它可以作为服务注册中心,也可以作为消费者来调用服务,资源里的工程会为你详细展示。

2018-08-07

springboot结合mybatis generator逆向工程自动生成代码

这是结合了mybatis generator逆向工程的springboot项目,可以直接根据数据库表名来生成对应的dao和mapper类,具体的介绍可以参考这篇文章https://blog.csdn.net/yeyazhishang/article/details/80816130

2018-07-13

空空如也

空空如也

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

TA关注的人 TA的粉丝

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