首页编程java编程java程序员需要掌握的知识,java入门基础知识

java程序员需要掌握的知识,java入门基础知识

编程之家2026-05-221194次浏览

各位老铁们好,相信很多人对java程序员需要掌握的知识都不是特别的了解,因此呢,今天就来为大家分享下关于java程序员需要掌握的知识以及java入门基础知识的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

java程序员需要掌握的知识,java入门基础知识

JAVA程序员需要掌握什么知识

给你个参考吧。

作为一个合格的Java软件工程师必须具备的条件?

这个问题是我一直想知道的。但是它又分为很多个方面...

比如,是掌握具体的技术,

还是,拥有很强的自学能力?

现在的软件方面跟新和升级特别快,

java程序员需要掌握的知识,java入门基础知识

无论是什么知识,当你真正掌握它的时候,也许就已经被淘汰了。

所以这就要求我们不停的去学习...

所以自学能力很重要.

但是我觉得自控能力更重要...(悲哀...今天看了一天动画...)

我自认为是没有什么自控能力的人...

好了,再来说说技术方面。

java程序员需要掌握的知识,java入门基础知识

到底现在该掌握些什么具体的知识呢?

这里,我真羡慕.net程序员...

从头到尾就一个.net framework(.net框架),

这样就可以很集中精力去深入学习它,而且不用担心会被淘汰...

而Java这边,洽洽相反框架满天飞,而且各有所长...

这就难免让人需要经历选择性的痛苦...(虽然原理都差不多)

而且还要根据公司的不同而使用不同的组合...

这就产生了n种集成方案...(崩溃啊...)

所以要全部学会几乎不可能啊...

虽然是这样,但是有点挑战性才有意思嘛...呵呵...

那么一个合格的java软件工程师究竟需要掌握哪些具体的知识呢?

下面就我个人的角度来总结一下,如有不足,也请高手指出。

(ps:本人只列出普遍常用的知识)

首先当然是Java语言本身了。Java语言的创始人曾说过"Java=C++--"。

什么意思?就是Java语言是在C++的基础上减去一些不必要的东西,使其更为实用,更具有生产力。

Java语言的语法很简单并不像C++那样复杂.(本人曾经接触过C++...伤心的经历...)

很多较为复杂的数据结构Java都能简单实现,而C++较为麻烦。

其中很大的原因是因为Java是单根结构.

而且Java的垃圾回收机制也有很大的功劳.(.net的垃圾回收机制也是Java的灵感)

但是如果想深入底层了解Java还是需要费很大的功夫的...

比如,你要学会javap命令去反编译java文件然后再去看懂那些反编译后的结果...

这样你才能了解Java语言的原理。

很多情况下不同的代码,但是最后产生的字节码是相同的。

也有些情况,虽然代码只相差一点但是效率是天壤之别。

(例如JDK5新添加的StringBuilder和StringBuffer的区别)

这些在都可以反映在字节码里。

关于Java语言的问题不是本文的重点,我就不多说了。

总之学好Java这门语言是基础中的基础。

其次,说到Java语言就不能不说面向对象(OO)。

Java语言的产生也有很大的一部分是为了生成一个具有生产力的OO语言。

为什么这样说?

在早些年代OO的思想虽然被提出,但是那些纯粹的OO语言却没有丝毫的生产力。

(如出名的:smalltalk它是100%的OO)

而Java在保持高度的OO的前提下更注重生产力。

(ps:Java是98%的OO,其中8种基本数据类型,static关键字,运算符等,这些都不OO)

所以随着软件工程的庞大OO的思想很重要。

好了,到这里如果以上你有所了解,并掌握的一般。那么就可以继续往下学习:

如果你想掌握Java语言中更精髓的东西,那么我建议你可以做一些小的桌面应用程序。

其中,你会学习到另一些知识:

并发,IO,GUI,AWT,Event,Listener,Socket,Reflect等java更深层的东西。

