• 关于

    java服务端成长

    的搜索结果

回答

转机器学习是不是更好? 其实,Java服务端开发也不错的,向架构师方面成长也不错了;
destiny2018 2020-03-17 19:44:06 0 浏览量 回答数 0

回答

为什么谷歌会支持 Kotlin? 2017 年 11 月,Android Studio 3.0 正式开放下载,此版本的 Android Studio 将 Kotlin 语言支持集成到 IDE 中,在此版本上,代码自动完成和语法突出显示都可以在此版本上平稳运行,今年 4 月推出的 Android Studio 3.1 为 Kotlin 代码提供了更好的 Lint 支持,并通过为 Android Emulator 添加 Quick Boot 功能加快了测试速度。 2018 年 2 月,Google 推出预览版本的 Android KTX,Android KTX 是一组扩展程序,它在 Android 框架和支持库上提供了一个良好的 API 层,使 Kotlin 代码更加简洁。 在 Google I/O 2018 上,Google 发布了 Android Jetpack,它是下一代的 Android 组件,它将支持库向后兼容和立即更新的优点融合到更多组件中,提高开发速率和质量,不仅如此,Android Jetpack 将全面兼容 Kotlin,而且它还能利用 Android KTX 使得 Kotlin 代码更加简洁。 这些都是 Google 逐渐向 Kotlin 靠拢的证据,虽然还不至于让 Kotlin 完全取代 Java,但不难看出 Google 的“偏心”。事实上,Kotlin 自己也非常争气:2017 年 11 月,在第一届 Kotlin 专题大会 KotlinConf 上,Kotlin 首席设计师 Andrey Breslav 宣布 Kotlin 将支持 iOS 开发和 Web 开发,这意味着 Kotlin 向全平台开发迈出了重要的一步。 Kotlin 目前正处于发展的初始阶段,还有很多成长的空间。Google 现在是把它当成 Android 黄昏时期的救命稻草,它能与 Java 100% 互通,但它存在的目的并不是为了取代 Java,只是为了让开发者有多种选择。虽说编程语言只是软件实现的一种工具,开发者无论选择哪种语言都没有绝对的对与错。 Kotlin 真比 Java 强? 相较于 Java,Kotlin 的确在一些方面有较大优势:效率高、易维护、可靠、简单易学。在一些特定场景下,许多 Java 开发者因为某些方面的问题选择了切换到 Kotlin:比如受够了 Java NullPointerException 的人都喜欢 Kotlin 的 Null 安全特性;扩展函数被大量使用;除了扩展 Java 类,人们也常常将 Java 代码迁移到 Kotlin。 Java 依旧是编程语言排行榜上的第一名。但 Java 是最好的语言么?不是,因为在每个领域都有更合适的编程语言。 那么,Java 语言到底有什么优势可以占据排行榜第一的位置呢? 其一,语法比较简单,学过计算机编程的开发者都能快速上手。 其二,在若干了领域都有很强的竞争力,比如服务端编程,高性能网络程序,企业软件事务处理,分布式计算,Android 移动终端应用开发等等。 最重要的一点是符合工程学的需求,成为企业软件公司的首选,也受到互联网公司的青睐。 综合而言,Java 语言全能方面是最好的。但同样可以看到,Android 社区拥抱 Kotlin 的速度越来越快,也许有一天,在 Android 世界里,我们会看到 Kotlin 对 Java 的超越。 Kotlin 是一门与 Swift 类似的静态类型 JVM 语言,由 JetBrains 设计开发并开源。与 Java 相比,Kotlin 的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与 Java 高度可互操作,可以同时用在一个项目中。 创建一种兼容 Java 的语言 编译速度至少同 Java 一样快 比 Java 更安全 比 Java 更简洁 比最成熟的竞争者 Scala 还简单
游客pklijor6gytpx 2020-01-06 09:44:55 0 浏览量 回答数 0

回答

