搜课云网 > 成都华育 > 资讯总汇 > JAVA和.NET开发过程中的不同

JAVA和.NET开发过程中的不同

机构:成都华育 时间:2016-01-12 14:11:10 点击:964

  1、Java包的名字是和物理文件位置一一对应的, C#琅缦泓名空间可以随便写,而且编译出来的轨范集也可以随便更改,可以不和命名空间连结一致,轨范集和JAVA里零丁打出来的jar包是差不多的意思。

  2、JAVA的一个文件只能有一个公共类,而C#可以多个公共类在一个文件里。

  3、如不美观找到一个JAR包,Java查看新jar包的体例字段描述,需要有零丁的对应jar包的doc文档,才能看到接口挪用参数声名,否则看起来不直不美观,可是如不美观有源码打出来的jar包,调试的时辰可以便利的看到该包的源代码NET里只要有了dll文件,就能便利的看到体例元数据挪用参数,可是看接事数具体声名,仍是需要对应dll的xml文档。

  4、对于WEB开发,JAVA里Filter,Servlet,Listener是很常用的,Java里的Filter可以用。NET里的module来实现一些功能,但Filter可以拟定浸染请求规模,module是全局节制的;Servlet相当于一个具体的handler,可以对拟定请求进行措置,Listerner可以用。NET里的Application_Start里来完成一些功能,可是JAVA里集成了部门默认Listerner,它在WEB应用启动的时辰就瞥绶执行。它们的具体执行流程为:WEB启动时,Listener的ContextInitialized体例->所有Filter的Init(不管filter-mapping的值)->所有设置装备摆设了load-on-startup大于等于0的Servlet的init体例(不管servlet-mapping的值),具体请求为:具体Servlet的init(只执行一次)->Filter doFilter(请求设置装备摆设的filter-mapping的value)->Servlet service; 最后网站释放的执行挨次为:Filter destroy-》Listener contextDestroyed.

  5、Java里的Final关头字,当给一个字段时,暗示该字段不能改削,机关函数里都不能改削,这个和C#的const有点像,可是const默认是static的。和C#的readonly也斗劲像,可是readonly可以在机关函数里改削。当它作为一个体例的润色符时,它类试c#的sealed类,不能重写它。

  6、Java琅缦慊有静态机关函数,如不美观要实现一些初始化工作,需要用静态代码块,static{…},琅缦沔输入内容即可,C#只有静态机关函数的说法。

  7、JAVA中有常量池概念,是和堆、栈纷歧样的区域,虽然和C#一样String都有字符串驻留机制,可是和。NET的又纷歧样了。是以java里字符串斗劲最好用equals斗劲,否则可能出问题。好比"a"+"b"字符串在常量池里,如不美观它们和"ab"斗劲将相等,可是"a"+b,b是一个变量,就将放到堆里了,如不美观还用=="ab"判定将返回false,所以JAVA里尽量用equals来判定字符串,可是。NET里不涉及这个问题,经由计较的字符串,==的结不美观也灰忄等。

  8、Java琅缦憧个文件只要有Main体例进口,它都可以运行,而。NET里需要项目类型改削为节制台应用轨范,然后有一个Main体例才能作为一个运行的载体。

  9、Byte类型的数字规模纷歧样,Java里是-128到127,.NET是0-255,一般需要互订交流数据和措置都是转换成16进制,然后取8bit的后2个bit,这样它们的值都是一样的,便利同步加密解密或相关措置

  10、Java里举荐用get,set体例来对内部变量赋值和获取值,.NET里可以用字段get,set获取,而且vs2008后可以直接get;set;的体例,借助语法糖,编译器后会自动生成等价的get,set内部字段。

  11、JAVA里文件保留后默认自动编译,可是这个也得益于它把每个java文件编译成一个class文件,.NET里需要零丁每次执行编译项目,因为它一个项目一个dll文件,如不美观保留其一一个。cs文件都执行编译,则工作量太大影响开发速度。

  12、Java里List是一个接口,这个对在C#里用惯了List集结的,new List已经会报错了,而且它们的泛型也纷歧样,C#是CLR层的泛型撑持,JAVA的泛型不是经由JVM撑持的,是以机能相对没有晋升。

  13、JAVA里默认润色符是包内可见(对应统一个文件夹目录,而不是项目大jar包下)的, protected的变量捉式都是包内和子类可见的,.NET里是只有自己和子类可见NET里类的默认润色符是Internal,轨范集内可访谒。体例和字段默认为private的,和JAVA默认包内可见纷歧样。

  了解更多软件开发培训相关信息,请关注成都计算机培训学校

下一篇:怎么学习Java
师资介绍