(当然,有些只需了解,因为有些东西将来在做B/S结构的系统上是用不到的...

如果将来你想从事嵌入式开发,这些你就要多一点了解了。

很可惜,我还没有想过去做那个...

还记得当我第一次了解AWT里的Event和Listener的实现方式后,

我觉得JDK的设计人员真是厉害,设计的是那么的巧妙,第一次感觉代码是那么优美,

里面用到了各种设计模式,真是让人惊讶。

遭了,又在自我陶醉了...)

回到正题,关于Java语言的基础,我就先讲到这。

当我们掌握了Java之后呢?

真正的Java开发现在才是开始:

这时我们必须要接触另外一样东西,

没错,那就是数据库!

数据库的重要性就不用我在这里强调了吧?

无论你学习什么技术,数据库都是必备品。

作为Java程序员,我们不是DBA,我们没有必要掌握太多的数据库的管理知识。

我们只要知道如何连接数据库进行访问和CRUD操作,并对一些地方提高效率就可以了。

如创建索引和适当的使用存储过程即可。

首先,学习什么样的数据库呢?

没办法,多了解一点吧...毕竟每个公司用的都不一样...

目前的4大主流数据库是必须要学习的:

DB2(IBM号称世界上用的最广泛的数据库,不过近些年已被MySQL慢慢侵蚀掉了.但是很多的大公司在用,毕竟是IBM啊。)

SQLServer(当年凭借SQLServer2000获得很大成功,由于和Microsoft的产品兼容很好,所以很受欢迎。)

MySQL(真正的轻量级啊...而且是低端的主流开源数据库,使用量已经超越DB2。)

Oracle("甲骨文","神谕","圣贤","哲人"...光是对Oracle这个单词的翻译就可以看出它多么拥有实力。不过大的有点夸张...)

好了,如果你已经会简单的使用上面的数据库了,那么就继续往下吧:

既然要访问数据库,那就离不开JDBC!

JDBC相信大家都知道,它只是一组接口,然后由不同的数据库厂家去实现,

这样用JDBC访问数据库的时候方法其实都是一样的,这里我就不多说了。

另外JDBC是将来ORM的底层实现,学习好了它,对ORM框架的实现就更为清楚原理。

下面重点要说说SQL语句。

SQL有2套标准(82和99),我不太确定...记得不太清楚了...

现在的数据库基本这2种都支持。

但是问题来了,不同的数据库,又对其改变了一点...

这是最令人头痛的...

也就是说,4种数据库,你就要记住4种SQL的区别是什么,虽然大体差不多,但是还是要区分开来的。

而且不同的数据库,对SQL语句又有不同的优化。

也就是同样的SQL语句在不同的数据库上执行的效率不同。

所以SQL语句也是一门必修之路啊...

而且不要看似简单,其实要想写出一条高效率的SQL语句很难啊...

尤其是在复杂的多表联合查询中,这种效率问题一定要考虑。

另外,最烦人的莫过于数据库程序设计。

每种数据库有自己的语法。如SQLServer里的T-SQL,Oracle里的PLSQL等...

使用这些语言编写触发器,存储过程等...自我感觉是最头疼的...而且用的不多...

了解一下就好...

好了,当学习完数据库.我们就可学习web开发了.

所谓的web开发,就是基于浏览器/服务器(B/S)的开发。

那么既然是在浏览器上跑的程序那么就离不开HTML、CSS、JavaScript、DOM等网页技术。

所以下一步就是学习HTML,HTML应该是最简单的标记语言.很容易就能学会。

根据web2.0的标准,XHTML将是规范。

所谓的XHTML其实和HTML4.0的规范差不多,就是标签的要求更加严厉了。

学习HTML的同时还要一起学习CSS,这个东西说简单,也简单,说难也难。就看你个人了。

但是毕竟我们不是美工,只要了解就好了。(有时我就在界面上消耗了很多时间...郁闷...)

JavaScript我个人建议还是要稍微花点功夫研究一下的...

毕竟后面涉及到Ajax和用户体验等方面需要用到它...

它是一门客户端脚本语言,即:浏览器解释执行。

是一种弱类型语言,但是研究起来还是很深奥的...

