本文目录一览:
学习Java需要什么样的基础?
Java编程是一门技术,对于不同的人它的难度也是不一样的,但是,技术是有道理和规律可以遵循的,个人认为:比搞抽象的艺术要容易。
其实,Java编程的入门门槛还是比较低的,只要你知道世界上有电脑存在,会打字,高中及以上的学历都可以进入到这个行业里。
很多东西都是循序渐进的,要想取得成绩,就要去研究,没有几年的功夫是不会有所造诣的,不管是学Java编程还是学习其它。所以,只要Java编程有能吸引你的地方,你就去学吧~不用考虑太多,相信你的努力付出终归是有回报的。
那如何零基础学java ?下面就简单的给大家介绍 一些方法。
1. 要注重逻辑思维能力上的培养。java编程比较注重逻辑思维能力和数学建模的,如果你这两方面比较好,那么学习起java来会更快一点,当然不好也没有关系,只要自己坚持学习是可以学会java的。
2. 学习要有计划。你学习前先指定好详细的学习计划,什么时候该学什么,资料要提前准备好,按照计划脚踏实地的学习,如果在学习过程中再现找资料的话很容易挑花眼,从而浪费时间,甚至可能半途而废。
3. 平时多练习做项目。自己做项目,java如果只学基础知识可能4、5个月就能学完,但是java只学基础知识是不能找到好的工作的,因为现在企业都更注重求职者的动手能力。所以在学习java的过程中,你需要自己找些项目做,一个java开发类的项目需要做一周左右,中途你可能还会遇到各种各样的问题,时间就更长了。
所以,java入门不困难,也不需要啥特别的基础。如果是大学毕业,大学计算机专业里大多开设了java基础课程,或者学过一点编程,学起java来也会轻松不少。即使是零基础也不用担心,java可以零基础授课,入门比较简单,难的是学深入,这不是一件容易的事。学习java是一个循序渐进的过程,要想完全凭自学是很难精通这一技能的。需要付出较多的时间去学习和思考。
一个合格的Java开发工程师应该具备哪些技能?
.CoreJava,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细3.I/O,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深入下去就是JavaNIO,再深入下去是操作系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的4.JVM的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体,了解之后眼界会更宽阔,比如Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型、各种垃圾收集器以及选择、JVM的执行参数(优化JVM)等等,这些知识在《深入Java虚拟机》这本书中都有详尽的解释,或者去oracle网站上查看具体版本的JVM规范.5.一些常用的设计模式,比如单例、模板方法、代理、适配器等等,以及在CoreJava和一些Java框架里的具体场景的实现,这个可能需要慢慢积累,先了解有哪些使用场景,见得多了,自己就自然而然会去用。6.常用数据库(Oracle、MySQL等)、SQL语句以及一般的优化7.JavaWeb开发的框架,比如Spring、iBatis等框架,同样他们的原理才是最重要的,至少要知道他们的大致原理。8.其他一些有名的用的比较多的开源框架和包,Netty网络框架,Apachecommon的N多包,Google的Guava等等,也可以经常去Github上找一些代码看看
Java开发人员应当具备的哪些基本素质
1、积极,主动性:要主动的去学习,主动的去发现问题,跟进问题,其实很多技术类的问题都不是问题了。这个放在第一位的素质。
2、有风险提前抛出来:做项目肯定有风险,没有风险项目也就没有挑战了。需要每个开发同学能够主动的发现风险,并提出规避方案,如果没有规避方案,那提出来也行。
3、区分主次,合理规划:对于系统中的功能进行核心/非核心、主流程/非主流程、高优先级/低优先级的划分。优先完成出核心、主流程、高优先级的部分。避免铺地毯式的一步一步的逐步推进。
4、新的想法打算用在项目中的,自己提前搞demo验证过:有些同学,包括我自己,都会尝试一些新东西,例如新框架,新的工具等。但是有个前提,不要在项目开始或者进行中的时候才考虑用新东西试一下,项目一般都是有时间限制要求的。项目一般有预研阶段,这个时候,如果有新的想法,可以尝试做一些例子。为啥要这样呢?因为新东西有学习成本,这个倒是其次,有些新东西有坑在里面,因为这个世界没有银弹的方案。
5、主动承担没人负责的模块:有些模块的划分,可能没法划分到具体的人,因为可能是两个模块衔接的,这时候,如果时间允许,建议开发同学主动的承担一些没人负责的模块。例如两个模块的衔接、整体页面的安全方案考虑、单元测试的集成、持续集成等。
6、自己负责的部分完成之后帮助其他同事:项目内部人员的技术素质可能是参差不齐的,有些东西可能熟悉的人几个小时就能搞定,有的可能需要一天时间,这个时候,如果你熟悉一个模块,而另外一个同事不熟悉,你就可以帮助一下了。
7、代码注释充分:由于我们参与的大多是业务项目,有个特点就是复杂。这时候,就需要有充分的注释,当然是非常必要的环节才加。至于一看就能懂的,那就没有必要添加了。
8、代码自测充分,高质量的完成自己负责的模块:这个必须提一下,开发同学代码编写好了之后,需要提交给测试同学进行测试,有时候测试还分几轮。这时候,bug的情况体现了代码的质量,而质量的保证,除了经验和代码review之外,还需要自己完成一些自测的事情。尤其是主流程必须有,还有就是自己觉得一些边界的条件下。自测充分之后,后续bug就少,返工就少,讨论问题就少,省了很多时间的。
9、畅通的沟通氛围:项目中有各个角色,沟通必不可少,讨论过程中,注重沟通的方式,要做到对事不对人。
10、重构:写代码就像写文章,不是一蹴而就的。需要反复的修改和重构。当你发现代码重复、类结构不合理的时候,或者自我对代码感觉不太好的时候,就去重构。
11、编码前充分设计:编码前宁可多花时间进行方案的详细设计,千万不要一接到需求就进行编码。提前进行详细设计,会缩短编码的时间,也会降低bug的发生。
12、学会换位思考:一个项目是需要多方协作的,不同的人必然会有不同的想法,因为大家的知识积累以及经验积累肯定不一样,在大家想法不一致的时候,可以更多的是做个换位思考,先理解对方的观点,了解这个观点背后的原因,然后再来反观自己的想法,同时在互相理解的基础上,做事情的默契和结果也会有很大的提升;
•在协助中多一些换位思考,多站在对方的角度思考和理解问题,最后大家在协作中能够实现共赢;
•开发功能之前站在用户的角度去思考,假如你作为业务用户,你对这个功能会有什么样的需求。
13、责任心:这个放在最后,其实并不是说排名在最后,这个我认为也是很重要的,试想一个没有责任性的人写出来的代码,别人能信得过吗。写代码前要进行深度的思考。写完后要对自己的代码进行充分的测试。上线前需要反复确认自己的代码有没有问题
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/188798.html