05 2019 档案

摘要:简述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把 阅读全文
posted @ 2019-05-31 19:03 Captain&D 阅读(4952) 评论(0) 推荐(0)
摘要:前言 一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给予太多的关注。但是对于大厂的那种大规模复杂业务、分布式高并发的应用场景,显然这种ID的生成方式不会像 阅读全文
posted @ 2019-05-31 11:57 Captain&D 阅读(8133) 评论(0) 推荐(0)
摘要:选择排序和冒泡排序同样是基础排序算法,现在也做个学习积累。 简述 选择排序算法较为稳定,基本上都是O(n2)的时间复杂度,规模越小排序越快,不需要占用额外空间。其实选择排序原理很简单,就是在未排序序列中找到最小(大)的元素然后放到数组前面,然后再从剩下的未排序序列中找到最小(大)的元素放在上一次找到 阅读全文
posted @ 2019-05-29 20:36 Captain&D 阅读(3526) 评论(0) 推荐(0)
摘要:引言 引用自《阿里巴巴JAVA开发手册》 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。 阅读全文
posted @ 2019-05-29 16:47 Captain&D 阅读(6288) 评论(4) 推荐(2)
摘要:发现 今天在探秘线程池原理知识点,在阅读JDK源码时遇到程序代码中出现如下代码,因为之前没有遇到过,于是特地记录下来并谷歌了一番,后面我自己做了一些简要的验证和分析。 验证 网上溜达一番发现,这retry就是一个标记,标记对一个循环方法的操作(continue和break)处理点,功能类似于goto 阅读全文
posted @ 2019-05-27 16:23 Captain&D 阅读(12106) 评论(5) 推荐(9)
摘要:说明:本文中所谈论的HashMap基于JDK 1.8版本源码进行分析和说明。 HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储结构,从链表逐步进化成了红黑树,以满足存取性能上的需要。本文逐行分析了put方法的执行流程,重点放在 阅读全文
posted @ 2019-05-22 15:34 Captain&D 阅读(20798) 评论(1) 推荐(7)
摘要:需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用,而且这种操作也会带来资源可用的延时,仔细斟酌发现这种操作似乎并不合逻辑。 在众多项目组的千呼万唤之 阅读全文
posted @ 2019-05-20 20:57 Captain&D 阅读(13927) 评论(2) 推荐(0)
摘要:一次偶然的机会,我接到了一个招聘平台的晚会邀请函。平台邀请了三家公司做现场面试,时间定在了周五的晚上,很凑巧的是活动举办地就在离我住处不远处的一个星级酒店里面,一直想能够有机会“监听一下行业动态,触摸一下行业脉搏”,机会来了,我没有迟疑太久,并答应了能够在周五晚上八点钟出现在会场。 会场举办地设在了 阅读全文
posted @ 2019-05-20 17:37 Captain&D 阅读(807) 评论(0) 推荐(0)
摘要:这个问题是我在参加一次面试晚会活动上被问到的一个问题,看标题显然很简单就能够回答出来,但是仔细一琢磨,平时蒙头苦干的我们可能缺少关注和积累,好像并不能用较专业的术语和逻辑很顺畅的表达出来,于是我简要的翻了翻资料,然后整理出了这篇文章。 Spring框架是一个大集合,也像一个大家族【可以到spring 阅读全文
posted @ 2019-05-20 16:02 Captain&D 阅读(9752) 评论(1) 推荐(1)
摘要:需求背景 公司内部员工使用的iOS客户端应用希望对内开放,不需要发布于AppStore直接能够让内部用户获取,对于Android应用来说这个问题很好解决,直接下发安装包然后就能安装了;但是对于苹果生态来说,这种方式是行不通的,因为苹果本身有一套完备的应用安装体系,除了具备一定特性之外的应用,都必须通 阅读全文
posted @ 2019-05-16 12:08 Captain&D 阅读(3633) 评论(0) 推荐(0)
摘要:需求背景 我方项目需要支持客户端消息推送,iOS终端可以借由苹果本身的apns很方便的实现,但是对于Android来说,必须集成第三方的SDK来处理。考虑到项目需要以及成本,我们选择使用谷歌的FCM框架来实现,因为我们项目针对消息的可到达率要求并不高,而且推送消息的性质是业务低关注度的,重点是我们的 阅读全文
posted @ 2019-05-15 20:50 Captain&D 阅读(8631) 评论(1) 推荐(0)
摘要:关于SpringSession相关的介绍和使用指南,可移步如下网址: 【SpringSession管理分布式系统的会话Session】 https://www.cnblogs.com/captainad/p/10861006.html 问题浮现 我们在使用SpringSession时(其实在问题出现 阅读全文
posted @ 2019-05-15 11:02 Captain&D 阅读(1897) 评论(0) 推荐(0)
摘要:在我方供应链项目分布式部署的环境下,需要在统一网关服务中管理访问的Session,即无论访问请求路由到哪一个网关服务环境,使用的都是相同的HttpSession,这样就保证了在用户登录之后,能够使用统一的Session来处理鉴权和其他逻辑,这对于分布式系统的用户会话管理是必要的。为了能够达到这个目的 阅读全文
posted @ 2019-05-14 14:23 Captain&D 阅读(1596) 评论(0) 推荐(0)
摘要:需求背景 (读者可略过)司机每天从早到晚都会去到不同的自动售货机上补货,而且补货次数和路线等也是因人而异,补货依据是由系统优化并指派。但是目前系统还无法实施有效指挥和优良的补货策略,司机的补货活动因此变得较为随意和散漫。为了有效跟踪司机补货,计算司机补货效率,也为了便于HR月底计算司机绩效,因此提出 阅读全文
posted @ 2019-05-13 12:23 Captain&D 阅读(1520) 评论(2) 推荐(0)
摘要:冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍。 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素序列的排序规则也是如此,每次比较相邻的两个数值,如果前面的数值大于后面的数值则进行交换,最后会将本次 阅读全文
posted @ 2019-05-10 16:19 Captain&D 阅读(10463) 评论(0) 推荐(0)