至于DOM本人还没有花时间研究过,不敢轻易下结论.

当完基本的网页技术后,就可以进入正题,Java在internet上的应用就从这里开始:

前面学习了网页技术后,我们就可以做出简单的静态网站。(即:没有与数据库交互.)

静态网站由后缀名为.html或.htm结尾。

但是静态网站是毫无用处的,所以我们要开发动态网站。

最古老的技术就是CGI(通用网关接口).

它根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。(注意不是线程,是进程!)

当同时有很多请求时,程序挤占系统资源,造成效率低下。

目前流行的动态网页技术有:ASP、JSP、PHP、ASP.NET等...

这里我就不一一介绍他们了。关于他们的对比,网上比比皆是.

而今天的主角就是JSP!

JSP是什么?说白了就是在HTML里嵌入服务器端可执行的Java代码。

这里的Java代码和前面所说的Java代码是一样的。

这里要注意的是jsp最终会转换成servlet。

所以学好Jsp就要先学习servlet。

与applet对应,servlet顾名思义就是服务器端脚本。

这里是学习的重点。

其他的也没什么好讲的。

这里要掌握几个概念:servlet容器,IDE,taglib,DAO,MVC等...

servlet容器,就是解释执行servlet代码的地方。

IDE,前面我都没有提过,也就是因为前面的学习都很简单,并不需要IDE的支持。

而接下来的开发会比较复杂,文件数量的增多和管理会很麻烦,而且很多的API不可能都背下来。

所以这里就是使用IDE的时候了...至于用什么IDE本人觉得无所谓...

(我用的是最普遍的Eclipse,当然你也可以用NetBeans6.0以上版本.我觉得也很不错。)

taglib,这里用的比较少,以后学习框架用的比较多.

DAO,很重要。它的实现方式多种多样,值得研究。

MVC,很重要。但是重在理解,理解为什么要用MVC。

最后关于Http协议,Servlet容器里的线程池的实现等...

这些如果你有能力和时间就去看看...没有什么坏处...

学到这里,可能中间你会用到另一门技术XML!

作为java程序员来说,我觉的只要了解XML原理就可以了。

不可能还让你去写scherma或DTD的...

所以我们只要学习读写XML就可以了...(JDOM或DOM4J)

下面在来简单的说说ajax...

当你程序要求你在不刷新页面的情况下读取数据并显示,这是就是ajax的勇武之地.

如果你之前的javascript没有学的特别的牢固,也没什么关系,用框架吧。

所谓的ajax框架就是一个javascript的库。它简化并对javascript封装。

常见的ajax库有很多,这可以根据情况自己选择学习。

(dojo、prototype、jquery、dwr、ext等...)

等学习到了这里,你已经可以独立的开发一个简单的网站了。

但是,这里有很多的问题:

1.代码量大

2.开发时间长

3.系统扩展性差

4.虽然用MVC分层,但是JSP+Servlet+JDBC这种开发方式难以维护。(尤其是JSP里有大量代码,像ASP那样)

5.理论上不OO

6.效率低

7.安全性低

等等...

短短一时间我就能想到这么多的不足,证明这离企业级开发还有很大的差距.

那么正真的企业级应用是什么呢?

JavaEE的本质就是为了企业级开发...

可惜,至今还未能领悟JavaEE的核心思想...

但从技术角度,JavaEE拥有哪些技术呢?

貌似太多太多...EJB是JavaEE的核心思想...感觉有点类似.Net框架...即:一个框架包含所有功能.

可惜一直没时间学习过EJB...

所以我下面要讲的是如何针对上面的不足加以改进?

1.代码量大就造成"开发周期的延长"。而且自己写的代码有时会有漏洞,或效率上的问题。(如果你不是专家的话)

所以要解决这个问题就要引入"框架".

如果引入了框架,那么有些问题就可以迎刃而解。

1.代码量的减少。

2.开发周期的缩短。

3.效率提高一点。

4.安全性提搞了一点。

毕竟人家是顶尖的专业人士,写出来的代码肯定比自己写的健壮又高效。对吗?而且又可以减少代码量。

