自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的蜗牛

记录学习过程,慢慢积累,缩小未知的范围,探索新大陆!

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

原创 周任务想法总结-2020/08/21

周总结:2020/08/21一、周任务一、周任务工作任务完成

2020-09-01 15:49:15 258

原创 周任务总结-2020/08/14

周总结:2020/08/14一、周任务二、任务总结任务一:掌握Swagger文档的学习任务二:0812需求任务三:店铺粉丝取消关注同步实现三、思考与想法一、周任务工作任务掌握Swagger文档的基本语法首页0812需求测试问题的跟进店铺官方账号粉丝取消关注功能的同步。(思考粉丝同步技术方案)OKR计划每周3道 leetcode算法题本季度的完成的技能学习:SpringBoot、Dubbo文档输出二、任务总结任务一:掌握Swagger文档的学习针对接口文档的学习,我感觉只需要掌握

2020-08-18 22:17:29 331

原创 面试中经常看到但又不是很全面回答的对比区别问题

在Java的学习中,我们经常发现一个问题: 很多时候这个关键字/方法长的很相似,也能够说出之间的差异,但总是感觉很模糊, 说知道吧,又说不全面,说不知道吧,你又不服气。哈哈,学习过程遇到这个很正常; 所以这篇文章也是为了梳理一下相关的疑难杂症吧,一起学习。一、final、finally、finalize之间的区别1、finalfinal关键字主要用于三个地方:变量、...

2019-06-19 10:18:01 330

原创 常用的排序(面试经常问到)

面试经常问到的排序算法,使用Java语言实现,一起学习一、最简单排序算法思想让每一个关键字都和它后面的每一个关键字比较,如果大则交换,这样第一个位置的关键字在依次循环后一定变成最小值。算法示意图从上面的示意图可以看出:当 i = 1时,9与1交换后,1与其余的关键字比较均最小,因此,1为最小的数,放在首位;当 i= 2时,9 < 5 ,所以将9与5交换位置...

2019-06-17 09:03:58 262

原创 同步/异步 | 阻塞/非阻塞理解

同步/异步 阻塞/非阻塞在谈到这个概念,会涉及到: 1、同步阻塞 2、同步非阻塞 3、异步阻塞 4、异步非阻塞关于同步/异步同步和异步其实指的是,请求发起方对消息结果的获取是主动发起的,还是等被动通知的。如果是请求方主动发起的,一直在等待应答结果(同步阻塞),或者可以先去处理其他的事情,但要不断轮询查看发起的请求是否有应答结果(同步非阻塞 )因为不管如何都要发起方主动获取消...

2019-06-04 14:28:01 145

原创 Java反射机制理解

在学习Java反射机制,首先应该了解:1、什么是反射?2、为什么会有反射的存在? 3、用到反射有哪些需要了解?4、使用反射有哪些方式?5、常见的API有哪些?1、什么是反射?百度百科的解释:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的...

2019-06-03 15:04:48 165

原创 IO流相关知识点

在梳理IO流相关的知识点,我感觉主要分为以下几个部分:主要内容:1、Java的IO流2、字节流与字符流3、输入/输出流体系3.1 处理流的用法1、Java的IO流IO流是实现输入输出的基础,在Java中将不同的输入输出源描述为“流”。流的分类:输入流:从外向内。(即将数据读取到内存中)输出流:从内向外Java的输入流主要是:InputStream 、ReaderJava的输出流主...

2019-05-30 20:34:23 373

原创 String StringBuffer StringBuilder之间的区别

在学习String、StringBuffer、StringBuilder三者时,首先给出必要的结论,后面详细分析。在执行速度上: StringBuilder > StringBuffer > String .这是在一般情况下的结果在安全性上: String、StringBuilder 线程非安全 || StringBuffer 线程安全【参考文章】 https:...

2019-05-30 10:00:31 3142 4

原创 Java创建对象的四种方法

Java创建对象的四种方法使用New关键字使用Class类的newInstance方法,newInstance方法调用无参构造器创建对象(反射),Class.forName.newInstance();使用clone方法反序列化使用构造器的两种:New关键字、反射;没有使用构造器的两种:clone、反序列化方式一:使用New关键字package Test3;public cl...

2019-05-22 16:33:56 4557

原创 Java集合 HashMap底层实现详解

在前面几篇文章中,我们也已经学习了关于List、Set的常用集合,今天学习最常用的Map集合:HashMap。在学习HashMap之时,首先应该清楚明白:HashMap的工作原理: HashMap基于hashing原理,通过put()和get()方法存储和获取对象。当我们将键值对传递给put()方法时,它调用对象的hashCode()方法来计算hashCode,然后找到bucket位置来存储对...

2019-05-20 16:22:34 3700

原创 Java集合 TreeSet实现详解

TreeSet实现详解TreeSet是SortedSet接口的实现类,所以可以看出TreeSet是有序的。与HashSet集合采用hash算法来决定元素的存储位置不同,TreeSet采用红黑树的数据结构来存储集合元素,那么TreeSet进行排序的规则是怎样的?TreeSet支持两种排序:自然排序和定制排序。1、自然排序TreeSet会调用集合元素的compareTo(Object obj)...

2019-05-14 23:43:51 1018 1

