- 浏览: 267471 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
1260533105:
uncaught invalidstateerror:Fail ...
WebSocket -
sh747665463:
压力好大啊
【转】如果你不知道接下去学什么,就看这个
有时候我会不知所措,又想研究算法,又怕算法弄多了,java这块又疏忽了,而且有点儿不知道java该怎么走下去。这个是我在百度知道里看到的,真的很好。贴出来和大家共勉。
1.你需要精通面向对象分析与设计(OOA/OOD)、设计模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking,
multithreading,reflection,event,handling,NIO,localization,以及其他)。
3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
4.如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT,
SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
5.你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO,
CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。
6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如:oracle,mysql,mssqlserver。
7.你需要学习JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,codesigning,
digitalsignatures,cryptography,certification,Kerberos,以及其他)还有不同的安全/认证
API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE
(JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS
(JavaGeneralSecurityService)。
8.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
9.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。
10.你需要学习如何使用及管理WEB服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护WEB程序。
11.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
12.你需要掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA,当然也包括javaEE本身。
13.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
14.你应该学习如何利用JAVAAPI和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ
(SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),
JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。
15.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
16.你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS
(JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX
(JavaManagementeXtensions),以及JavaMail。
17.你需要学习企业级JavaBeans(EJB)以及它们的不同组件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean-
ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者
Message-DrivenBeans(MDB)。
18.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
19.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行。例如AspectJ和AspectWerkz。
20.你需要熟悉对不同有用的API和frame work等来为你服务。例如Log4J(logging/tracing),Quartz
(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching),
Lucene(full-textsearch),JakartaCommons等等。
21.如果你将要对接或者正和旧的系统或者本地平台,你需要学习JNI
(JavaNativeInterface) and JCA (JavaConnectorArchitecture)。
22.你需要熟悉JINI技术以及与它相关的分布式系统,比如掌握CROBA。
23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。
24.你应该熟练掌握一种JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)
25.JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。
26.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。
27.你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。
28.你需要能够深入了解加熟练操作和配置不同的操作系统,比如GNU/linux,sunsolaris,macOS等,做为跨平台软件的开发者。
29.你还需要紧跟java发展的步伐,比如现在可以深入的学习javaME,以及各种java新规范,技术的运用,如新起的web富客户端技术。
30.你必需要对opensource有所了解,因为至少java的很多技术直接是靠开源来驱动发展的,如java3D技术。
发表评论
-
jvm回顾
2018-11-29 09:10 0一、运行时数据区域 1、程序计数器(program co ... -
转一篇泛型介绍不错的文章
2018-08-02 19:10 644泛型,一个孤独的守门者。 大家可能会有疑问,我为什么叫做泛 ... -
jstat
2018-02-04 11:36 435jps(Java Virtual Machine Proce ... -
转:ant 入门
2017-12-09 17:58 6881)什么是Ant ant是构建工具 2)什么是构 ... -
廉颇老矣?n年没写ant,发现生疏了,这不是我想要的
2017-12-09 11:37 623毕业10年,差不多6年没有碰ant了,昨天解决一个siga ... -
jdk 9 hellomodules
2017-10-03 20:45 4751、准备 lib mods src/cn.gbase ... -
转:Java 9,OSGi以及模块化的未来
2017-10-03 19:19 0ava 9,OSGi以及模块化的 ... -
转:Java 9,OSGi以及模块化的未来
2017-10-03 19:12 0<div class="iteye-blog- ... -
转:Java 8 中的 Streams API 详解
2017-10-02 21:39 435Java 8 中的 Streams API 详 ... -
转:装饰模式
2017-01-01 10:46 501一个有意思的装饰模式样例。 Java与模式:装饰(D ... -
转:Java中多态性的实现
2016-08-25 11:10 536Java中多态性的实现 什么是多态 面向对象的三大 ... -
深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
2016-01-22 14:35 2662作者:Lucida 微博:@peng_gong 豆瓣 ... -
转:permGen space out of memory
2013-11-21 12:53 1021PermGen space的全称是Permanent Gen ... -
trove high performance collections for java
2013-06-02 10:31 721trove high performance collec ... -
kettle Could not find the main class. Program will exit err
2013-06-01 15:44 0I am new in KETTLE. I am tryi ... -
jvm参数集合
2013-05-26 15:42 689一、内存分配 -xms java heap初始化时的大小 ... -
jvm优化配置
2013-05-26 15:16 923server 和 client两种模 ... -
http 错误代码
2013-04-25 09:00 678HTTP 400 – 请求无效HTTP 401.1 – 未授 ... -
JDBC 规范4.1 翻译 (一)
2012-12-28 14:41 23从今天开始希望每天抽出来一点时间把JDBC规范4. ... -
jconsole配置远程监控
2012-11-29 16:59 1643java -Djava.rmi.server. ...
相关推荐
《中班数学接下去是几PPT课件》正是这样一个专为中班年龄段设计的专业教学资源。本课件通过一系列精心策划的教学活动,旨在帮助孩子们在快乐中掌握基本的数学概念,特别是数字序列和数的连续性。 数学不仅是一门...
知道了自己的方向,知道了为什么要学,那么我们接下来谈一谈,怎么安排自己的时间,或者说,怎么制定一个计划。要有一个大一点的计划,比如年计划,月计划,周计划。然后是精确到小时的日计划。每一天,哪个时间段做...
### Java学习路线与Android学习路线详解 #### 一、Java学习路线概述 Java作为一种广泛使用的编程语言,在软件开发领域有着举足轻重的地位。对于初学者来说,掌握正确的学习...希望每位学习者都能坚持下去,不断进步!
【Java自学之路】对于初学者来说,学习Java编程语言是一个挑战,但也是一个充满机遇的过程。...记住,选择一个方向并坚持下去,即使市场趋势变化,具备扎实的基础和灵活的思维,你总能找到属于自己的位置。
对于c语言接口网上的资料是少之又少,所以下面这些文字全是我一个字一个字打印上来的希望大家 能对的起我的付出: 现在的程序员都面临大量的关于应用... 如果你还没有搞懂c语言的全部内容,我强烈建议你先别看这里
幼儿园小班数学《认识序数-接下去是第几》PPT课件_精美学习课件ppt
并且服务器端是被动的,只能接收请求,然后向请求的原发地发送响应,如果没有请求,服务器没办法凭空发一个响应出去,因为它不知道客户的机器在什么地方。浏览器和服务器之间也不会拉一根电话线,随时保证畅通,每次...
如果您的诉求只是期末拿到高分,那么您不需要继续看下去了。但是,如果您想真正地学习模拟电路,那么您需要问自己一个问题:我学模拟电路可以做什么?很多年以后,我终于搞清楚我为什么老是觉得没有学好模拟电路了。...
学着去这样仔细的分析程序的环节和这些环节可能会产生的问题,你的经验值定然会大幅度快速的提升,这样做很累人,但是一件事情如果做下来一点都不累的话,这个东西还有价值吗? 在网页A输入了一个人的名字,提交...
这个模块提供了对MongoDB的抽象,使得在Spring应用中操作MongoDB就像操作关系数据库一样简单。你可以通过定义Repository接口,利用Spring Data的自动实现功能来执行CRUD操作。此外,还需要配置MongoDB连接信息,包括...
如果继续下去,可能会导致某些学科的落后,全面发展受到影响。李明应尝试调整心态,寻找适应不同教学风格的方法,全面发展各科知识。 8. 达标测试: - 对小刚的劝导应侧重于引导他找出问题原因,提高学习效率,...
2. 选择了就坚持下去,不要盲目跟风,跟着自己的兴趣走 3. 找到一个专业的圈子,累计自己的见识,不要只在基础知识上死磕 4. 学会多给别人解答问题,因为他遇到的也许在某一天你也会遇到,培养解决问题的能力,这...
这一过程可能会让你感到疲惫,但坚持下去,你会逐渐建立起强大的记忆力,对Java的基本用法如数家珍。 第三境:“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”。随着学习的深入,你需要泛读更多Java相关技术...
记得是8.8号看到这个源码,心态炸裂,500行代码,20多个函数,心生恐惧连看都看不下去,更别说写了,甚至觉得自己不适合学编程,c入门级别的项目都写不出来,(之后偶然看到雷总演讲说的跳读法,不懂就跳过先学其他的,知识不是...
Java编程语言是面向对象的、跨平台的编程语言,它以其强大的功能和易用性而深受程序员喜爱。"Java学习的500个实例"是一个全面的教程集合,旨在...这个过程可能会充满挑战,但坚持下去,你将在编程的世界中游刃有余。
如果你稍稍加快速度,你会比前面更用力地推动你身边的人,但是最终每个人都会停留在与缓慢的情况下相同的位置。 在实际应用中,对于准静态分析,实际的道理也是相同的。分析的速度经常可以提高许多而不会严重地降低...
"Python学习再学习.zip"这个压缩包很可能包含了丰富的Python学习资源,可能是教程文档、代码示例或者是教学视频,用于帮助初学者和有经验的开发者深化对Python的理解。 Python的核心特性包括动态类型、自动内存管理...
因此,如果你对算法感兴趣,特别是想提升在网络协议方面的编程能力,这个“PreContest”压缩包将是一个很好的学习资源。它可能会包含一些实战题目,帮助你深入理解和应用TCP/IP协议,提升在ACM竞赛中的竞争力。
要的是,Linux 上有公认的 C 语言世界最好的编译器 gcc,如果你想得到一个效率更高的开 发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下 Linux。 三.如何得到Linux? 据我所知...
在当今社会,学习已不仅仅是在学校或者特定场所中进行的活动,它已经渗透到我们生活的方方面面。为了适应快速变化的社会和工作环境,我们必须掌握高效的学习方法,培养良好的学习习惯。良好的学习习惯是学习过程中的...