Re怎么用javaweb上传文件到阿里云OSS 这个嘛,很简单啊,通过oss java sdk就能轻松解决啊。 你上传头像时,在后端代码中(struct,spring等),通过调用oss java sdk来把头像文件上传到oss。 浏览资料时,可以直接把头像在oss上的url通过html中的img标签展示到前端。如果你想对头像进行特殊处理,如裁剪成固定大小,打上水印logo,那么可以开通图片服务,这个官方文档中都有说明,开通很方便的。 oss java sdk使用起来也很方便的,都有现成的代码和sample,看看文档和sample就能搞定的。 至于SSH怎么用,这我就教不了你了,这个还得你自己学,你说是吧? PS:以后别老说自己是菜鸟,大神不也是由菜鸟一步一步成长起来的么?有啥不懂的问题,多看看文档啊,代码啊,或者google一下啊,都能解决的。碰上我这样的好人(闲人)会回复你,别人大神哪有空回答你这些问题啊
请叫我雷锋 2019-12-02 01:29:01 0 浏览量 回答数 0

云服务器 精选特惠

新用户低至0.55折起,爆款免费试用3个月

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 本次活动特邀百位阿里技术专家对Java常...
管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19

回答

21天Java打卡活动结业感想 Q1: 1、这次21天Java打卡活动中,你最大的收获是什么?说说你认为的《Alibaba Java技术图谱》在内容上的优缺点。 **A1:**通过本次21天打卡的活动,本人最大的收获,一是技术上的进步,二是重新拾起了当年在大学努力学编程的热血。技术上的进步在于,是学习到了Dubbo和K8S,本人有Netflix Spring Cloud的经验,所以远程服务调用一直热衷于http的方式,Dubbo的RPC方案从来没有进行过深入研究。最近本人所在公司也开始尝试使用K8S,但是苦于业务繁多,一直抽不出时间去系统地学习,这俩技术一直是本人短板所在,通过本次坚持打卡,从0开始学习这两个技术,使我个人的技术有了不少长进,技术视野也开阔了不少。拾起当年努力学习编程的热血在于,本次打卡,好像给我一种驱动力,每天都坚持,要知道工作以后,就很少像学生时期那样狠狠要求自己每天都进步一点点了。虽然课程中很多内容我在学生时期就已经学会,但是这些会的基础还是会过目一遍,虽然开始的时候很是不情愿,但有趣的是,通过几天的坚持,竟然拾回一些早就遗忘的技术细节,常年来的开发经验和书面上的基础知识竟然又重新摩擦起新的火花,这倒是我原来意想不到的收获。 Alibaba技术图谱的优点:把整个java工程师的职业发展生涯所需要使用到的技术做了很好的概览,从零基础应该学习的入门语法,面向对象的编程思想,到编程小白学习的开发单机简易版的java web,再到职场小白学习的各种主流框架技术,再到成为一名合格工程师 应该学习的分布式实战,容器编排的实战,最后到一名优秀工程师学习的JVM高级特性,各种技术的实现原理,性能调优等。帮助了每一位在成长路上的Java开发,省去了很多重新找资料学习的时间,这部分是真的很值得赞扬的。至于缺点嘛,倒也算不太上,就是还可以再全面一些,前面java基础感觉就有点照搬以前的java路线图了,咋看大纲咋这么熟悉,然后里面还有些是传智播客的老视频,画质高糊,哈哈,本人学生时期也是看传智播客和黑马的视频过来的,不由得感叹时间过得真快,其实这也挺好,技术学习资源共享嘛,省去重新找轮子的时间。至于JSP嘛,我本人是不太建议去学,除非真的公司业务需要维护这样的老旧系统。像用java搞全栈的话,模板引擎倒是个不错的选择,例如SpringBoot推荐的Thymeleaf,JSP很强不可否认,但是随着互联网发展至今,应用都比较庞大,前后端分离是普遍现象,JSP涉及的职责太多,强关联于java,不便设置样式 对后期的维护和应用的拓展很是不便,而逐渐没落,像Thymeleaf还是很有必要了解下的,模板引擎的设计思想也可以用到例如像CMS(内容管理系统),配置短信模板这些应用的设计上面。所以建议图谱能将Thymeleaf的内容补充上去,替换掉老旧的JSP教程。框架章节,主流的消息队列也只是Kafka和Rabbitmq,而阿里自己开源的Rocketmq的教程最好也能并入框架章节简单讲讲,充分发挥自己厂的优势嘛,虽然rocketmq时效性没rabbitmq好,但是Rocketmq吞吐量、可用性、使用方便性还是优于Rabbitmq的。另外像阿里系的Alibaba SpringCloud的教程、包括这段时间阿里云力推的Serverless也可以纳入图谱当中来。真的十分期待图谱能不断地完善下去。 **Q2:**结合你的生活或工作经历,谈谈你对Java技术的看法。以及作为一名开发爱好者,你认为Java相较于其他语言,是否具有它自己的优势?请围绕你的观点展开详述。 **A2:**我对java还是比较热爱的,它比较成熟,在python火起来之前,我一直认为它相较于其他语言来说都是比较容易入门的,我当初就是由于C学不懂,然后学java发现能看的明白,学到一定程度后,一个偶然的机会接着看回C,居然“曲线救国”,C也能逐渐理解了。尤其是它面向对象的思想,也能运用在我生活当中,遇到一些复杂的问题,我总是会优先想办法看能不能抽出事物的专有特征,然后设计一套通用的解决方案,无论是生活还是学习,这种思维对于我的个人提升起到很大的帮助。本人还接触过C#,Python,最终选择了Java作为我的职业方向,曾经我听过各种说辞,也会产生"java的优势到底是什么"这样的疑惑,例如GO语言天生支持高并发,C++做服务端处理速度更快,后面Python火了,好像各方面碾压Java,我也因为当初Scrapy框架做爬虫的火热,开始入坑了Python。但是对比一下,Java好像哪方面都不突出,但是它火了这么多年依然热度不减。其实我是工作中,参与团队开发的过程才发现,Java实际最主流应用于web开发,原因在于Java的生态强大,有前人帮把优秀的算法全都封装好了,并且不断持续地进行优化,我们不必再重新造轮子。我曾问过我搞C++或C的朋友,他们好多东西都要自己去实现,而Java基本都能找到开源的库开箱即用。而且SpringBoot问世后,配合Java庞大的生态,开发简直是无敌的存在,除了少部分需求,使用开源库不能满足,需要自己重新造轮子外,其余业务真的秒杀般完成。或者你会说Python有Django和Flask可与SpringBoot一战,确实Django开发甚至比Springboot更加快捷,代码量更少,但是工程化而言,Java还是更具优势。一个大型的Web项目,最重要的是团队协作,人际沟通成本也是非常巨大的。团队协作的过程中难免会需要理解队友写的代码,Java工程管理有Maven或者Gradle的,强类型的语言,而且没有提供过多的语法糖,最多也就stream用一用,lambda表达式用一用(C++早有了,jdk出到8才支持,吐槽下),虽然java是比较啰嗦,但我能很快理解队友的代码写了啥,团队有共同的认知,减少很多不必要的沟通成本,较大的Web工程还是Java合适。Django能干全栈,生态也能和SpringBoot有的一拼,但是python解释型的语言,效率自然是相较于编译型的语言慢了。还有一个重要的在于Django业务层和View层难免偶尔过重,过大的项目不便于解耦和维护。所以还是使用于较小的项目,至于上微服务的层面,现阶段Django还是有所欠缺的,SpringCloud则有了很完备的解决方案。综上,我认为Java现阶段最核心的优势在于大型Java Web的开发生态以及优秀的工程管理能力。 **Q3:**如果让你推荐一本书给Java 初学者,你会推荐哪本书? **A3:**如果是完全零基础的初学者,我想我会推荐《疯狂Java讲义》作为他第一本书。曾经也有师弟师妹,和同事找我推荐书,其实我更倾向于先了解他们当前的情况,再去给他们做推荐。本人接触过绝大部分的初学者,他们当中大多数人更适合看视频,但也有少部分人沉得下心照着书本或技术文档敲代码。本人刚开始学的时候基础并不算太好,找同学推荐书,然后去学校图书馆翻了一天的书,抱了一大摞回宿舍,最后发现《疯狂Java讲义》讲的比较通俗易懂,一个外行人都理解,本人当初就抱着这本书对着代码敲,学习起来也不算吃力。到了后面接触到很多业界更为优秀的书之后,再看《疯狂Java讲义》难免会有错漏,但它生动有趣,在当年成功激起我学习编程的兴趣。本人始终相信兴趣是第一老师,要是初学小白被业界公认的好书里面提到的晦涩难懂的专业术语折磨惨了,我想他学习这门课程的兴趣也不是很大,我有时候对于一些想要初学的朋友,都是推荐《疯狂Java讲义》,要是朋友嫌弃它的厚度,我则会建议他们花1个月的时间看完《21天Java入门到精通》这一类书,等看完我再给他们推荐别的,虽然这类书内容质量算不上优秀。作为初学者,能简单快速入个门,也未尝不可,等心中有了Java的大概,再去看优秀的书籍,什么阶段就学什么样的内容,循序渐进,定会消化得更快,理解的更加透彻。
会java的小胖纸 2021-03-10 10:19:55 0 浏览量 回答数 0

