Java攻城狮必须掌握哪些内容?必须学习哪些知识?学到什么程度

Android攻城狮是怎样炼成的?_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Android攻城狮是怎样炼成的?
中国最大的IT技能学习平台。慕课网提供了丰...|
总评分0.0|
&&Android攻城狮学习计划~
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢从业多年的Java攻城狮给新手的学习路线和市场分析 - 简书
从业多年的Java攻城狮给新手的学习路线和市场分析
Java如今的市场不如从前,竞争很大,工资非常高,标准非常高,想要胜任一份高薪的工作不是那么容易,只有掌握最新的行情才能更好的了解Java。Java市场行情如下:行情一:当下和五年前的区别,在五年前我们这个行业不仅仅缺人才,连新手都缺,那个时候公司愿意招聘实习生,培养他们然后给公司干活,但是工资一定不会给开的很高,所以这些人全部跳槽了,成本太大,到了今天转行做Java的非常多,新手爆满,而公司招聘一个有开发经验的人还是非常的难,所以行情一告诉你不要还像五年前一样,指望速成培训四个月还会有很多公司要你,现在公司都是要直接能干活,真正掌握技术的人,所以还想通过四个月速成的打消念头吧。行情二:必须而且一定要有的系统学习规划学习课程,一天学习新知识不要超过三个小时,这不属于科学的学习方法,人在接受新东西要需要一段适应的时间,所以你每天学习什么,看什么视频,做什么练习,需要什么案例,这是你学习Java必须做的基本功,没有规划的学习Java就是在浪费时间,这个系统学习总时间大概是半年的时间。行情三:学习Java没有初中语文数学那么简单,这是一个非常复杂的事情,它需要强大的解决问题的能力和思维能力,Java是具有创造性,所有的东西都需要你去编写,你去创造,所以在学习Java的过程中必须有一个指点你的人,这个人只要可以让你少走弯路,因为你不是天才,很多东西你怎么都是弄不明白的。加一些有质量的裙,找人帮你解决下初级问题,少走弯路。行情四:如果在学习期间没有十万行的代码量,请你安心的放弃Java不用去找工作了,学习Java都是用量积累起来的,这十万行代码包括你的废代码,如果你指望看一套视频就去胜任Java工作,那你不仅仅浪费时间,而且跟傻子一样,啥都不懂。无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人就说JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了。我也是无语,一般说饱和的人,基本是学的不咋地,找不到工作的,怨天尤人说饱和了,类似于吃不到葡萄说葡萄酸。纵观中国目前整体行业来说,互联网IT行业 成为了拔尖的行业,机械行业有点夕阳西下的意思,电子行业被国企所垄断,没有关系很难混起来。如果说没有背景,单凭自己能力的话,在如今这个需要钱的社会,IT互联网程序开发成了靠自己能力可以多挣一点钱,所以各个行业都在转行,其实互联网不存在饱和,只不过大多数人不符合企业标准,水平不够,新手太多。就目前拉勾网程序员专门找工作的网站,一个具有一年开发经验的JAVA大概薪资是10K起,在北京和上海,深圳,杭州,基本都是这个价格,我个人认为,JAVA语言至今在中国还是这么火热的原因在于中国IT互联网的格局,它适应中国的市场,我们说,任何东西,只有迎合了市场,他才可能生存下去,为什么.net在中国一直都不行,他不迎合中国的市场。如今想做JAVA开发的人应该要具备哪些修养去学习:第一: 在如今这个JAVA的市场下,你如果太过于着急找工作而去学习,你一定找不到,有一个很简单的道理,任何东西求快没有用,首先你要会,学的成了半吊子,看点视频就去找工作,没人接收。第二: 如果没有一套系统的学习路线和方案,这看看,那里看看,依旧学了之后还是浪费时间,根据我的学习经历来看,任何人学习任何东西,需要一气呵成,在这段时间内,学习什么就一刻都不能松懈,今天看点视频,明天有事,不看了,这样没啥意义。第三: 在如今这个IT市场,不建议任何人去线下培训四个月,就目前来看四个月的时间培训出来的新手,大多数都很难找工作,而且依赖老师和环境很严重,在塑造工作经验这块不太成功,导致四个月培训后,会逐渐的忘记之前学的东西,形成脱节的情况。 如果你在学习中没有很多的代码量的话,不多去做案例的话,我个人觉得学了跟没学一样,第二次你见到它可能还是不认识它。最好是有个问的人,一个外行想通过自学JAVA开发区找工作,太难了,尤其是在这个行情中。下面我聊一下JAVA学习的基本内容和路线:第一: 首先建议大家从HTML+CSS 静态布局还开始,有人说我是做后端的,前端的事情不用管,这本身就是一个误区,如今HTML5这么强大,你不会本身就不会有什么竞争力。第二: JavaScript和jQuery的学习,不用说JavaScript无论在前端还是后端中都是占比非常大的,很多人学不懂也是情理之中,这个跟思维有关系,适当了解一下数据结构有利于学习JavaScript和javase。第三: 最重要的JAVASE,想必大家都清楚,JAVASE就是JAVA的基础部分,上过学的人都知道,任何一个试卷80%都是基础,没有太难的东西,JAVASE就是JAVA的基础,根据我这么多年学习java的经验来看,如果一个人学不好JAVASE,那JAVA基本就是白学,后面的框架基本就是听天书。第四: 数据库,不用了说了,最常见的那三个数据库,增删改查,多去练习SQL语句吧,复杂的连接表示有难度的。第五: JSP和servlet 就目前来看 有些公司现在不用JSP,因为他的加载速度有点慢。不过还是现在学着吧,毕竟在JAVA体系中也是非常重要的。第六: 框架,struts2,hibernate4,mybatis3,spring4,spring mvc,这些东西都要掌握,但是整个JAVA体现想要理解的还算可以确实有些难度,自己的话,基本没啥可能了。做JAVA也有多年了,如今看转行的人越来越多,给你大家提点建议。这是我的java学习交流群【】,里面基本大多都是已经工作的了,认可我说的朋友可以加下,任何问题都可以问我。
学习交流群:想学习的朋友加入
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
你了解it行业吗?不了解之前不要随便尝试(浪费时间)新手最好不要跟同等层次的人交流行业趋势 2、
什么是互联网公司选择互联网不亏互联网公司多为个人企业互联网软件公司 盈利为主为什么现在互联网公司都要有工作经验的实习的岗位正在不断消失 3、
什么是技术技术 等于 ...
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了。 我特别感谢当初贴吧遇见的那位大神...
1、请使用PORT模型制作您的月度电话回访方案。 目的:圆满完成月度电话回访,建立良好的家校沟通方式 目标:学生学习进步,家长满意,提升续班率。 结果:完成回访率100%,获得家长对学校的信心与信任 任务:1.每天完成5-10名学生家长的电话回访,争取一周内完成全部学员。 ...
大概每个人都会忘记事情,对于不在意的事情忘记的频率会更高。 大概每个人都会觉得愧对孩子,特别是在教育方面。 忘记带孩子去上课。 睡了一天,忘记带孩子去上课 不能原谅。
今天上午听樊登读书会讲一本《你能写出好故事》的书,建议写作的朋友们每天写2000字,时代的发展必将以内容输出为王。练习这一个技能对我来说是个不大不小的志向,2000字是个什么概念呢,参考李翔商业内参15日内容《最好礼物是一个真诚的建议》2871字,翻了翻近十天的内容,发现这...
手上几个事情同时做,有点忙不过来的感觉,但是好充实!继续努力!加油瞎扯淡系列(80)
这个问题来自于QQ网友,一句两句说不清楚,索性写个文章。
我刚开始做Web开发的时候,根本没有前端,后端之说。
原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器。
即使后来Javascript在浏览器中添加了一些AJAX的效果,那也是锦上添花,绝对不敢造次。因为页面的HTML主要还是用所谓“套模板”的方式生成:美工生成HTML模板,程序员用JSP,Veloctiy,FreeMaker等技术把动态的内容添加上去,仅此而已。
那个时候最流行的图是这个样子:
在最初的J2EE体系中,这个表示层可不仅仅是浏览器中运行的页面,还包括Java写的桌面端,只是Java在桌面端太不争气, 没有发展起来。
每个程序员都是所谓“全栈”工程师,不仅要搞定HTML, JavaScript, CSS,还要实现业务逻辑,编写访问数据库的代码。等到部署的时候,就把所有的代码打成一个WAR包,往Tomcat指定的目录一扔,测试一下没问题,收工回家!
不差钱的公司会把程序部署到Weblogic,Websphere这样的应用服务器中,还会用上高大上的EJB。
虽然看起来生活“简单”又“惬意”,但实际上也需要实现那些多变的、不讲逻辑的业务需求,苦逼的本质并没有改变。
1. 前后端的分离
随着大家对浏览器页面的视觉和交互要求越来越高,“套模板”的方式渐渐无法满足要求,这个所谓的表示层慢慢地迁移到浏览器当中去了,一大批像Angular, ReactJS之类的框架崛起,前后端分离了!
后端的工程师只负责提供接口和数据,专注于业务逻辑的实现,前端取到数据后在浏览器中展示,各司其职。
像Java这样的语言很适合去实现复杂的业务逻辑,尤其是一些MIS系统,行业软件如税务、电力、烟草、金融,通信等等。
所以剥离表示层,只做后端挺合适的。
但是如果仅仅是实现业务逻辑,那后端也不会需要这么多技术了,搞定SSH/SSM就行了。
2. 后端技术
互联网,尤其是移动互联网开始兴起以后,海量的用户呼啸而来,一个单机部署的小小War包肯定是撑不住了,必须得做分布式。
原来的单个Tomcat得变成Tomcat的集群,前边弄个Web服务器做请求的负载均衡,不仅如此,还得考虑状态问题,session的一致性。
业务越来越复杂,我们不得不把某些业务放到一个机器(或集群)上,把另外一部分业务放到另外一个机器(或集群)上,虽然系统的计算能力,处理能力大大增强,但是这些系统之间的通信就变成了头疼的问题,消息队列(MQ),RPC框架(如Dubbo)应运而生,为了提高通信效率,各种序列化的工具(如Protobuf)也争先空后地问世。
单个数据库也撑不住了,那就做数据库的读写分离,如果还不行,就做分库和分表,把原有的数据库垂直地切一切,或者水平地切一切, 但不管怎么切,都会让应用程序的访问非常麻烦,因为数据要跨库做Join/排序,还需要事务,为了解决这个问题,又有各种各样“数据访问中间件”的工具和产品诞生。
为了最大程度地提高性能,缓存肯定少不了,可以在本机做缓存(如Ehcache),也可以做分布式缓存(如Redis),如何搞数据分片,数据迁移,失效转移,这又是一个超级大的主题了。
互联网用户喜欢上传图片和文件,还得搞一个分布式的文件系统(如FastDFS),要求高可用,高可靠。
数据量大了,搜索的需求就自然而然地浮出水面,你得弄一个支持全文索引的搜索引擎(如Elasticsearch ,Solr)出来。
林子大了,什么鸟都有,必须得考虑安全,数据的加密/解密,签名、证书,防止SQL注入,XSS/CSRF等各种攻击。
3. “大后端”
前面提到了这么多的系统,还都是分布式的,每次上线,运维的同学说:把这么多系统协调好,把老子都累死了。
得把持续集成做好,能自动化地部署,自动化测试(其实前端也是如此),后来出现了一个革命化的技术docker, 能够让开发、测试、生成环境保持一致,系统原来只是在环境(如Ngnix, JVM,Tomcat,MySQL等)上部署代码,现在把代码和环境一并打包, 运维的工作一下子就简化了。
公司自己购买服务器比较贵,维护也很麻烦,又难于弹性地增长,那就搞点虚拟的服务器吧,硬盘、内存都可以动态扩展(反正是虚拟的), 访问量大的时候多用点,没啥访问量了就释放一点,按需分配,很方便,这就是云计算的一个场景。
随着时间的推移,各个公司和系统收集的数据越来越多,都堆成一座大山了,难道就放在那里白白地浪费硬盘空间吗?
有人就惊奇地发现,咦,我们利用这些数据搞点事情啊, 比如把数据好好分析一下,预测一下这个用户的购买/阅读/浏览习惯,给他推荐一点东西嘛。
可是这么多数据,用传统的方式计算好几天甚至好几个月才能出个结果,到时候黄花菜都凉了,所以也得利用分布式的技术,想办法把计算分到各个计算机去,然后再把计算结果收回来, 时势造英雄,Hadoop及其生态系统就应运而生了。
之前听说过一个大前端的概念,把移动端和网页端都归结为“前端”,我这里造个词“大后端”,把那些用户直接接触不到的、发生在服务器端的都归结进来。
4. 怎么学?
现在无论是前端还是后端,技术领域多如牛毛,都严重地细分了,所以我认为真正的全栈工程师根本不存在,因为一个人精力有限,不可能搞定这么多技术领域,太难了。
培训机构所说的“全栈”,我认为就是前后端还在拉拉扯扯,藕断丝连,没有彻底分离的时候的“全栈”工程师。
那么问题来了, 后端这么多东西,我该怎么学?
之前写过一篇文章叫做《》,说了学习的广度和深度,在这里也是相通的。
往深度挖掘,可以成为某个技术领域的专家,如搜索方面的专家、安全方面的专家,分布式文件的专家等等,不管是哪个领域,重点都不是学会使用某个工具和框架, 而是保证你可以自己的知识和技术去搞定这个领域的顶尖问题。
往广度发展,各个技术领域都要了解,对于某种需求,能够选取合适的软件和技术架构来实现它,把需求转化成合适的技术组件,让这些组件以合适的方式连接、部署、运行,这也需要持续地学习和不断的经验积累。
最后,以一张漫画来结束吧!
文章:13篇
阅读:7109
阅读:44827被浏览881分享邀请回答0添加评论分享收藏感谢收起

我要回帖

 

随机推荐