框架分很多种,就像上面的ajax框架一样,它也是一种框架。

下面就列出一些流行的框架:

MVC框架:Struts1.x,Struts2.x,JSF,webwork等...其中最令我期待的是struts2.

ORM框架:Hibernate3,Ibatis,jpa等...其中最令我期待的是JPA.

AOP框架:Spring2.5貌似现在只流行这个...AspectJ都没人提...

至于EJB里的,我不太了解...

但是至少上面的是主流.如果遇到非主流...也就算我倒霉...再学呗...

至于系统扩展性和维护性差是系统架构的设计问题.

这个问题不是我在这里一句两句就能表达清楚的。

(前些日子搞了个泛型DAO模式,都研究了很久)

UML和design pattern是需要经验的...

在学习这些框架的过程中会有很多意想不到的事情发生...

再深入学习就是webservice和分布式了...

感觉我还没有触及到那个层次...

还差的远呢...不过慢慢来吧...

今天说了那么多就是想知道做为一个java软件工程师.到底需要哪些技术?

我很需要自我反思...

可能我今天说的都只是皮毛,也有很多欠考虑的地方...希望朋友指出...

也可以给我意见...

也许我看问题不全面,或是有偏见,也欢迎指出。

Java程序员需要掌握的知识点

近年来我国信息化发展越来越快,使全国各地的信息化建设如火如荼,涌现出大量的信息化人才,特别是Java软件人才,我国信息化人才的培养仍处于发展阶段,社会需求量大。不同能力的程序员区别是非常大的,那么一名优秀的程序员需要掌握哪些知识点呢?下面北大青鸟回龙观计算机学院为大家具体介绍。

一、面向对象知识点

Java是一种面向对象的开发语言,因此有必要熟悉面向对象的Java学习,回龙观计算机培训学校认为应该了解:什么是对象,什么是类;什么是封装、多态,继承是什么,什么是一个抽象类,什么是接口。除了理解这些概念,你还需要了解,比如类和对象之间的区别是什么?类是如何包装?等相关知识。

二、Java语法知识点

当你有C++开发面向对象语言的经验,那么您只需要浏览相关Java的书籍。如果你是一个新手那你就需要花时间研究了,回龙观计算机学习建议准备一本Java相关书籍,认真学习初级教程。

三、开发工具

众所周知,开发工具可以帮助您更好、更快地开发,因此有必要熟悉几种开发工具。回龙观java培训认为目前的Java开发工具中JBuilder、IDEA、Eclipse、Dreamweaver等HTML开发工具更受欢迎。

JAVA程序员需要学习掌握哪些基础知识

想要成为一个合格的java程序员,必须需要牢固的基础,这样在未来接触新的知识的时候,才能快速吸收,基础不牢固的程序员,随时都会被新的知识和技术所淘汰,下盘不稳风一吹就倒,那么作为一个合格的java程序员应该具备哪些知识呢?今天就来和大家分享java高手之路上的必备基础知识:

1面向对象

JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的?

2JAVA语法

如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍JAVA的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本JAVA初级教程之类的书就可以了。

3JSP和HTML

做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好。

4WebServer

熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了,您也可以在您的页面里使用自己开发的JAVA类(JAVABEAN)了,但您的页面总要跑起来才能看到您要的效果,这就要求您必须熟悉一种WebServer,比如:TOMCAT,RESIN等。您要熟悉如何发布您的应用,如何利用WebServer的数据库资源等。

5开发工具

大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要。目前JAVA的开发工具比较流行的有JBuilder,IDEA,Eclipse,HTML的开发工具有Dreamweaver等。

6熟悉一种框架

熟悉一种框架其实是成为JAVA程序员的一种可选知识,但目前开发B/S结构的应用的开发小组,都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本。目前比较流行的框架有Struts和Spring等。

java程序员需要掌握的知识和java入门基础知识的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

html5教程网站(h5网页设计与制作)ai人工智能在线问答免费?百度的ai智能回答在哪里