问题

随手科技拥抱OneAPM:打造高标准真实用户体验

近期OneAPM 与随手科技达成战略合作。OneAPM 通过探针技术帮助随手科技实现对产品整个系统的全面监控,并帮助开发人员快速解决移动应用的性能瓶颈。 据了解,随手科技是国内最大的个人理财应用服务提供商。旗下拥...
sunny夏筱 2019-12-01 21:42:04 7083 浏览量 回答数 4

问题

哪门编程语言工资最高?

一入编程深如海,对于初入编程行业的小鲜肉们,究竟什么语言才是王道呢?PHP究竟是不是最好的语言?Java是不是能够“一次编译,到处运行”,人生是苦短...
福利达人 2019-12-01 21:38:25 2125 浏览量 回答数 1

回答

最佳回答:如何要问学生机能干嘛?其实学生机就是学生云服务器,也就是说,它可以干云服务器能干的所有事情。 **云服务器的用途和作用 ** - 首先如果是境外的主机,可以用来搭建不存在的东西。教程网上很多很多,这里就不赘述了。 搭建个人静态或者动态网站:对于大部分境内的性能较弱的主机,比较多的一个最初目的是搭建个人博客。我主要是借助流行的建站系统 wordpress来搭建个人网站。学习Linux相关知识局域网内网穿透:配置ngrok或者frp,实现内网穿透,访问自己没有公网ip的机器。常用的服务有windows的远程桌面,本地搭建的Web服务调试,原本用于局域网的文件系统提供给公网访问(当然可以加密访问了)。着重提下内网穿透,如果家里有NAS或者树莓派的化,可以用这个内网穿透实现很多智能化、现代化的功能。程序爬虫。主要用Python来编写爬虫程序。服务端接口开发:写APP的服务端,给自用的APP提供网络服务。我用来同步课程表和课程任务。和上面差不多,为Chrome或火狐的插件或者油猴脚本提供服务,可以极大地提升电脑的使用体验。做个人网盘:如果云服务器的硬盘容量够大,可以做个人网盘。不过鉴于低配云服务器的硬盘容量,建议使用第4点提到的内网穿透连接家立的NAS或者不常关机的电脑。做备份。手机的云空间不够用?可以尝试下自己搭建。服务器里跑的任务比较多的时候,对外暴露的端口较多,可以试下捣鼓nginx。这是一个反向代理服务器,默认监听80端口。此后,可以将nginx收到的请求转发到其他主机或者本机的其他端口上。从而可以在安全策略上关闭其他端口,提高安全性。同样是nginx,为重要的服务器提供反向代理,从而保护被代理的服务器。比如自家搭建的404桥梁。想到再补充。详细的内容如果需要的人多再详细介绍。 如果你是大学生,就选阿里云学生服务器; 阿里云学生服务器,俗称:“学生机” 故名思意,就是阿里云针对学生群体施行的特殊优惠政策。如果不是学生身份购买同等配置的1核2g内存1m宽带40GB硬盘(不限制CPU性能的),官网需要五六百一年。然后阿里云针对学生群体的学生服务器,只需要114元1年,我见到很多像我一样的大学生,甚至高中生,都在业余时间搭建了自己的私人博客,有些流量还不错。我觉得,1年的学生云服务器使用时间让我对云服务器,建网站有了更深的了解。而且我还是计算机专业的,可以用来搭建web程序,用来编程,学生服务器真是我接触云知识的入门之选。性价比也很高,毕竟学生可没有什么钱。 1:域名+学生服务器+开源建站程序(例如WordPress)=自己拥有自己的个人博客或个人网站 2:域名+学生服务器+web程序(例如Java web系统)=自己的系统演示站 成长在于你去学习新知识,敢于接触你认为陌生的领域。下面是阿里云学生的官网地址 阿里云学生机1核2G1年114元【推荐选1年】----官网地址 阿里云最新优惠产品系列汇总----官网地址
夏梦枯荣 2020-05-18 17:54:35 0 浏览量 回答数 0