原创 Java集合 HashSet底层详解

前几篇文章已经介绍了关于List集合的讲解,今天学习Set集合相关的实现类。Set集合常用的如:HashSet、TreeSet。HashSet是Set集合的典型实现,HashSet按照Hash算法来存储集合中的元素,存在以下特点:不能保证元素的顺序,元素是无序的HashSet是不同步的,需要外部保持线程之间的同步问题,Collections.synchronizedSet(new XXSe...

2019-05-14 15:00:21 10614

原创 Java集合 Vector的底层详解

Java集合的 Vector底层讲解Vector作为List的另外一个典型的实现类,完全支持List的全部功能,Vector的实现其实和ArrayList的底层实现很类似,都是封装了一个Object[],但Vector是一个比较古老的集合,JDK1.0就已经存在,建议不要使用这个集合,Vector与ArrayList的主要区别是:Vector是线程安全的,ArrayList是非线程安全的,但...

2019-05-13 23:42:00 6628

原创 Java集合 LinkedList 底层详解

Java集合的LinkedList底层详解前一篇文章,已经讲过ArrayList的底层实现原理,今天学习LinkedList底层实现原理。LinkedList类是List接口的实现类,它是一个集合,可以根据索引来随机的访问集合中的元素,还实现了Deque接口,它还是一个队列,可以当成双端队列来使用。虽然LinkedList是一个List集合,但是它的实现方式和ArrayList是完全不同的,A...

2019-05-13 22:53:36 3017

原创 Java集合 ArrayList底层实现原理

Java集合ArrayList 底层实现原理:在Java中对于集合的使用是比较重要且普遍的,对于它们之间具体的关系图,如下所示:常用的集合:List、Set、MapList集合List是一个有序的,可重复的集合。这里的有序是指add()元素之后,取元素的顺序默认是和你添加的顺序一致,可以通过索引get()来访问指定位置的集合元素。对List接口常用的实现类:ArrayList、Linke...

2019-05-13 17:07:52 1334

原创 Java中int与Integer之间的区别

在介绍两者之间的区别时,需要明确两个概念:基本数据类型种类装箱 / 拆箱int和Integer的区别基本数据类型种类在Java中,有8种基本数据类型,分别是: byte char short int float double long boolean 。分别对应的包装类型为:Byte、Character、Short 、Integer、Float、Double、Long、B...

2019-05-10 20:54:16 292

原创 Java内存模型JMM学习

今天任务:Java内存模型的 基础部分 学习,后面会不断接下来的章节每次在讲解之前都会采用思维导图的方式总结本次讲解应该的注意到的大致内容,具体的细节部分会在下文进行讲解。在 共享内存 的并发模型中:线程之间共享程序的公共状态,通过 读 - 写 内存中的公共状态进行隐式通信。在 消息传递 的并发模型中,线程之间没有公共状态,线程之间必须通过发送消息来显示进行通信。同步:指程序中用于控制不同...

2019-05-10 10:25:24 250

原创 栈与队列的学习总结

栈与队列1、栈1.1栈的定义1.2栈的存储结构及实现1.2.1栈的顺序存储1.2.2栈的链式存储1.3两栈共享存储空间1.4 栈的应用(四则运算表达式求值)2、队列2.1 队列的定义2.2循环队列2.3队列的链式存储结构及实现3、栈与队列的比较1、栈1.1栈的定义栈是限定仅在表尾进行插入和删除操作的线性表1.2栈的存储结构及实现1.2.1栈的顺序存储1.2.2栈的链式存储1.3两栈共...

2019-05-07 15:51:04 5777

原创 并发编程艺术学习笔记-02-Java并发机制的底层实现原理

文章目录1、volatile的应用1.1 volatile定义与实现原理1.2 volatile特性2、synchronized的实现原理与应用3、原子操作的实现原理1、volatile的应用在多线程并发编程中 synchronized 和 volatile 都是很重要的,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的 “可见性” ,其中可见性是指当一个...

2019-04-25 12:11:37 291

原创 并发编程的艺术学习笔记-01

Java并发机制的底层实现原理1、并发应该考虑到的问题1.1 性能问题1.2 产生死锁1.2 插入操作1.3 删除操作1.4 插入与删除的时间复杂度分析1.5 线性表的顺序存储结构的优缺点2、链式存储2.1链式存储结构2.2 头指针与头节点的区别2.3单链表的结构定义2.4 链表查数据2.5 插入操作2.6 删除操作2.7 单链表的整表创建2.7.1 头插法2.7.2 尾插法2.8 单链表的整表删...

2019-04-18 23:54:20 216

原创 线性表的结构详解

线性表总结一、线性表的定义二、线性表的存储结构1、顺序存储1.1 线性表获得元素的操作1.2 插入操作1.3 删除操作1.4 插入与删除的时间复杂度分析1.5 线性表的顺序存储结构的优缺点2、链式存储2.1链式存储结构2.2 头指针与头节点的区别2.3单链表的结构定义2.4 链表查数据2.5 插入操作2.6 删除操作2.7 单链表的整表创建2.7.1 头插法2.7.2 尾插法2.8 单链表的整表删...

2019-04-14 20:30:37 2673

空空如也

空空如也

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

TA关注的人

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