导航:首页 > 源码编译 > 反编译reflect优化

反编译reflect优化

发布时间:2025-01-09 10:48:54

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软件工程师.到底需要哪些技术?
我很需要自我反思...
可能我今天说的都只是皮毛,也有很多欠考虑的地方...希望朋友指出...
也可以给我意见...
也许我看问题不全面,或是有偏见,也欢迎指出。

Ⅱ .net软件,用什么软件加密狗加密,能防止代码反编译

.Net软件的特点,一些强大的编译工具可以对.Net可执行文件进行反编译操作,并得出相应的IL代码甚至是源代码。即使是采用混淆工具以及强命名工具也不能从根本上解决问题,代码依然会很容易地被Reflectoer等工具反编译源代码。 软件加密狗:威步(WIBU)的CodeMeter,AxProtector(for.net)两款软件加密狗性能非常不错 反编译的问题,与传统的代码混淆工具(Obfuscator)不同,AxProtector可以完全阻止对.NET 程序集(由 C#, VB.NET, Delphi.NET, ASP.Net… 等语言编写)的反编译。通俗的讲,AxProtector在破解者和您的 .NET 代码之间构建了强大的防破解保护屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件。原始的 .NET 代码完整的被加密后封装在本地代码内,无论何时都不会释放到硬盘,对于破解者是不可见的。 与单纯的.net加密软件不同,AxProtector与CodeMeter硬件加密狗配套餐使用,采用了更为严密的密钥管理,及最先进的AES、RSA、ECC等加密算法存储或传输密钥,保证通讯安全。 .Net代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的.class 文件可以非常轻易地被反编译。一般软件开发商会采用一种叫做混淆器的工具。混淆器的作用是对编译好的代码进行混淆,使得其无法被反编译或者反编译后的代码混乱难懂。由于混淆器只是混淆了方法名称或流程,而不能防止源代码被反编译,因此混淆器的作用只是增加了反编译的难度,最终的结果也是治标不治本。对于一些掌握工具的人来说几乎还是透明的。AxProtector是一款真正意义的加密源代码、防止反编译的.net软件加密软件。 AxProtector加密了.net原代码,任何时候原代码都不可能被还原到硬盘当中。采用AxProtector加密后的.net代码只有在程序调用或执行某一段函数的时候,才能通过AxProtectorClass在内存中解密后返回到程序中执行,运行之后迅速立即加密。这种随机加密、按需解密原代码的功能,能很好的防止.Net程序的反编译,同时能够很好地防止API加密点被摘除。有效地保证了源代码的执行效率和安全性。

Ⅲ Java入门如何学习怎么学好Java开发

Java如今已经是全球编程语言排名第一的语言,运用广泛,前景广阔,而且很多软件的开发都离不开Java,而在以Java为核心的开发领域中,JavaEE程序员的需求量10年来一直居于首位!也正是因为如此很多的小伙伴参加Java培训,当然也有部分小伙伴想要先了解一下,Java到底是什么,怎么可以学好,有个大概的认知才参加Java培训或者Java学习,那么Java入门如何学习?怎么学好Java开发?学习要点是什么?掌握以下内容让Java入门更快,掌握Java更轻松。

一、Java入门如何学习?怎么学好Java开发?Java必备基础知识

1、你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。

2、你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking,multithreading,reflection以及其他)。

3、你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。

4、你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO,CocoBase,TopLink,InsideLiberator或者iBatis。

5、你应该熟练掌握一种JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)

6、JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet等等。

二、Java入门如何学习?怎么学好Java开发?Java学习5大阶段

阶段1:Java设计和编程思想掌握的技能:

精通面向对象思想和Java基础语法;熟练Java异常处理;精通JavaI/O操作;掌握Java多线程操作;精通Jjava集合类的使用;掌握Java网络编程;精通数据库/JDBC的使用。

阶段2:Web前端开发掌握的技能:

掌握html+css+js相关技术;通过H5相关的库快速编写代码;搭建符合大数据要求的界面,使前端+后端+大数据实现三维一体。

阶段3:JavaEE进阶掌握的技能:

掌握Tomcat/Nginx服务器搭建;掌握Jsp&Servlet的使用;精通SSH、SSM两大流行框架的原理及使用。

阶段4:大数据核心知识掌握的技能:

了解hadoop机制原理;了解hadoop集群搭建过程;了解HdfsAPI使用以及mr编程模型;了解hive、hbase、sqoop、flume等组件的使用方法。

阶段5:综合项目掌握的技能:

大型网上商城项目、当日达项目、点餐系统、网上书城、OA办公自动化项目、CRM客户关系管理项目等企业真实综合项目开发能力,达到中高级Java工程师的技术水平。

Java入门如何学习?怎么学好Java开发?这是一个从易到难再到易的过程,需要一步一个脚印去学习,严格意义上说,java是一门较复杂的编程语言,不下苦功,是不可能学到非常好的层次。

同样,学习java为了最快的提升效率和保证你能够学会,还是需要找一家正规专业的培训机构,接受系统化的学习和掌握java实战项目,才能从入门到精通,更快成为一名合格的java工程师。

学Java当然要到17年技术积累的昆明北大青鸟教育,引领行业的技术,一线技术专家,15万家就业合作企业。技术,求职,高薪,你的所有问题都能一站式解决!

2月份Java免费训练营火热报名中,经典Java免费课程限额送,一线技术大牛,为你解析行业前景,就业形势,面试真经,让你一站式成为Java大牛工程师,名额有限,填写下面的表格即可获得试听资格!

Ⅳ .net软件加密,加密狗用哪家公司的最好,防盗版能力最强

.net加密狗可试试德国的威步,威步(WIBU)信息系统的软件世高简加密狗,还能申请免费试用版。
加密狗防盗版,开发人员从此不必担心如何保护他们的知识产权,可以将更多精力放在产品功能的开发上。
.Net软件的特点,防盗版已越来越困难,一些强大的编译工具可以对.Net可执行文件进行搜裤反编译操作,并得出相应的IL代码甚至是源代码。即使是采用混淆工具以及强命名工具也不能从根本上解念棚决问题,代码依然会很容易地被Reflectoer等工具反编译源代码。
加密狗:威步(WIBU)的CodeMeter,AxProtector(for.net)两款加密狗性能
反编译的问题,与传统的代码混淆工具(Obfuscator)不同,AxProtector可以完全阻止对.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等语言编写)的反编译。通俗的讲,AxProtector在破解者和您的
.NET
代码之间构建了强大的防破解保护屏障,生成一个基于
Windows
的而不是基于
MSIL
的兼容格式文件。原始的
.NET
代码完整的被加密后封装在本地代码内,无论何时都不会释放到硬盘,对于破解者是不可见的。

Ⅳ .net软件,用什么软件加密狗加密,能防止代码反编译

.Net软件
特点,
些强
编译工具
.Net
执行文件进行反编译操作,并
相应
IL代码甚至
源代码
即使
采用混淆工具
及强命名工具

根本
解决问题,代码依
容易
Reflectoer等工具反编译源代码
软件加密狗:威步(WIBU)
CodeMeter,AxProtector(for.net)两款软件加密狗性能非

反编译
问题,与传统
代码混淆工具(Obfuscator)
同,AxProtector
完全阻止
.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等语言编写)
反编译
通俗
讲,AxProtector
破解者

.NET
代码
间构建

防破解保护屏障,
基于
Windows
基于
MSIL
兼容格式文件
原始
.NET
代码完整
加密
封装

代码内,
论何

释放
硬盘,
于破解者

与单纯
.net加密软件
同,AxProtector与CodeMeter硬件加密狗配套餐使用,采用

严密
密钥管理,及
先进
AES、RSA、ECC等加密算
存储或传输密钥,保证通讯安全
.Net代码编译
.class
包含
源代码

信息(
包括注释),尤其

保存
调试信息


按照
式编译
.class
文件

轻易
反编译
般软件
发商
采用
种叫做混淆器
工具
混淆器
作用
编译
代码进行混淆,使

反编译或者反编译
代码混乱难懂
由于混淆器
混淆
名称或流程,
能防止源代码
反编译,
混淆器
作用
增加
反编译
难度,


治标
治本

些掌握工具
说几乎
透明
AxProtector
款真
意义
加密源代码、防止反编译
.net软件加密软件
AxProtector加密
.net原代码,任何
候原代码都


硬盘
采用AxProtector加密
.net代码
程序调用或执行某
段函数
候,才能通
AxProtectorClass
内存
解密

程序
执行,运行
迅速立即加密
种随机加密、按需解密原代码
功能,能
防止.Net程序
反编译,同
能够
防止API加密点
摘除

保证
源代码
执行效率
安全性

Ⅵ 推荐几本javaEE的书籍,经典的。不要李刚的(虽然讲的好,但是繁琐,基础东西太多了)。结合了三大框架的