问题

[广州]广州维动91wan招聘开放日(9月17日,游戏开发各类人才)? 报错

[广州]广州维动91wan招聘开放日(9月17日,游戏开发各类人才)? 400 报错   国内知名网页游戏运营平台 专业网页游戏研发与运营商 ...
优选2 2020-06-04 18:05:42 4 浏览量 回答数 1

回答

前言 这期我想写很久了,但是因为时间的原因一直拖到了现在,我以为一两天就写完了,结果从构思到整理资料,再到写出来用了差不多一周的时间吧。 你们也知道丙丙一直都是创作鬼才来的,所以我肯定不会一本正经的写,我想了好几个切入点,最后决定用一个完整的电商系统作为切入点,带着大家看看,我们需要学些啥,我甚至还收集配套视频和资料,暖男石锤啊,这期是呕心沥血之作,不要白嫖了。 正文 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线。 Tip:请多欣赏一会,每个点看一下,看看什么地方是你接触过的,什么技术栈是你不太熟悉的,我觉得还算是比较全的,有什么建议也可以留言给我。 不知道大家都看了一下没,现在我们就要庖丁解牛了,我从上到下依次分析。 前端 你可能会会好奇,你不是讲后端学习路线嘛,为啥还有前端的部分,我只能告诉你,傻瓜,肤浅。 我们可不能闭门造车,谁告诉你后端就不学点前端了? 前端现在很多也了解后端的技术栈的,你想我们去一个网站,最先接触的,最先看到的是啥? 没错就是前端,在大学你要是找不到专门的前端同学,去做系统肯定也要自己顶一下前端的,那我觉得最基本的技术栈得熟悉和了解吧,丙丙现在也是偶尔会开发一下我们的管理系统主要是VUE和React。 在这里我列举了我目前觉得比较简单和我们后端可以了解的技术栈,都是比较基础的。 作为一名后端了解部分前端知识还是很有必要的,在以后开发的时候,公司有前端那能帮助你前后端联调更顺畅,如果没前端你自己也能顶一下简单的页面。 HTML、CSS、JS、Ajax我觉得是必须掌握的点,看着简单其实深究或者去操作的话还是有很多东西的,其他作为扩展有兴趣可以了解,反正入门简单,只是精通很难很难。 在这一层不光有这些还有Http协议和Servlet,request、response、cookie、session这些也会伴随你整个技术生涯,理解他们对后面的你肯定有不少好处。 Tip:我这里最后删除了JSP相关的技术,我个人觉得没必要学了,很多公司除了老项目之外,新项目都不会使用那些技术了。 前端在我看来比后端难,技术迭代比较快,知识好像也没特定的体系,所以面试大厂的前端很多朋友都说难,不是技术多难,而是知识多且复杂,找不到一个完整的体系,相比之下后端明朗很多,我后面就开始讲后端了。 网关层: 互联网发展到现在,涌现了很多互联网公司,技术更新迭代了很多个版本,从早期的单机时代,到现在超大规模的互联网时代,几亿人参与的春运,几千亿成交规模的双十一,无数互联网前辈的造就了现在互联网的辉煌。 微服务,分布式,负载均衡等我们经常提到的这些名词都是这些技术在场景背后支撑。 单机顶不住,我们就多找点服务器,但是怎么将流量均匀的打到这些服务器上呢? 负载均衡,LVS 我们机器都是IP访问的,那怎么通过我们申请的域名去请求到服务器呢? DNS 大家刷的抖音,B站,快手等等视频服务商,是怎么保证同时为全国的用户提供快速的体验? CDN 我们这么多系统和服务,还有这么多中间件的调度怎么去管理调度等等? zk 这么多的服务器,怎么对外统一访问呢,就可能需要知道反向代理的服务器。 Nginx 这一层做了反向负载、服务路由、服务治理、流量管理、安全隔离、服务容错等等都做了,大家公司的内外网隔离也是这一层做的。 我之前还接触过一些比较有意思的项目,所有对外的接口都是加密的,几十个服务会经过网关解密,找到真的路由再去请求。 这一层的知识点其实也不少,你往后面学会发现分布式事务,分布式锁,还有很多中间件都离不开zk这一层,我们继续往下看。 服务层: 这一层有点东西了,算是整个框架的核心,如果你跟我帅丙一样以后都是从事后端开发的话,我们基本上整个技术生涯,大部分时间都在跟这一层的技术栈打交道了,各种琳琅满目的中间件,计算机基础知识,Linux操作,算法数据结构,架构框架,研发工具等等。 我想在看这个文章的各位,计算机基础肯定都是学过的吧,如果大学的时候没好好学,我觉得还是有必要再看看的。 为什么我们网页能保证安全可靠的传输,你可能会了解到HTTP,TCP协议,什么三次握手,四次挥手。 还有进程、线程、协程,什么内存屏障,指令乱序,分支预测,CPU亲和性等等,在之后的编程生涯,如果你能掌握这些东西,会让你在遇到很多问题的时候瞬间get到点,而不是像个无头苍蝇一样乱撞(然而丙丙还做得不够)。 了解这些计算机知识后,你就需要接触编程语言了,大学的C语言基础会让你学什么语言入门都会快点,我选择了面向对象的JAVA,但是也不知道为啥现在还没对象。 JAVA的基础也一样重要,面向对象(包括类、对象、方法、继承、封装、抽象、 多态、消息解析等),常见API,数据结构,集合框架,设计模式(包括创建型、结构型、行为型),多线程和并发,I/O流,Stream,网络编程你都需要了解。 代码会写了,你就要开始学习一些能帮助你把系统变得更加规范的框架,SSM可以会让你的开发更加便捷,结构层次更加分明。 写代码的时候你会发现你大学用的Eclipse在公司看不到了,你跟大家一样去用了IDEA,第一天这是什么玩意,一周后,真香,但是这玩意收费有点贵,那免费的VSCode真的就是不错的选择了。 代码写的时候你会接触代码的仓库管理工具maven、Gradle,提交代码的时候会去写项目版本管理工具Git。 代码提交之后,发布之后你会发现很多东西需要自己去服务器亲自排查,那Linux的知识点就可以在里面灵活运用了,查看进程,查看文件,各种Vim操作等等。 系统的优化很多地方没优化的空间了,你可能会尝试从算法,或者优化数据结构去优化,你看到了HashMap的源码,想去了解红黑树,然后在算法网上看到了二叉树搜索树和各种常见的算法问题,刷多了,你也能总结出精华所在,什么贪心,分治,动态规划等。 这么多个服务,你发现HTTP请求已经开始有点不满足你的需求了,你想开发更便捷,像访问本地服务一样访问远程服务,所以我们去了解了Dubbo,Spring cloud。 了解Dubbo的过程中,你发现了RPC的精华所在,所以你去接触到了高性能的NIO框架,Netty。 代码写好了,服务也能通信了,但是你发现你的代码链路好长,都耦合在一起了,所以你接触了消息队列,这种异步的处理方式,真香。 他还可以帮你在突发流量的时候用队列做缓冲,但是你发现分布式的情况,事务就不好管理了,你就了解到了分布式事务,什么两段式,三段式,TCC,XA,阿里云的全局事务服务GTS等等。 分布式事务的时候你会想去了解RocketMQ,因为他自带了分布式事务的解决方案,大数据的场景你又看到了Kafka。 我上面提到过zk,像Dubbo、Kafka等中间件都是用它做注册中心的,所以很多技术栈最后都组成了一个知识体系,你先了解了体系中的每一员,你才能把它们联系起来。 服务的交互都从进程内通信变成了远程通信,所以性能必然会受到一些影响。 此外由于很多不确定性的因素,例如网络拥塞、Server 端服务器宕机、挖掘机铲断机房光纤等等,需要许多额外的功能和措施才能保证微服务流畅稳定的工作。 **Spring Cloud **中就有 Hystrix 熔断器、Ribbon客户端负载均衡器、Eureka注册中心等等都是用来解决这些问题的微服务组件。 你感觉学习得差不多了,你发现各大论坛博客出现了一些前沿技术,比如容器化,你可能就会去了解容器化的知识,像**Docker,Kubernetes(K8s)**等。 微服务之所以能够快速发展,很重要的一个原因就是:容器化技术的发展和容器管理系统的成熟。 这一层的东西呢其实远远不止这些的,我不过多赘述,写多了像个劝退师一样,但是大家也不用慌,大部分的技术都是慢慢接触了,工作中慢慢去了解,去深入的。 好啦我们继续沿着图往下看,那再往下是啥呢? 数据层: 数据库可能是整个系统中最值钱的部分了,在我码文字的前一天,刚好发生了微盟程序员删库跑路的操作,删库跑路其实是我们在网上最常用的笑话,没想到还是照进了现实。 这里也提一点点吧,36小时的故障,其实在互联网公司应该是个笑话了吧,权限控制没做好类似rm -rf 、fdisk、drop等等这样的高危命令是可以实时拦截掉的,备份,全量备份,增量备份,延迟备份,异地容灾全部都考虑一下应该也不至于这样,一家上市公司还是有点点不应该。 数据库基本的事务隔离级别,索引,SQL,主被同步,读写分离等都可能是你学的时候要了解到的。 上面我们提到了安全,不要把鸡蛋放一个篮子的道理大家应该都知道,那分库的意义就很明显了,然后你会发现时间久了表的数据大了,就会想到去接触分表,什么TDDL、Sharding-JDBC、DRDS这些插件都会接触到。 你发现流量大的时候,或者热点数据打到数据库还是有点顶不住,压力太大了,那非关系型数据库就进场了,Redis当然是首选,但是MongoDB、memcache也有各自的应用场景。 Redis使用后,真香,真快,但是你会开始担心最开始提到的安全问题,这玩意快是因为在内存中操作,那断点了数据丢了怎么办?你就开始阅读官方文档,了解RDB,AOF这些持久化机制,线上用的时候还会遇到缓存雪崩击穿、穿透等等问题。 单机不满足你就用了,他的集群模式,用了集群可能也担心集群的健康状态,所以就得去了解哨兵,他的主从同步,时间久了Key多了,就得了解内存淘汰机制…… 他的大容量存储有问题,你可能需要去了解Pika…. 其实远远没完,每个的点我都点到为止,但是其实要深究每个点都要学很久,我们接着往下看。 实时/离线/大数据 等你把几种关系型非关系型数据库的知识点,整理清楚后,你会发现数据还是大啊,而且数据的场景越来越多多样化了,那大数据的各种中间件你就得了解了。 你会发现很多场景,不需要实时的数据,比如你查你的支付宝去年的,上个月的账单,这些都是不会变化的数据,没必要实时,那你可能会接触像ODPS这样的中间件去做数据的离线分析。 然后你可能会接触Hadoop系列相关的东西,比如于Hadoop(HDFS)的一个数据仓库工具Hive,是建立在 Hadoop 文件系统之上的分布式面向列的数据库HBase 。 写多的场景,适合做一些简单查询,用他们又有点大材小用,那Cassandra就再合适不过了。 离线的数据分析没办法满足一些实时的常见,类似风控,那Flink你也得略知一二,他的窗口思想还是很有意思。 数据接触完了,计算引擎Spark你是不是也不能放过…… 搜索引擎: 传统关系型数据库和NoSQL非关系型数据都没办法解决一些问题,比如我们在百度,淘宝搜索东西的时候,往往都是几个关键字在一起一起搜索东西的,在数据库除非把几次的结果做交集,不然很难去实现。 那全文检索引擎就诞生了,解决了搜索的问题,你得思考怎么把数据库的东西实时同步到ES中去,那你可能会思考到logstash去定时跑脚本同步,又或者去接触伪装成一台MySQL从服务的Canal,他会去订阅MySQL主服务的binlog,然后自己解析了去操作Es中的数据。 这些都搞定了,那可视化的后台查询又怎么解决呢?Kibana,他他是一个可视化的平台,甚至对Es集群的健康管理都做了可视化,很多公司的日志查询系统都是用它做的。 学习路线 看了这么久你是不是发现,帅丙只是一直在介绍每个层级的技术栈,并没说到具体的一个路线,那是因为我想让大家先有个认知或者说是扫盲吧,我一样用脑图的方式汇总一下吧,如果图片被平台二压了。 资料/学习网站 Tip:本来这一栏有很多我准备的资料的,但是都是外链,或者不合适的分享方式,博客的运营小姐姐提醒了我,所以大家去公众号回复【路线】好了。 絮叨 如果你想去一家不错的公司,但是目前的硬实力又不到,我觉得还是有必要去努力一下的,技术能力的高低能决定你走多远,平台的高低,能决定你的高度。 如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。 丙丙发现在工作中发现我身边的人真的就是实力越强的越努力,最高级的自律,享受孤独(周末的歪哥)。 总结 我提到的技术栈你想全部了解,我觉得初步了解可能几个月就够了,这里的了解仅限于你知道它,知道他是干嘛的,知道怎么去使用它,并不是说深入了解他的底层原理,了解他的常见问题,熟悉问题的解决方案等等。 你想做到后者,基本上只能靠时间上的日积月累,或者不断的去尝试积累经验,也没什么速成的东西,欲速则不达大家也是知道的。 技术这条路,说实话很枯燥,很辛苦,但是待遇也会高于其他一些基础岗位。 所实话我大学学这个就是为了兴趣,我从小对电子,对计算机都比较热爱,但是现在打磨得,现在就是为了钱吧,是不是很现实?若家境殷实,谁愿颠沛流离。 但是至少丙丙因为做软件,改变了家庭的窘境,自己日子也向小康一步步迈过去。 说做程序员改变了我和我家人的一生可能夸张了,但是我总有一种下班辈子会因为我选择走这条路而改变的错觉。 我是敖丙,一个在互联网苟且偷生的工具人。 创作不易,本期硬核,不想被白嫖,各位的「三连」就是丙丙创作的最大动力,我们下次见! 本文 GitHub https://github.com/JavaFamily 已经收录,有大厂面试完整考点,欢迎Star。 该回答来自:敖丙
剑曼红尘 2020-03-06 11:35:37 0 浏览量 回答数 0

