① 管理加载项没有sunjava
正常现象。没有sunjava是正常现象。管理加载项是web浏览器加载项,Web浏览器加载项向Web浏览器中添加了多种功能(如额外的工具栏、动画鼠标指针、股票行情收报器和弹出广告阻止程序),当你打开web浏览器时,这些也随之加载(运行),这会使浏览更加有趣或高效。
② Android java虚拟机和sun java虚拟机区别
(1) Dalvik VM和JVM 的第一个区别是 Dalvik VM是基于寄存器的架构(reg based),而JVM是栈机(stack based)。reg based VM的好处是可以做到更好的提前优化(ahead-of-time optimization)。 另外reg based的VM执行起来更快,但是代价是更大的代码长度。
(2) 另外一个区别是Dalvik可以允许多个instance 运行,也就是说每一个Android 的App是独立跑在一个VM中.这样做的好处是一个App crash只会影响到自身的VM,不会影响到其他。 Dalvik的设计是每一个Dalvik的VM都是Linux下面的一个进程。那么这就需要高效的IPC。另外每一个VM是单独运行的好处还有可以动态active/deactive自己的VM而不会影响到其他VM
(3) 接下来就是关于版权之类争论。(可以参看下面文章)
既然reg based VM有那么多好处,为什么之前设计JAVA的人没有采用reg based而是采用stack based的呢? 原来stack based的VM也有其优点,就是它不对host平台的reg数量做假设,有利于移植到不同的平台。而Dalvik则不关心这些,因为它本来就是为ARM这样的多reg平台设计的。另外Dalvik被移植到x86也说明,即使是x86这种reg很少的平台,reg based的VM也是没有问题的。
下面着重说下DVM的优势:(部分文字我加黑以突出)
1、在编译时提前优化代码而不是等到运行时
2、 虚拟机很小,使用的空间也小;被设计来满足可高效运行多种虚拟机实例。
3、常量池已被修改为只使用32位的索引,以 简化解释器
JVM 的字节码主要是零地址形式的,概念上说JVM是基于栈的架构。Google Android平台上的应用程序的主要开发语言是Java,通过其中的Dalvik VM来运行Java程序。为了能正确实现语义,Dalvik VM的许多设计都考虑到与JVM的兼容性;但它却采用了基于寄存器的架构,其字节码主要是二地址/三地址的混合形式。
基于栈与基于寄存器的 架构,谁更快?现在实际的处理器,大多都是基于寄存器的架构,从侧面反映出基于寄存器比基于栈的架构更与实际的处理器接近。但对于VM来说,源架构的求值 栈或者寄存器都可能是用实际机器的内存来模拟的,所以性能特性与实际硬件又有不同。一般认为基于寄存器架构的Dalvik VM比基于栈架构JVM执行效率更高,原因是:虽然零地址指令更紧凑,但完成操作需要更多的load/store指令,也意味着更多的指令分派 (instruction dispatch)次数与内存访问次数;访问内存是执行速度的一个重要瓶颈,二地址或三地址指令虽然每条指令占的空间较多,但总体来说可以用更少的指令完 成操作,指令分派与内存访问次数都较少。
我们从下面的截图可以明了的看到与同一段Java代码对应的Java bytecode 与Dalvid bytecode的比较:
JVM其核心目的,是为了构建一个真正跨OS平台,跨指令集的程序运行环境(VM)。DVM的目的是为了将android OS的本地资源和环境,以一种统一的界面提供给应用程序开发。严格来说,DVM不是真正的VM,它只是开发的时候提供了VM的环境,并不是在运行的时候提供真正的VM容器。这也是为什么JVM必须设计成stack-based的原因。
JVM:所有的jar程序,其运行环境完全是由JVM来提供,包括运行时,各类资源的调度,而JVM的架构,其设计为一个JVM里面可以运行多个java程序,JVM就像一个真正的“机器”,可以跑着多个程序。如果去看看一些企业级的JVM(例如tom cat,WAS),从OS的进程管理中,一般你只能看见一个JVM的进程(当然,你也可以起多个JVM,但JVM架构就是OS-JVM-APP的3层运行时模式),而看不见JVM里面运行的程序,而一个JVM里,可以跑多个java app。简单得说,JVM完全屏蔽了应用程序和OS之间的联系,而改用JVM充当了中间层,这也是一个真正跨平台运行时VM必须要做到的。只要是相同的JDK,JVM为所有在其中运行的程序,提供了完全一致的运行环境,而不论你是什么样的底层OS和硬件条件。因此这也是我在其他一篇答案中提到,JVM的特点是取底层OS和硬件环境的交集,从而保障这种一致性。而所有应用程序和底层资源的互动,一定是依赖JVM的传递和转换来实现。JVM真正实现了一个OS对应用程序运行时管理的所有功能。从开发环境角度和运行时角度,都是完全一致的真正VM
DVM:而DVM的特点在于使用了Zygote,Zygote有几个非常有意思的特点。
一是Zygote采用预加载,由其首先判定安装的APK的需要以及相互依存树,以及OS及硬件环境的特点,在每次启动的时候进行预加载(现在你明白为什么android的app在应用管理里你能轻易查到它都调用了那些关键性的本地资源的原因了吧?),这就意味着,你安装的应用越多,Zygote的加载就越慢,一般来说你的手机启动就会越慢。另外来说,在不同的硬件环境里(例如有无GPS芯片)Zygote初始化的实例是不同的。也就是说,zygote并不提供一个统一的运行环境,具有更好的弹性,这种机制意味着DVM可以取底层资源的合集来提供上层应用使用,差别只是在程序安装或者启动的过程中,DVM可以提示程序需求资源,本地环境可能未能满足而导致无法运行。DVM的Zygote并不是提供一个运行时容器,它提供的只是一个用于共享的进程,所有的应用程序运行,都是独立的,OS级别的进程,直接受到OS层面的资源控制以及调度的影响,只是他们共享Zygote说预加载的类而已。这也就是我为什么说,DVM就像是给每个应用程序在底层加了个套子,而不是提供了一个真正的运行时的VM。也就是说,DVM在开发环境中说提供的VM平台,和运行时的环境是很有可能不一致的。开发环境中提供的VM平台,是一个各种运行时可能环境的合集。
从这点上来说,一般我们认为,JVM中的JAVA程序的崩溃,最多导致JVM的崩溃,而不会导致OS崩溃,但是apk的崩溃,可以直接导致OS崩溃,android手机会因为应用程序死机,大家应该是很常见了。但是大家一般是不会看到java程序导致死机吧?因为运行时中间隔着一个JVM。(当然,其实还是有些小门道可以用java程序让OS崩溃,因为这个,我和某些JAVA大拿打赌赢过饭局,呵呵,不过这是其他话题,不在这里展开了)
除此之外,在JVM的机制中,不同的程序,打包以后,他们都是在运行层级真正独立的程序(指程序应用他们相互之间的关系,而不是和JVM的关系),即便他们在包里使用了同样的类,运行时都是单独加载,单独运行的(及加载多遍)。
DVM这种预加载-共享的机制,使得不同应用之间,在运行时,是共享相同的类的,一般来说,在系统资源消耗方面,拥有更高的效率。
最后,补充一点,byte code并不意味着就是解释执行,也能是加载编译,安装编译,预编译等等。实际上,不同的byte code的程序,不同的技术,不同的具体语言,其真正执行的情况是挺复杂,难以一概而论的,好多都是混合技术的案例,从我对odex的技术来看,就是个典型案例。
③ sun java是什么意思
sun:著名的IT公司
java:sun公司的一种面向对象的编程语言
sun java:sun推出的认证
④ 如何考sun公司的Java认证需要现场培训吗报名费多少
sun公司推出的java认证包括scjp,scjd,scwcd,scea等等很多认证 其中scjp(java程序员)是最基础的认证,考其他级别的java认证都需要先考过scjp认证。 scwcd(web组件开发员)和scjd(java开发员)属于高于scjp一个等级的认证。 scea(企业级架构师)是java认证的最高等级也就是第三级认证。 最好參加培训,考试费1250元 只要是sun公司认可的考试中心都可以的,具体的培训以及认证可以到官网上查询: http://ecation.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=3&p_org_id=1243197&lang=ZHS
⑤ 什么是Sun java 菜菜鸟
sun java的意思是,java是sun公司开发出来的一种语言!
⑥ sun公司最初开发java的目的主要是希望Java给来开发什么东西
这个你可以看看java的由来:当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。Java语言其实是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
肯定挣钱了啊!Sun免费提供用来开发Java应用程序的一切,你不必付任何的版税。或许你会将信将疑:资本家搞共产了?实际上,Sun在Java上的收益确实不大,远远比不过垄断Java应用服务器技术的IBM和BEA公司,似乎有替别人做嫁衣之嫌。对此,Sun董事长、总裁兼首席执行官Scott McNealy是这样解释的:“Sun并没有用Java赚钱,这就像使用英语不用上税一样,Sun并不通过Java本身来盈利,而是把Java应用到了业务中。”原来是放长线钓大鱼!
卖硬件和操作系统,他推出服务器和Solaris操作系统。
卖Java配套软件,比如Sun ONE Studio Enterprise Edition要钱,而且很贵。
提供服务。比如Sun ONE Studio Standard Edition不要钱,但是技术支持要钱。Sun One Application server Identy Server 好多好多,好贵好贵。
⑦ 如何彻底删除 sun java
第一步:卸载Java虚拟机组件以卸载Windows XP中已安装的MSJVM虚拟机为例。点击“开始→运行”,在运行对话框中输入“RunDll32 advpack.dll,LaunchINFSection java.inf,UnInstall”命令,确定后dan出“Microsoft VM uninstall”对话框(见图),点击“是”按钮后,开始卸载Java虚拟机组件,完成后重新启动系统。第二步:删除Java虚拟机文件和目录1.删除Java目录Windows XP系统重启后,进入到“c:\windows”系统目录,删除“JAVA”目录。2.删除java.pnf文件然后进入“c:\windows\inf ”目录,删除“java.pnf”文件,这里要注意,“inf”目录的属性为隐藏,如果在系统目录下找不到该文件夹,请在资源管理器窗口中点击“工具→文件夹选项”,在dan出的对话框中切换到“查看”标签页,选中“显示所有文件和文件夹”。3.删除jview.exe和wjview.exe文件进入到“c:\windows\ system32”目录,删除jview.exe和wjview.exe这两个可执行文件。第三步:修改注册表打开注册表编辑器,删除“The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM”分支下的所有子键项目。接着删除“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM”分支下所有子键项目。完成了以上操作后,就在Windows XP系统中卸载了MSJVM,下面就可以从 http://java.com/zh/download/manual.jsp下载最新的SUN公司Java虚拟机进行安装使用了。以上方法也适用于Windows2000操作系统。
⑧ sunjava是什么品牌
雅伯兰(ABL)SUN夏日香水,EDP浓度,产地中国广州,发源地是法国,50毫升市场价299元RMB,清新花香调
前味:风信子、白麝香,中味:粉红胡椒、茉莉、香根草、柑橘,后味:鸢尾花、琥珀、广藿香
⑨ sun公司的java认证
Sun针对先进的科技,推出Java及Solaris技术认证方案。根据这些认证,在企业方面可以藉此作为招聘人才的评判标准,或是作为衡量员工技术水准的依据;在技术方面,通过这些认证也可以证明个人的技术能力。Sun在UNIX领域一直是技术上和市场占有率的领先者;近年来推出的Java技术,更成为业界的标准。Sun公司所举办的认证考试,也将成为Java和UNIX在全球信息界公认的标准。Sun推出的专业认证包括下列三种:Java认证考试对于Java程序设计员,Sun推出两项认证:SunCertifiedJavaProgrammer(SCJP)和SunCertifiedJavaDeveloper(SCJD)。SCJP测验Java程序设计概念及能力,内容偏重于Java语法及JDK的内容;SCJD则进一步测试用Java开发应用程序的能力,考试者必须先完成一个程序的设计方案,再回答与此方案相关的一些问题。Solaris系统管理认证考试对Solaris/SunOS系统管理员,Sun推出CertifiedSolarisAdministrator(CSA)。CSA分别为两个等级(PartI和PartII),测试对Solaris系统管理的了解程度。Solaris网络管理认证考试为了测试使用者对于Solaris网络的管理能力,Sun还特别推出CertifiedNetworkAdministrator(CNA).内容包括基本网络概念、RoutingandSubnet、Security、Performance、DNS、NIS+等通过SUN任何一门专业认证后,将全收到SunMicrosystems总公司寄发的资格证书及徽章,并有权将通过Sun认证的标记印在个人名片上,作为个人技术能力的肯定。
SUN认证JAVA程序员众所周知,Java以其独有的开放性,跨平台性和面向网络的交互性席卷全球,以其安全性、易用性和开发周期短的特点,迅速从最初的编程语言发展成为全球第二大软件开发平台。这些优点已引起国内外计算机界的极大关注;Java公用规范(PAS)已被国际标准化组织(ISO)认定,Java技术已列为当今世界信息技术三大要点之一。根据权威部门的预测:到2000年,我国对Java技术人员的需求量将高达20万余人。然而,到目前为止,在我国参加认证培训的学员只有近万人,而参加认证考试并获得认证资格的人员不足2000人。这个数字和20万人的需求量相差甚远。因此,早日掌握Java技术,对每个有志于在IT行业发展的人来说是尤为重要的。我们深信Java技术的应用和普及,必将成为势不可挡的潮流迅速在世界各地发展。SunJava认证是业界唯一经Sun授权的Java认证。考试内容涉及所有Java相关知识、编程概念及applet开发技巧。Sun认证Java程序员考试旨在观察您通过应用软件分配进行复杂编程的能力。之后还要测试您完成编程所需的知识。每次考试都包括65道以上的选择题,时间大约为90分钟。