![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
普通网友
这个作者很懒,什么都没留下…
展开
-
面试官:年轻人醒醒吧!你构建的那个可能并不算真正的“微服务”!
微服务架构回想起当初开源风火遍国内的时候,SSH是当时最大的亮点,现在SSH已经被SSM取代。但随之而来的就是参与配置的文件过多,项目集成化过高问题的出现。微服务架构出现了!微架构的出现,很好地适应了这个时代对快速发展变化的要求。它是开发之中看起来非常简单的一种实现技术,但简单的背后考究的却是开发者对于开源技术的熟练程度。如何学好微服务架构?市面上有关于微服务架构的博客跟资料有太多太多,但真正可以说得上好的资料却极少,今天写这篇文章也就是想起前段时间从百度的一位架构师朋友手上扒来一份微服务架构进原创 2020-12-01 19:29:41 · 522 阅读 · 5 评论 -
优质高效,阿里性能怪兽宝典(Redis+Nginx)限时开源,手慢无!
前言在开源界,高性能服务的典型代表就是Nginx和Redis。纵观这两个软件的源码,都是非常简洁高效的,也都是基于异步网络IO机制的,所以对于要学习高性能服务的程序员或者爱好者来说,研究这两个网络服务的源码是非常有必要的。Nginx目前市面上的书籍很多,但是Redis确实寥寥无几。这几年Redis已经发展到了5.0版本,这些特性暂时没有资料进行系统讲解。今天要与大家介绍的文档就弥补了这一空缺,可以帮助大家仁深入理解Redis内核实现机制的有效途径。下面我们来看看主要内容:(由于篇幅限制就只能以截图原创 2020-12-01 18:54:19 · 415 阅读 · 0 评论 -
公开!阿里新产Spring Security笔记,这也太细了
Spring SecuritySpring Security想必在这里不用我多说了,它作为一个强大且高度可定制的安全框架,一直致力于为Java应用提供身份认证和授权。在Web开发中,安全一直是非常重要的一个方面。它的三大功能:认证(你是谁)授权(你能干什么)攻击防护(防止伪造身份)让其成为首先被推崇的安全解决方案。如何学习Spring Security?对于Java基础不太好的朋友,在面对Spring Security时大多无从入手。因为它囊括了大量知识,仅官方参考手册就有数十万字,并且还省略了原创 2020-12-01 13:03:41 · 3032 阅读 · 20 评论 -
耗时一个半月肝完阿里JVM调优手册,在简历上信心满满写上了“精通”JVM,成功在面试官面前装好了逼!
大家都是有经验的Java开发人员,想想为何要学习JVM?[面试?调优?装逼? ]不管出于何种原因,总之你得先学好。那怎么学好呢?Java技术的通用性、高效性、平台移植性和安全性使之成为网络计算的理想技术,从普通的PC到数据中心、从游戏控制台到科学超级计算机、从手机到互联网,Java技术无处不在。JVM正是支撑和实现这一切的秘密武器,它使得Java成为一个强大的、一致的、稳定的、广阔的运行平台。Java程序是如何运行的? Java虛拟机在其中扮演了怎样的角色? 如何让Java程序具有更高的并.原创 2020-11-30 17:43:28 · 395 阅读 · 0 评论 -
就这一次把Spring Cloud Bus消息总线彻底整明白
本片要点简要介绍总线的概念,以及分布式系统解决的问题。 介绍Docker安装RabbitMQ的基本命令。 SpringCloud Bus+ RabbitMQ实现全局动态刷新。Spring Cloud Bus简介https://spring.io/projects/spring-cloud-bus概述SpringCloud Bus是将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。目前支持RabbitMQ和Kafka。【本篇文章使用R原创 2020-11-30 14:06:34 · 750 阅读 · 0 评论 -
还不会JVM?今天来教你如何解决Outofmemory问题
内存泄漏介绍Java的一个核心优点是在内置垃圾收集器(简称GC)的帮助下实现了自动内存管理。GC隐式地负责分配和释放内存,因此能够处理大多数内存泄漏问题。虽然GC可以有效地处理大部分内存,但它不能保证为内存泄漏提供一个万无一失的解决方案。GC相当聪明,但并非完美无缺。即使在一个有责任心的开发人员的应用程序中,内存泄漏仍然会悄悄地发生。仍然可能存在这样的情况:应用程序生成大量多余的对象,从而耗尽关键的内存资源,有时会导致整个应用程序失败。内存泄漏是Java中的一个真正的问题。在本文中,我们将了原创 2020-11-30 14:04:58 · 549 阅读 · 0 评论 -
阿里面试官:解释一下内存泄露!我大意了,没有闪
Java.lang.OutOfMemoryError: Java heap spaceJava应用程序只允许使用有限的内存。此限制在应用程序启动期间指定。为了使事情更复杂,Java内存被分成两个不同的区域。这些区域称为永久生成区域(permgene和Permgen):这些区域的大小是在Java虚拟机(JVM)启动期间设置的,可以通过指定JVM参数-Xmx和-XX:MaxPermSize进行定制。如果未显式设置大小,则将使用特定于平台的默认值。这个java.lang.OutOf...原创 2020-11-30 14:03:40 · 342 阅读 · 0 评论 -
微服务概览与治理详解
基本上在产品的最开始阶段,为了快速构建产品,都是单体架构,尽快我们也会按照业务划分模块,但是这个样子始终最终部署的时候还是单体式应用。如我们早期可以使用Python 的Django快速迭代一个web应用,我们会在Django中划分不同的模块,也就是Django中的app。而随着业务的迭代发展,项目越来越复杂,可能就会导致应用的扩展,可靠性越来越低,最终导致敏捷开发和自动化部署变得无法完成。微服务定义关于SOA!! 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服原创 2020-11-30 14:01:55 · 434 阅读 · 0 评论 -
超赞!肝完这份阿里微服务高阶笔记,我构建出了自己的“微”服务
SpringCloud现今互联网,各种技术框架、组件得到了蓬勃发展,而微服务无疑是这场技术狂欢中最受关注的热门技术之一。而作为SpringCloud作为新一代的服务框架,为微服务架构提供了更加全面的技术支持。它将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。以上种种表明SpringCloud作为构建微服务的常用框架已经成为了程序员必须要会的技能。原创 2020-11-30 13:34:40 · 1424 阅读 · 7 评论 -
爱了!京东新产算法宝典在Github上爆火,成功激起了老夫的少女心!
导言算法是一门学问,但却总遭到一些程序员的冷落。现在的开发人员,更热衷于编程语言的修炼,以应付面试需求时的需要,所以对算法的学习,稍许忽略了些。实际上,近些年来,各互联网公司对于算法的要求也越来越高了,尤其是对于应届生来说,更为严格。算法的学习,可能很多人认为就是简单的“输入-运算-输出”,但实际上算法的学习需要我们修炼的是“内功”,其思想是最为重要的。那么算法学习该如何开始呢?枯燥的算法学习不可取,如今京东T7对算法学习有了个大创新,开创了“新算法宝典”,图文并茂,对算法讲解有了一个全新的演绎原创 2020-11-29 20:12:51 · 374 阅读 · 7 评论 -
阳光之下,并无新事!看了才知道Github星标57k的阿里SpringBoot经典之作的魅力所在!
前言当前我们都会说SpringBoot是Spring框架对“约定优先于配置理念的最佳实践的产物,一个典型的SpringBoot应用本质上其实就是一个基于Spring框架的应用,而如果大家对Spring框架已经了如指掌,那么,在我们一步步揭开SpringBoot微框架的面纱之后,大家就会发现“阳光之下,并无新事”。至于Spring Boot的一些用途、特色、支持的开发语言,以及它的学习前景,网络上有各种各样的博文对此有过解释,在这里我就不多说了,Springboot的重要性不言而喻。下面我们就通过一份原创 2020-11-28 16:29:38 · 538 阅读 · 0 评论 -
算法才是编程的灵魂!如果你面试的时候总是挂在算法,那么这份字节内部240道算法LeetCode刷题笔记一定能帮到你!
常言道「算法才是编程的灵魂」,不管是Java, python,还是PHP,都跨不过算法这个门槛。许多小伙伴看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论。例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。这些基础课程更可以称之为为“内功”,而新的语言、技术、标准则原创 2020-11-28 15:50:27 · 696 阅读 · 8 评论 -
双十二即将来袭!阿里内部高并发系统设计手册终开源,你那系统能抗住“秒杀”吗?
前言前段日子想必大家最关注的都是一年一度的双十一,现在双十一已经过去大半个月,大家的目光又会转向双十二。对于普通人来说关注的是成交量,而对于我们苦逼开发程序员来说关注的是自己团队搭建高并发系统能不能抗住“秒杀”活动的流量冲击!每一次的秒杀活动对技术团队来说都是一次考验。罗马不是一天建成的,系统的设计也是如此。不同量级的系统有不同的痛点,也就有不同的架构设计的侧重点。如果都像阿里百万、千万并发来设计系统,那么这些系统的命运定是灭亡。我们团队在系统设计这块一直就效仿着行业标杆“阿里”。虽然我们需要应对的原创 2020-11-28 13:37:56 · 2730 阅读 · 20 评论 -
Redis——同样是持久化,竟然有这么大的差别!
作为内存数据库,Redis 在数据存储与读取上的速度是毫不逊色的,这点毋庸置疑。但是对于内存来说,断电或遇到故障后数据就会丢失,这却是一个无法回避的问题。令人欣慰的是,基于这样的缺点,Redis 也提供了不同的持久化方案。各位看官请随小莱接着往下看:图注:思维导图RDB持久化对于 Redis 持久化来说,其实就是将存储在内存中的数据写入到磁盘里,只不过写入的方式是有一定策略的。那么我们先来看下第一种持久化,首先出场的是 RDB。1、什么是RDB持久化英文名称是 Redis..原创 2020-11-04 14:14:06 · 316 阅读 · 0 评论 -
涨薪神作!华为内部操作系统与网络协议笔记爆火,这也太香了吧
前言对于操作系统可能很多人会觉得:“我又不需要写一个Linux,写一个windows所以我就不需要学习”。这里需要注意的是我们学操作系统不是叫你写一个操作系统的,讲的是资源的调度和分配,以及大型软件的设计。稍微写过一些并行并行的程序,都能体会到这门课的重要性。它介于软件和硬件之间的一个部分,一般意义上认为其重要性介于软硬件之间,不会操作系统,不了解基本的计算机形成过程,玩计算机恐怕无异于痴人说梦,而我们程序员这一群体,做啥都离不开计算机,如果连操作系统都没有一点了解的话,在我看来是不算一个合格的程序员的原创 2020-11-04 12:23:59 · 5448 阅读 · 29 评论 -
SpringBoot外化配置源码解析:综合实战演示参数及配置
综合实战本章我们讲解了关于 Spring Boot 外化配置的原理及源码分析,本节我们通过一个具体的例子来简单演示在 Spring Boot 中如何使用不同类型的参数及配置。本节实例涉及的部分新知识点我们也会进行简单介绍和拓展。在本节实例中,我们会用到命令行传递参数、默认配置文件 application.properties 及基于profile 配置参数、@Value 注解获取参数、 基于类型安全的@ConfigurationProperties 注解关联 Bean 等功能。由于 Spring原创 2020-10-26 19:55:38 · 327 阅读 · 0 评论 -
让软件开发效率提升10倍的秘密!一般人我不告诉他
摘要:软件开发效率大幅提升一直是开发者追逐的梦想,如何实现梦想?低代码平台将如何展现魅力?软件开发向来复杂,而且随着业务变化加速,层出不穷的新技术出现,很多软件开发者一直深陷泥潭,处于奔命、996疯狂工作状态中。所以,软件开发效率大幅提升一直是开发者追逐的梦想,如何实现梦想?低代码平台将如何展现魅力?且看下文分解。为什么我们需要低代码开发?当前,数字化成为企业IT治理和新应用创新的破局之道,在这样的态势下,低代码开发平台正在成为热点与趋势。“低代码”顾名思义就是开发者写很少代码,通过.原创 2020-10-26 15:32:43 · 672 阅读 · 0 评论 -
就这一次把网路的几种IO模型以及Nginx基本原理彻底搞清楚
网络IO模型1.1 网络IO基本概念理解IO分别表示输入(input)和输出(output)。它描述的是计算机的数据流动的过程,因此IO第一大特征是有数据的流动;那么对于IO的整个过程大体上分为2个部分,第一个部分为IO的调用,第二个过程为IO的执行。IO的调用指的就是系统调用,IO的执行指的是在内核中相关数据的处理过程,这个过程是由操作系统完成的,与程序员无关。IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通过该进程,目前支持I/O多路复用的系统调用有 s...原创 2020-10-25 17:55:42 · 623 阅读 · 0 评论 -
就这一次,把优秀的程序员必须要知道的计算机底层知识与网络协议彻底搞清楚!
为什么要学习底层知识?不学习底层知识可能不会阻碍你成为一个称职的程序员,但也许会阻碍你成为一个优秀的程序员。了解底层的知识有助于解决问题,并且做出更好的设计。打个比方,就像庖丁解牛,他看到一个牛后,不止看到的是牛,而是由各个骨骼,经络,肌肉等模块组成的有机体——整个系统对你来说就是赤裸裸的,没有任何神秘的面纱。这样也许能够给程序员提供更多的安全感。但是如果你编程所依赖的平台需要你去了解更底层的知识才能够解决问题,那么,他可能没有做好他应尽的职责。我们每个程序员或许都有一个梦,那就是成为大牛,原创 2020-10-19 13:51:21 · 715 阅读 · 9 评论 -
全网最全!进阶架构师储备知识:OS+计算机底层知识+数据结构与算法+网络全都有!
前言据有关数据表明,目前Java程序员这个群体的数量不减反增,行业内的竞争也是越来越严重。在同一时间入行的人,经过一段时间的学习后,差距就会显示出来。其实出现这样的原因大多数都是因为学习的方向出了问题。大多数人学Java刚开始只是为了快速就业,但是在工作了之后却没有一个好的学习路线,那些其实很重要的东西只是因为工作上用不到从而忽略掉了,慢慢的才发现自己与别人之间已经存在很大差距了!今天这篇文章就与大家聊聊那些程序员必知必会的一些知识:计算机底层、数据结构与算法以及网络。小编(互联网雷锋)也是专门为原创 2020-10-17 14:18:57 · 754 阅读 · 16 评论 -
太牛了!百度开源超轻量中英文OCR模型大小只有8.6M!
光学字符识别(OCR)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。前几个月,猿妹曾和大家分享过一个热门的中文OCR项目———chineseocr_lite。这两天猿妹才知道,百度也开源了一款超轻量级中文OCR,总模型大小仅8.6M,只有chineseocr_lite,那真真是超轻量级别的神级OCR。PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,支持iOS和Andr原创 2020-08-07 16:44:25 · 1522 阅读 · 0 评论 -
如何准备一场技术面试
面试技巧其实,这上面两篇文章中,我已经介绍了一些关于面试的技巧,比如说,你要多关注常用组件的原理,多了解项目中的核心监控指标等等。但当你遇到一个心仪的职位的时候,仅仅做这些准备肯定是远远不够的。那么,对不同级别的候选人来说,面试官会分别关注什么呢?准备技术面试时,你需要重点准备哪些呢?在带你了解这些内容之前,我先给你分享一个我面试候选人的经历。案例分析这个候选人只有不到两年的工作经验,只负责开发和维护项目中一个很小的模块,在公司项目上没有得到太多的锻炼机会。但是,鉴于他的名校背景以及优异的成绩,原创 2020-08-04 14:53:02 · 459 阅读 · 0 评论