问题

阿里云服务器好用吗?怎么用?可以用来做什么?

前言         本人使用阿里云服务器已经快一年半了,感觉使用 阿里云服务器 之后,自己的知识面更加开阔了。自己是搞移动客户端开发的,开发过Android,iOS以及小程序。工...
聚优云惠 2019-12-01 21:55:53 1405 浏览量 回答数 1

问题

软件测试的新趋势

2015年11月,ThoughtWorks发布了新一期的技术雷达。技术雷达是以独特的形式记录ThoughtWorks技术顾问委员会对行业产生重大影响的技术趋势讨论的结果,为从CIO到开发人员在内的各方利益相关 者...
技术小菜鸟 2019-12-01 21:47:02 6244 浏览量 回答数 1

问题

【Android学习全家桶】155道Android热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动:或许你挑灯夜战只为一道难题或许你百思不解只求一个答案或许你绞尽脑汁只因一种未知那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了他们用户自己手中的技术来帮助用户成长本次活动特邀百位阿里技术专家对android常见问题...
管理贝贝 2019-12-01 20:07:24 2181 浏览量 回答数 2

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动:或许你挑灯夜战只为一道难题或许你百思不解只求一个答案或许你绞尽脑汁只因一种未知那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了他们用户自己手中的技术来帮助用户成长本次活动特邀百位阿里技术专家对javascript常...
管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化