一个高级Java程序员必须学习哪些技术

一个高级Java程序员必须学习哪些技术,第1张

1、Java语言的基础掌握

这部分内容包括Java的面向对象开发的特征,JVM的结构以及Java

Web开发的体系结构等内容。这部分内容虽然都比较基础,但是细节却比较多,包括Java性能优化、Java并发开发、Java *** 作数据库、Java

Web开发标准、Java网络开发、Java序列化等一系列内容。

2、Java分布式开发

对于Java语言来说,分布式开发是Java一个重要的内容,由于Java一个很重要的应用场景就是大型网络平台的后端开发,而后端开纯郑发一个重要的基础就是构建一个健壮的分布式开发框架。Java的分布式开发比较考验程序员解决问题的能力,从早期的RMI、SOAP到目前采用的分布式框架(dubbo、zookeeper)以及Spring

Boot和Spring Cloud的使用,这些技术的运用是Java高级程序员必须掌握的。

3、场景解决方案

对于一名Java高级程序员来说,在不同的场景下要有不同的方案,这也是非常重要的巧唤。要能够根据具体的需求完成不同技术方案的实现过程,做宽颂这是Java高级程序员经验的一个直接体现。

程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员,等等察祥。今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西。 \x0d\x0a\x0d\x0a也许有些朋友会说,我知道Asp、Jsp,会做网站、会做bbs,这应该叫Web程序员了吧。确实,我承认,这些技术是一名Web程序员应该具备的;但是,你如果仅懂得这些,却只能叫做Asp程序员、Jsp程序员,而不是真正意义上的Web程序员。现在的世界是属于Internet的,大部分的应用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那样的网站,其访问量之大、败困搏应用之复杂,需要什么样的技术才可以支撑,难道仅仅是硬件的功劳么。 \x0d\x0a\x0d\x0a我想在Windows平台下来谈谈Web程序员应该掌握的技术 \x0d\x0a\x0d\x0a1. 首先,就是上面提到的各种脚本,asp、jsp、php等等,这些东西大同小异,基本可以举一反三。 \x0d\x0a\x0d\x0a2. 数据库, \x0d\x0a\x0d\x0a相信做Web的人肯定用过,像Access、Sql Server、Oracle。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来 *** 作,如果这样,就算会用100种数据库又有什么用呢? \x0d\x0a\x0d\x0a你应该考虑用户量、访问速度、内存消耗,这些东西和你的sql密切相关,我经常见到很多分页程序根本不去考虑数据库中有多少条数据,统统select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。 \x0d\x0a\x0d\x0a另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事务,连接池如何实现,这些都是商务应用的关键。譬如,目前很多的应用服务,像weblogic、MTS,都包含事务处理,可以说好的事务处理决定了他们的竞争力。 \x0d\x0a\x0d\x0a3. 组件技术 \x0d\x0a\x0d\x0a我想是现在的Web应用推动了组件技术的发展。以前,从老式的静态库、动态库(dll),到现在的COM/DCOM,再到正在兴起中的Web Service;从单机调用,到基于内部网的分布式调用,到现在基于Internet的分布式计算。现在的应用都是基于组件的n层结构,最明显的就是COM和JavaBean。 \x0d\x0a\x0d\x0a这些东西体现了软件架构的发展,以前是基于单机的应用,然后是C/S结构,到现在的B/S结构。我记得李维曾经说过,程序员一定要注意软件技术的发展趋势,只有这样,才不至于被淹没在技术的洪流中尺燃。我想,作为Web程序员,一定要明白COM的原理,如何实现这种调用、如何进行分布式调用。说实话,我觉得COM还是比较复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C++,因为VC中提供的ATL库可以很明显的说明COM的内部运行机制。 \x0d\x0a\x0d\x0a4. 网络技术 \x0d\x0a\x0d\x0a这可以说是Web程序员最应该懂得东西。起码,应该知道Web服务器的机制,要明白Http协议。就拿IIS来说,要懂得web应用程序运行的进程安全和IIS的关系,懂得ISApi的作用。 \x0d\x0a\x0d\x0a如果有时间,就看看TCP/IP,看看winsock,这些都是底层的网络的东西。 \x0d\x0a\x0d\x0a我所说的这些都是基于微软技术下的东西,其他的像Java方面的东西都可以对照参考,就不多说了,这也是我这几年来的一些心得。总之,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。说实话,像我们做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开,这也是没有办法的事情。

作为高级程序员必须具备以下条件:

(1)必须一个或二个 *** 作系岁岩统如:Windows的知识;

(2)熟悉 *** 作系统课程体系、汇编语言课程体系和微机原理课程体系三个基础内容;

(3)必须熟悉一种或二种编程语言;

(4)必须熟练掌握网络编程技术、数据结构、数据库技术

(5)尽量要认识像QQ:105510061这样的单片机高手

(6)熟练掌握如异步串口、USB的原理和使用;

(7)有丰富的屏幕编程经验;

(8)要有敢于研乎吵御究碰轮、探讨问题的勇气,正确评估系统的能力

(9)这些你可能不全明白,不要怕请教老程序员QQ:105510061


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12359460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存