那些经常被问的JAVA面试题(1)—— 集合部分
每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:
分布式之延时任务方案解析
在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消;生成订单60秒后,给用户发短信。对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别
分布式之数据库和缓存双写一致性方案(二)
该文是对《分布式之数据库和缓存双写一致性方案解析》一文的补充。博主在该文中,提到了这么一句话:应该没人问我,为什么没有先更新缓存,再更新数据库这种策略。博主当时觉得,这种更新策略比较简单,没必要多做说明,结果太多人留言给博主,问我为什么不说这套方案?好吧,博主先跟大家道个歉,是我的问题。所以再开一文,把这个方案说明一下
深度解析:主流分布式架构的前世今生
上篇文章,我们聊到了分布式架构的演进过程,那本文我们就来聊一聊目前主流的分布式架构和分布式架构中常见理论以及如何才能设计出高可用的分布式架构好了。分布式架构中,SOA和微服务架构是最常见两种分布式架构,而且目前服务网格的概念也越来越火了。那我们本文就先从这些常见架构开始。
Java学习之7种排序算法的完整实例代码
排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。
从京东618秒杀聊聊秒杀限流的多种实现
俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的。两周前秒杀案例初步成型,分享到了中国最大的同性交友网站-码云。同时也收到了不少小伙伴的建议和投诉。我从不认为分布式、集群、秒杀这些就应该是大厂的专利,在互联网的今天无论什么时候都要时刻武装自己,只有这样,也许你的春天就在明天。
以电商为例 读懂分布式架构的前世今生
随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经历了好几个阶段,我们弄明白各个阶段的架构,才能更好地理解和体会分布式架构的好处,那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉。
三大角度PK,Go语言和Node.js谁胜谁负?
Node.js与Go语言一直是互联网大战中的主战场,虽说按照普通的各项指标对比,那么这场战争可能在很长时间内都难分胜负,但我们还是决定尝试对这二者做一些研究,并力求做出更准确的判断。
于企业应用程序而言,Go比Java更明智!
圣经里有一个很经典的故事——David和Goliath,Goliath 是一个巨人,身形巨大,而David是一个初出茅庐的小男生,但就是这样一个年纪轻轻的男生却战胜了Goliath。Go语言就像是这个故事中的David,在一众“Goliath”式的编程语言中脱颖而出。
从银行转账失败到分布式事务:总结与思考
事务是一个非常广义的词汇,各行各业解读都不一样。对于程序员,事务等价于Transaction,是指一组连续的操作,这些操作组合成一个逻辑的、完整的操作。即这组操作执行前后,系统需要处于一个可预知的、一致的状态。因此,这一组操作要么都成功执行,要么都不能执行;如果部分成功,部分失败,成功的部分需要回滚(rollback)。
从Elasticsearch来看分布式系统架构设计
分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。
Python分析 谁是2018世界杯夺冠最大热门?
2018年,世界杯小组赛已经在如火如荼的进行中。在上篇文章的基础上【世界杯:用Python分析热门夺冠球队-(附源代码)】,我们继续分析世界杯32强的实力情况,以期能够更进一步分析本次世界杯的夺冠热门球队。
如何从设计和规范上规避RDS性能问题?
在初创型互联网公司中,开发们整天想的唯一一件事,就是“把功能做出来”。而当公司业务量逐渐上涨、甚至翻了好几番之后,最开始的程序上的问题,就一个接一个地暴露了出来。其中,最明显的,就是数据库的压力问题。下文提到的数据库,都指RDS for MYSQL。
微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异
由于开发人员要靠工具吃饭,可能和开发工具、语言、环境呆的时间比和老婆孩子亲人在一起的时间还多,所以每个人或多或少对自己吃饭的工具在感性上带有宗教情结,在理性上又受屁股决定大脑利益左右,这种比较一般都容易遭人争议, 这些比较不带任何偏见和感情色彩,主要是自己工作中记录在有道云笔记的经验日记主要是给I自己学习备查用,写得多了就有参考价值分享出来给需要的人参考,如果有任何争议本人不作辩解。这只代表本人自己的理解印象。
为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在思考: Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会给我们带来什么样变革?
Anaconda 发布2018年数据科学调查报告
Anaconda近日发布了宣布2018年数据科学调查结果,该调查于2018年3月22日至4月30日进行,收到4218份回复,调查完成率达到100%。调查事项主要包括用户对于数据科学的看法、使用的数据源、可视化以及横向扩展方法等等,结果报告揭示了Anaconda社区内数据科学和机器学习的主要趋势。
如何利用redis来进行分布式集群系统的限流设计
在很多高并发请求的情况下,我们经常需要对系统进行限流,而且需要对应用集群进行全局的限流,那么我们如何类实现呢。
世界杯:用Python分析热门夺冠球队-(附源代码)
2018年,火热的世界杯即将拉开序幕。在比赛开始之前,我们不妨用 Python 来对参赛队伍的实力情况进行分析,并大胆的预测下本届世界杯的夺冠热门球队。
14位企业高管谈Java生态系统,目前面临的最大问题是质量恶化
为了更全面的了解Java生态系统的现状和未来发展,我们和14家企业的高管进行了交流。Java是最受企业欢迎的编程语言之一,而且Java程序员的数量也是最多的。在很多平台上,Java内容的相关阅读数据也比较靠前。
分而治之:Oracle 18c及12.2分区新特性的N种优化实践
很高兴,又和大家重聚在DTCC 2018的数据库性能优化专场。这次我想和大家分享与分区相关的优化特性,主要会和大家介绍一些Oracle最新的分区技术以及我们在日常运营中的最佳实践。