[Spring.2.0核心技术和最佳实践。廖学锋扫描版。
容易的Hibernate“PDF清晰版。PDF
精通struts的基于MVC的设计与开发PDF
[Struts.2权威指南 - 基于MVC开发的WebWork的核心。钢。Java.web扫描版PDF

Java方面的内部电驴学习知识


递归集合J2SE面向对象 - 封装,继承,多态
内存分析,通用,自动装箱和拆箱,注释
IO
多线程,线程同步
TCP / UDP
AWT,事件模型,匿名类
反射机制

SQL语句
多表联接的数据库(Oracle或MySQL)的正则表达式,内部和外部连接,子查询
管理表,视图,索引,序列,约束树的存储
存储过程,触发器
数据库设计三大范式,
3:JDBC
JDBC基本/>连接池
树的存储和显示
数据源的RowSet
JDBC连接Oracle和MySQL
:HTML_CSS_JAVASCRIPT
HTML,CSS,JavaScript的基本语法
> JavaScript的形成判断
DOM编程基础(事件处理程序)

JS效果,如TreeView,下拉联动JS学习方法
JS调试方法
DreamWeaver的初步(创建HTML,表格,表单,CSS)
5:Servlet的基础JSP
Tomcat的
servlet的基础的
web.xml中的配置基本
Web应用程序结构
servlet的生命周期
请求的响应常用的方法
的ServletContext类
HTTP协议基础(GET,POST)
饼干会话

应用程序
几个语法(JSP,包括JSTL)注意练习的项目,而不是坚持的语法和包装步骤的细节之前。
6:Struts的
多层体系结构的理论
模式1和模式2
Struts的
MVC

操作的业务逻辑类的基本概念之间的关系
Struts和JSP之间传递数据的
的Struts的治疗过程(流量控制)
的Struts的TagLib(了解常用的)
JSTL
中的ActionForm
>字段集合
上传文件的类型转换

DTO
动力作用形成的
验证框架
的ActionForward转发和重定向
动态生成的ActionForward
全局和局部的ActionForward
行动的推进范围
UnknownActionMapping
行动线程安全
I18N
如何切换语言环境的
Struts的异常处理机制处理
用户自定义的异常处理程序
Struts的多模块配置7:XML
(XML / XSL,XSLT / DTD的,SCHEMA基本的Java编程的概念可以自动处理暂且不说)
8:休眠 OR映射
Hibernate的基本发展原则,步骤
休眠
基本接口(重点届)
常见的属性的映射关系映射
原生SQL
懒级联反
继承关系映射
HQL
性能优化缓存二级缓存查询缓存
事务并发悲观锁定,乐观锁定
OpenSessionInView
CurrentSession
(至于JTA,的联合主键的自然主键动态主键的任何类型Creteria查询截击和事件自定义类型,等等。 ,你可以暂时扔到一边)
9:春季
IOC / DI
Spring配置
春季建筑
AOP和Spring AOP
声明式事务(AOP )
Spring + Hibernate的春天的Web
范围
(其他的Spring模块,你可以暂时扔到一边自学)
10:EJB3.0
J2EE架构基金会(JTA JMS)
EJB基础(地位及基本理论,分类等)
注释
Ant的编译和部署EJB
会话Bean的
EJB依赖注入
持久性API
(JBoss的学习EJB3.0)
11:SOA

30个进球
你需要精通面向对象分析与设计(OOA / OOD),涉及模式(GOF,J2EEDP),以及综合模式。你应该充分了解UML,尤其是类,对象,互动,和statediagrams。<BR / 2,你需要学习JAVA语言以及它的核心类库集合,序列化,流,网络,多线程,反射,事件处理,NIO,定制系统的本地化,以及其他的基本知识。
3类加载器,JVM,classreflect,以及垃圾回收的基本工作机制,您应该是知道的,你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
如果你要写一个客户端程序,你需要学习WEB的小应用程序(applet),必需掌握GUI设计的思想和方法的,和桌面应用程序的SWING,AWT,SWT,你也明白的UI部件的JAVABEAN组件模式中。JAVABEANS适用于业务逻辑的分离表示层JSP。
5。需要学习java数据库技术,如JDBCAPI,会使用至少一种persistence / ORM构架,比如Hibernate,JDO,CocoBase,TopLink的InsideLiberator(国产JDO红工厂软件)或者iBatis。
6。您还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库交互,和结果它的操作,但还需要掌握不同的数据库产品,如拉克勒,MySQL和MSSQLSERVER。
7。你需要学习JAVA的沙盒安全模式(类加载器,bytecodeverification,的经理,policyandpermissions,
代码签名,加密技术,认证,Kerberos身份,和其他人)digitalsignatures,以及不同的安全/认证API的JAAS()的,JCE(JavaCryptographyExtension)的的JSSE(JavaSecureSocketExtension)以及JGSS(JavaGeneralSecurityService)。
8。你需要学习Servlets和JSP,以及的JSTL(StandardTagLibraries)和选定的第三方TagLibraries。
9。你需要熟悉主流的网页框架,例如JSF,Struts中,挂毯,蚕茧,WebWork中,和他们下面的涉及模式,如MVC/MODEL2。
10。你需要学习如何使用及管理WEB服务器,例如tomcat的,树脂的JRUN,并知道如何的基础上扩展和维护WEB程序。
11。你需要学习分布式对象和远程API,例如RMI和RMI / IIOP。
12。你需要掌握各种流行中间件技术标准,并结合java实现,比如Tuxedo,CROBA,当然也包括JavaEE的本身。你应该学会
你需要学习至少一个XMLAPI例如JAXP(JavaAPIforXMLProcessing)的JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
14。如何利用JAVAAPI和工具来构建WebService的。(JavaAPIforXML / RPC),JAX-RPC SAAJ的(SOAPwithAttachmentsAPIforJava)的,JAXB(JavaArchitectureforXMLBinding)JAXM(JavaAPIforXMLMessaging)的JAXR(JavaAPIforXMLRegistries),或JWSDP(JavaWebServicesDeveloperPack)的。
> 15。需要,学习一个轻量级应用程序框架,例如Spring中,PicoContainer的阿瓦隆,以及他们的IoC / DI风格(setter方法??,构造函数,集成*** ceinjection)。
16。你需要熟悉不同的J2EE技术??,例如JNDI(JavaNamingandDirectoryInte *** CE)的JMS(JavaMessageService)的,JTA / JTS(JavaTransactionAPI / JavaTransactionService)的JMX(JavaManagementeXtensions),以及JavaMail的。
17。企业类级JavaBeans(EJB),你需要学习以及它们的不同组件模式:无状态/ StatefulSessionBeans,EntityBeans(bean-ManagedPersistence的包含[BMP]或容器ManagedPersistence [CMP]和它的EJB-QL),或者消息DrivenBeans(MDB )
18。你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss的,并利用它的附加服务,例如簇类,连接池以及分布式处理的支持。您还需要了解它是如何封装和配置应用程序能够监控,调整它的性能。
19。你需要熟悉面向方面的编程,以及面向属性的程序设计(两个很容易混淆缩写为AOP),以及他们的主流JAVA规格和执行。如AspectJ和AspectWerkz。
20。熟悉的服务不同有用的API和框架为你工作。例如,Log4J的(记录/跟踪),石英(调度)的JGroups(networkgroupcommunication)JCache(distributedcaching)的,Lucene的(全职文章搜索)JakartaCommons的。
21。如果你要对接和旧的系统或本地平台,你需要学习的JNI(JavaNativeInte *** CE)和JCA(JavaConnectorArchitecture)。
22。JINI技术,您需要熟悉,和它的分布式系统,如主CROBA。
23。你需要JavaCommunityProcess的( JCP),和他的不同JavaSpecificationRequests(JSR的),如JOLAP的Portlets(168)(69)(73),DataMiningAPI,等等。
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。您需要了解开源,至少在,许多Java技术的直接依赖开放源码,以推动发展,如JAVA3D技术。

阅读全文

与反编译reflect优化相关的资料

热点内容
Linux为什么bootloader编译 浏览:701
gcc只运行不编译 浏览:868
网页无法解析服务器是什么意思 浏览:926
服务器如何判断用户是否登录 浏览:847
股市app数值怎么调整红绿色 浏览:844
滴滴车主app怎么学习网约车考试题 浏览:220
如何在电脑上找到服务器地址 浏览:676
vue项目编译后代码逻辑改变了 浏览:962
怎么连接自己部署的服务器 浏览:797
关闭电脑的命令 浏览:279
hlr命令 浏览:637
塞班系统文件夹播放器 浏览:350
编译器如何编出可执行程序 浏览:644
什么是smtp服务器 浏览:266
pdf正式版 浏览:176
linux重启oracle数据库 浏览:811
我的世界如何删除服务器权限 浏览:875
gzip压缩和seo的区别 浏览:510
编译软件是哪个 浏览:830
维修制热压缩机 浏览:67