SUN:编写高级应用程序

海外LPWAN的王者是我,一文看懂Wi-Sun协议 Wi-Sun协议,泛在电力物联网比了解~~~ 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 新的JavaTM 虚拟机(VMs)具有能够提高性能的特点, 并且你可以使用许多工具来提高应用程序的性能或减小一般类文件的尺寸。这种Java虚拟机的特性和工具可使你在不改变应用程序、或对应用程序仅做很小改动的情况下, 提高应用程序的性能。

Java虚拟机的特性

Java2与过去的版本相比, 性能已有很大提高, 其中包括更快的内存分配、类尺寸的减小、垃圾收集的改善、最新型的监控器和作为标准的内联JIT技术。当使用新的Java2虚拟机时, 你会看到这种性能的改善; 然而, 如果你能够理解速度是如何提高的, 你就能够调整你的应用程序, 以充分挖掘每一点性能潜力。

方法内联

Java虚拟机的Java2版可在运行时自动内联简单方法。在一个未优化的Java虚拟机中,每调用一次新的方法,就创建一个新的堆栈帧(stack frame)。创建一个新的堆栈帧需要一些额外的资源以及该栈的某些再映射(re-mapping),其结果将导致系统开销的少许增加。

由于方法内联可在你的程序中减少方法调用的次数,因而可提高性能。Java虚拟机内联代码内联了返回常数或仅访问内部域(internal fields)的方法。为了利用方法内联,你可以从以下两件事中选做其一;即:你可以使一个方法对虚拟机所要执行的内联看上去是有吸引力的,或者你可以手工内联一个方法,只要它不破坏你的对象模型。在这一语境中的手工内联意味着可以直接从一个方法中将代码移动到正在调用该方法的方法中。

下面的小例子演示了虚拟机的自动方法内联:



public class InlineMe {







    int counter=0;







    public void method1() {



        for(int i=0;i<1000;i  )



        addCount();



        System.out.println("counter=" counter);



    }







    public int addCount() {



        counter=counter 1;



        return counter;



    }







    public static void main(String args[]) {



        InlineMe im=new InlineMe();



        im.method1();



        }



}

在当前状态,addCount方法对虚拟机中的内联探测器显得是没有吸引力的,因为addCount方法返回一个值。要发现该方法是否被内联:




java -Xrunhprof:cpu=times InlineMe







它生成一个java.hprof.txt输出文件。前十个方法类似下面的结果:



 



CPU TIME (ms) BEGIN (total = 510) Thu Jan 28 16:56:15 1999



rank self accum  count trace method



 1  5.88%  5.88%    1  25 java/lang/Character.



 2  3.92%  9.80% 5808  13 java/lang/String.charAt



 3  3.92% 13.73%    1  33 sun/misc/Launcher$AppClassLoader.getPermissions



 4  3.92% 17.65%    3  31 sun/misc/URLClassPath.getLoader



 5  1.96% 19.61%    1  39 java/net/URLClassLoader.access$1



 6  1.96% 21.57% 1000  46 InlineMe.addCount



 7  1.96% 23.53%    1  21 sun/io/Converters.newConverter



 8  1.96% 25.49%    1  17 sun/misc/Launcher$ExtClassLoader.getExtDirs



 9  1.96% 27.45%    1  49 java/util/Stack.peek



10  1.96% 29.41%    1  24 sun/misc/Launcher.



如果你将addCount方法改变为不再返回一个值,则虚拟机可在运行时将其内联。为使内联代码更友好,应用下面的程序替换addCount方法:




public void addCount() {



        counter=counter 1;



}







再次运行profiler:







java -Xrunhprof:cpu=times InlineMe







这次,java.hprof.txt的输出应该显得是不同的。



AddCount方法已经消失。它已被内联了!







CPU TIME (ms) BEGIN (total = 560) Thu Jan 28 16:57:02 1999



rank self  accum  count trace method



 1  5.36%  5.36%    1  27 java/lang/Character.



 2  3.57%  8.93%    1  23 java/lang/System.initializeSystemClass



 3  3.57% 12.50%    2  47 java/io/PrintStream.



 4  3.57% 16.07% 5808  15 java/lang/String.charAt



 5  3.57% 19.64%    1  42 sun/net/www/protocol/file/Handler.openConnection



 6  1.79% 21.43%    2  21 java/io/InputStreamReader.fill



 7  1.79% 23.21%    1  54 java/lang/Thread.



 8  1.79% 25.00%    1  39 java/io/PrintStream.write



 9  1.79% 26.79%    1  40 java/util/jar/JarFile.getJarEntry



10  1.79% 28.57%    1  38 java/lang/Class.forName0



新型同步

在Java 2发布之前,同步的方法和对象总是引发一些额外的性能干扰,这是因为用来实现这种代码锁定的机制采用了一种全局监控器注册,它在某些区域仅仅是单线程的(如搜索现存监控器)。在新发布的Java 2中,每个线程都有一个监控器注册,从而消除了许多现存的性能瓶颈。

如果你曾经使用过其它锁定机制来避免同步方法的性能干扰,现在则有必要重访这些代码并考虑新的Java 2新型锁定技术。

在下面的为同步块创建监控器的例子中,你可以将速度提高40%。所用时间在采用JDK1.1.7和采用Sun Ultra 1上的Java 2时分别为14ms和10ms。




class MyLock {







  static Integer count=new Integer(5);



  int test=0;







  public void letslock() {



     synchronized(count) {



        test  ;



     }



  }



}







public class LockTest {







  public static void main(String args[]) {







     MyLock ml=new MyLock();



     long time = System.currentTimeMillis();







     for(int i=0;i<5000;i   ) {



      ml.letslock();



     }



     System.out.println("Time taken=" 



      (System.currentTimeMillis()-time));



  }



}



Java Hotspot

Java HotSpotTM虚拟机是Sun Microsystem公司的下一代虚拟机。虽然Java HotSpot 虚拟机所采用的规范与Java 2虚拟机所采用的规范相同,但它已被重新设计,并使用了最先进的技术,从而可在未来许多年内,能够为Java平台提供一个强大而可靠的性能引擎。Java HotSpot虚拟机可提供:
  • 可以探测并加速性能关键性代码的实时动态优化技术。
  • 为发挥线程的最大性能而设计的超快速线程同步。
  • 可最快速获取的精确而可靠的垃圾收集器。
  • 由于其简洁、高层次以及面向对象的设计,因而在可维护性和可扩展性方面的重要改进。

JIT(Just-In-Time)编译器

用来提高应用程序性能的最简单的工具是Just-In-Time(JIT)实时编译器。JIT是一个可将Java字节码转换为本地机器码的代码生成器。由JIT调用的Java程序,其运行速度通常要比由解释程序执行字节码时的速度高得多。

JIT编译器首先是在Java开发工具包(JDKTM)1.1.6中作为一种性能更新出现的,而现在它是你在Java 2平台上使用Java解释程序命令时调用的标准工具。你可以使用Java虚拟机的-Djava.compiler=NONE 选项来使JIT编译器失效,这在JIT的末尾部分有更详细的阐述。

JIT编译器是如何工作的?

JIT编译器是作为一种依赖于平台的本地库提供的。如果JIT编译器库存在,则Java虚拟机将初始化Java本地接口(JNI)的本地代码分支以调用在该库中可获得的JIT函数,而不是调用在解释程序中的相应函数。

java.lang.Compiler 类被用来加载本地库并启动JIT编译器内的初始化。当Java虚拟机调用一个Java方法时,它使用在加载的类对象的方法块中所指定的调用(invoker)方法。Java虚拟机具有若干个调用者方法,例如,如果方法是同步的,或者它是一个本地方法,则将使用不同的调用者。JIT编译器使用它自己的调用者。Sun的产品可以为值ACC_MACHINE_COMPILED检查方法存取位以告知解释程序该方法的代码已被编译并存储在加载类中。

代码何时成为JIT编译的代码?

当一个方法被首次调用时,JIT编译器为该方法将方法块编译为本地代码,并将其存储在该方法的代码块中。

一旦代码被编译完成,在Sun平台上所使用的ACC_MACHINE_COMPILED的位则被设定。

我如何知道JIT编译器在做什么?

环境变量JIT_ARGS允许对Sun Solaris JIT编译器进行简单控制。trace 和 exclude(list)是两个有用的值。要从示例InlineMe中排除(exclude)方法并显示跟踪记录(trace),应将JIT_ARGS 做如下设定:




Unix:



export JIT_ARGS="trace exclude(InlineMe.addCount InlineMe.method1)"







$ java InlineMe                                               



Initializing the JIT library ...



DYNAMICALLY COMPILING java/lang/System.getProperty mb=0x63e74



DYNAMICALLY COMPILING java/util/Properties.getProperty mb=0x6de74



DYNAMICALLY COMPILING java/util/Hashtable.get mb=0x714ec



DYNAMICALLY COMPILING java/lang/String.hashCode mb=0x44aec



DYNAMICALLY COMPILING java/lang/String.equals mb=0x447f8



DYNAMICALLY COMPILING java/lang/String.valueOf mb=0x454c4



DYNAMICALLY COMPILING java/lang/String.toString mb=0x451d0



DYNAMICALLY COMPILING java/lang/StringBuffer. mb=0x7d690



 >>>> Inlined java/lang/String.length (4)

请注意内联方法(如String.length)是免除的。String.length 也是一个特殊的方法,它一般由Java解释程序编译为一个内部快捷字节码。当使用JIT编译器时,由Java解释程序提供的这些优化失效,从而可以使JIT编译器能够理解哪个方法正在被调用。

如何使用JIT来发挥你的优势

首先要记住的一点是,JIT编译器在第二次调用一个方法时,会获得大部分速度上的改善。JIT编译器的确是编译了整个方法,而不是对其进行逐行解释,逐行解释也是一种在运行一个可执行JIT的应用程序时用以改善性能的途径。这意味着如果代码仅被调用一次,你将不会看到太大的性能改善。JIT编译器也将忽略构造函数(class constructor),所以,如果可能的话,应最少量地保留构造函数代码。

如果不能预先检查某些Java边界条件,JIT编译器也不能获得最大的性能改善,这些边界条件包括零指针(Null pointer)或边界外数组等异常。JIT编译器能够知道出现零指针异常的唯一途径是通过由操作系统所提供的信号。由于该信号来自操作系统,而不是来自Java虚拟机,因而你的程序会出现性能上的干扰。为了保证在用JIT运行一个应用程序时,能够获取最好的性能,应确保你的代码完全没有象零指针或边界外数组那样的异常。

如果你要以远程调试状态运行Java虚拟机,或者你要看到源代码行数而不是看到在你的Java栈跟踪中的标签(Compiled Code)的话,你可能需要使JIT编译器失效。要使JIT编译器失效,可在你调用解释器命令时为JIT编译器提供一个空白或无效名称。下面的例子演示了用javac命令将源代码编译为字节码、以及用两种形式的java命令在没有JIT编译器的情况下调用解释程序的过程。



  javac MyClass.java



  java -Djava.compiler=NONE MyClass



            or  



  javac MyClass.java



  java -Djava.compiler="" MyClass



第三方工具

其它一些可用的工具包括可用来减小一般Java类文件尺寸的工具。Java类文件包括一个被称作常数池(constant pool)的区域。常数池在某一个地方为类文件保持有一个字符串和其它信息的列表,以备引用。在常数池中可以获取的诸多信息之一是方法和字段的名称。

类文件引用在类中的一个字段作为对常数池中的一个条目的引用。这意味着只要引用保持相同,则无所谓在常数池中存储什么样的值。 一些工具利用这点将常数池中的字段名和方法名重写为缩短的名称。利用这一技术可以大大减小类文件的尺寸,从而使在网上下载类文件变得简单。
《多模态融合改进》支持目标检测、目标分割、OBB、姿态估计,配置教程 本文以为例,讲解如何配置,支持替换专栏里所有的改进方式。 阅读详情

相关推荐

DLL导出函数名隐藏实战:三种方法保护代码安全

在Windows软件开发中,动态链接库(DLL)的导出函数名是模块间通信的关键标识,也是逆向工程的重要突破口。理解PE文件格式中的导出表结构是掌握DLL工作原理的基础,它记录了函数地址、名称和序号的映射关系。通过隐藏或混淆这些导出名称,可以有效增加代码分析的难度,提升软件的知识产权保护和安全性。这一技术在软件保护、游戏反作弊和安全组件中具有重要价值。本文聚焦DLL导出函数名隐藏,结合Dependencies工具分析,详细解析仅序号导出、导出转发器和运行时动态修改三种实用方案,为开发者提供从原理到实践的完整指

weixin_29315091的博客 308

SUN核心解析--常规程序编写--集合类

上次关于JAVA的文章《SUN核心解析--常规程序--基本类》从简单基本类简单说名了JAVA的部分原理以及JAVA的底层对于编写优秀代码的重要性,但是就知识面是较窄的,包括今天说的集合类,也只是皮毛而已,只是从我个人的角度,由一点点实践希望可以在这方面起到一点抛砖引玉的作用,下面进入正题:   首先我从自己的角度来说,对于JAVA的内存管理思想(因为从我的角度来说不知道内存大致怎么样的,学习集

xieyuooo的专栏 4755

如何用Lmcache+vllm优化KVcache存储?CPU与SSD性能实测对比

本文通过实测对比,详细介绍了如何利用Lmcache+vLLM将大模型推理中的KV Cache卸载至CPU内存或SSD硬盘,以解决长上下文场景下的GPU显存瓶颈。测试数据显示,CPU卸载方案在首字延迟(TTFT)上显著优于SSD方案,但SSD方案在存储成本上更具优势。文章提供了完整的配置指南、性能数据分析和生产环境选型建议。

fire9的博客 989

Java程序员的认证--SUN认证

文章目录作用考试项目 导语:SUN认证是给网络设计界建立的一套认证标准,Sun公司推出了Java以及Solaris技术认证方案。 作用 对于企业而言,可以借助这项认证作为招聘人才的评判标准,或是作为衡量员工技术水准的依据;在个人方面,通过这些认证也可以证明个人的技术能力。 考试项目 Java认证考试 该认证主要面对Java程序员。同时,该认证是业界唯一经Sun授权的Java认证,考试内容涉及所有Java相关知识、编程概念及applet开发技巧。Sun认证Java程序员考试旨在观察您通过应用软件分配进行复杂编

Prince_96的博客 2381

OpenDRIVE车道计算避坑指南:为什么你的poly3曲线总对不齐?

本文深入解析OpenDRIVE标准中车道几何计算的三大核心难题:参数化三次多项式(ParamPoly3)的坐标系转换与参数映射、车道偏移与宽度的优先级判定,以及螺旋线(Spiral)接续的平滑性保障。通过实战案例与代码示例,提供了一套避免车道线错位与曲率不连续的精确计算与验证方法,是高精地图开发与仿真场景构建的实用避坑指南。

q9w8e7r6t5的博客 425

未连接互联网的银河麒麟v10安装g++,各种报错,如何处理?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1805

Sun Java系列认证介绍

Sun提供了从初级水平的Sun认证Java程序员(SCJP)直到高级水平的Sun认证企业架构师(SCEA)的一系列认证。本文介绍了这一系列的认证,其各自的地位及其相互间关系。Sun的认证在开发者群体中得到高度认可。Sun提供了从初级水平的Sun认证Java程序员(SCJP)直到高级水平的Sun认证企业架构师(SCEA)的一系列认证。新推出的Sun认证Web组件开发员(SCWCD)是当今最热门的

童话。成长历程 6647

(11-3-01 )

以太坊(Ethereum)是一种基于区块链技术的开源平台和加密货币。它于2015年由Vitalik Buterin和Gavin Wood等开发者创建,并成为比特币之后最受欢迎的加密货币之一。以太坊不仅支持加密货币交易,还为开发者和企业提供了构建去中心化应用程序的强大工具。在本节的内容中,将实型一个完整的机器学习模型项目,智能检测出以太坊区块链中的非法账户。从问题定义到模型建立和评估,再到最终的总结和建议。本实例突出了处理类别不平衡问题的重要性,并展示了如何使用多种机器学习算法来解决实际问题。此外,通过数据可

码农三叔 2171

sun 公司的java 认证

通往Java认证的阶梯(转自ZDNET   CHINA)具体最新信息可见JAVA网站         IT认证一直以来都存在很多争议,但是,很多人还是相信有了证书就为你的事业敞开了大门,Sun为Java程序员提供了3级认证,从低级到高级:         SUN程序员认证         SUN   开发人员认证         SUN工程师认证         这些认证都是互为基础的,比如,要想

编程小猫咪 4186

修改Windows hosts文件的解决方案

本文主要介绍了修改Windows hosts文件解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 安装软件 2.2 修改hosts文件

weixin_43178406的博客 1万+

【Google Play 上架】内部 / 封闭 / 开放 测试全解 — “只跑一个就能上架”?不行!

Google Play新规要求个人开发者账号在2023年11月13日后必须通过封闭测试(Closed testing)才能上架应用。封闭测试需要至少12名测试者连续14天保持参与状态,而内部测试和开放测试不能替代这一要求。三类测试轨道各有特点:内部测试用于快速内部验证,封闭测试是上架必经环节,开放测试面向更广泛用户但非必需。上架流程建议先内部测试修复问题,再启动封闭测试满足14天要求,最后申请生产发布。组织账号和早期个人账号可能不受此限制。开发者应提前规划测试人群,确保持续测试周期,并关注Play Cons

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2802

Sun 被收购一年后:甲骨文是否成功?

在甲骨文全面接管之前的SUN公司技术的第一年,甲骨文开始进入多头并进的时代,因为公司计划与开源社区和谷歌公司一争高下。不过甲骨文公司还推出了一系列产品和从SUN收购而来的大量高级项目,从Java和NetBeans IDE的升级到StorageTek存储单元,Solaris操作系统和Sparc硬件都有所涉及。甲骨文到底是将SUN毁于一旦还是将SUN拯救于水火了呢? 甲骨文公司在2010年1月底...

iteye_14349的博客 557

LLCC68芯片系统架构与LoRa驱动开发核心解析

LoRa射频收发器是低功耗广域物联网(LPWAN)的关键组件,其本质是集成了调制解调器、协议引擎、数据缓冲区与电源管理的专用SoC。理解其工作模式状态机(Sleep/Standby/TX/RX)与SPI主机接口时序规范,是实现稳定通信的基础。LLCC68通过寄存器映射与命令集双接口抽象硬件控制,支持LoRa扩频调制与FSK兼容模式,具备高链路预算(157 dB)和DC-DC/LDO动态电源切换能力。典型应用场景包括远距离传感器节点、智能表计与工业无线监测系统。本文深入剖析LLCC68的信号链路径、中断机制与

weixin_29859471的博客 284

也谈SUN收购MySQL

就像一个女孩更换男朋友的行为有可能改变整个年级的恋爱格局一样,MySQL嫁入SUN也很有可能改变好几对儿编程时的“最佳拍档”。我记得以前是Java+Oracle、.NET+SQL Server、PHP+MySQL,以后呢?会不会变成Java+MySQL、.NET+SQL Server/Oracle、PHP+PostgreSQL...我感觉,这并不意味着对微软有什么冲击——微软经历的大风大浪很多

水之真谛 2047

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JAVA 是一种高级编程语言,由 Sun Microsystems(后被 Oracle 收购)在 1995 年推出

JAVA 主要应用于企业级应用开发、Web 应用开发、移动应用开发、大数据处理、游戏开发等领域。同时,JAVA 也是 Android 应用开发的主要语言。目前,Java Web 应用开发中最流行的框架是 Spring MVC、Spring Boot 等,它们提供了强大的功能,如控制器、视图解析、数据绑定、表单验证等,可以方便地构建复杂的 Web 应用。Java 提供了丰富的企业级开发框架和库,如 Spring、Hibernate、Struts 等,这些框架和库可以大大简化开发过程,提高开发效率。

[Blog][Domain] programb.blog.youkuaiyun.com 2162

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何获取Sun推出的Java认证指南

Sun推出的专业认证包括下列三种:   ◆JAVA认证考试   对于JAVA程序设计员,Sun推出两项认证:   Sun Certified JAVA Programmer(SCJP)   Sun Certified JAVA Developer(SCJD)   Java程序员的认证Sun Certified JAVA Programmer(SCJP)课程:SL-275JAVA语言编程,...

iteye_4734的博客 296

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

sun认证 java怎么考_Sun认证Java开发员考试介绍

Sun认证Java开发员考试介绍对于企业而言,可以借助这项认证作为招聘人才的评判标准,或是作为衡量员工技术水准的依据;在个人方面,通过这些认证也可以证明个人的技术能力。下面是小编整理的关于Sun认证Java开发员考试介绍,欢迎大家参考!Sun认证Java程序员考试介绍概述:本课程使学员掌握如何使用标准Java Development kit(JDK)开发应用程序和applets。在本课程中您将学会...

weixin_28846405的博客 843

SUN Java平台导论

   原文出自SUN网站的官方在线英语文档Java新手编程中心   关于JAVA技术Java是一个编程语言和一个平台。.     JAVA编程语言JAVA语言是一种高级语言,具有以下的主要特点:: 简单中立架构面向对象可便携(易移植)分布式高性能解释型多线程健壮动态

Willpower's Java Zone 1381

sun java desktop system 下载_企业桌面:Sun Java Desktop System

【IT168 产品导购】Sun Java Desktop System是一款开放、安全、高性价比的企业桌面系统。它由一系列精选的集成、协调的桌面软件组成。其中大多数基于开放源码和开放标准,包括:基于GNOME的桌面环境;含有StarOffice 7软件的办公套件;浏览器、电子邮件、日历和即时消息接发应用软件;以及Linux操作系统。通过连接Java Enterprise System的连接器,为企...

weixin_34142735的博客 618

解说SUN的Java认证体系:SCJP、SCJD、SCAJ(SCEA)

  SUN公司的Java技术培训和认证不仅是java开发技术领域最权威的认证,同时也是开发类认证中很重要的一种,我们在这里将为你介绍sun的各种java认证的关系以及取得这些认证的方法 。 sun公司的java技术认证包括4种:   sun certified java programmer(SCJP) sun certified java developer(SCJD) sun ...

摇啊摇 2661

SUN收购MYSQL 助SUN一臂之力

2008年4月23日,在北京展开了SUN MySQL全球巡展活动.大家知道在2个月前SUN收购了MySQL,此次在中国首次亮相目的是让客户,员工,社团开发者和合作伙伴交流,全面推广Sun与MySQL合作.出席本次媒体见面会的有SUN(中国)有限公司 软件部总监赵晓亮先生,王传东先生,MySQl Kaj先生等嘉宾.首先是SUN(中国)有限公司软件部总监赵晓亮先生致词,他说:"SUN与MySQL的合...

iteye_15857的博客 285

sun的java认证考试_Sun Java认证考试科目

Sun Java认证Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0(310-019)Sun Certified Programmer for Java 2 Platform 1.2(310-025)Sun Certified Developer for Java2 Platform(...

weixin_30972263的博客 534

SUN 的Java认证体系

SUN 的Java认证体系http://java.chinaitlab.com/introduce/17419.html作者: 胡海威    SUN公司的Java技术培训和认证不仅是Java开发技术领域最权威的认证,同时也是开发类认证中很重要的一种,我们在这里将为你介绍SUN的各种Java认证的关系以及取得这些认证的方法。     SUN公司的Java技术认证包括4种:    Sun Ce

walen_hsu的专栏 1285

sun is down?

 IBM 收购 sun的消息从上月开始闹得沸沸扬扬,但最终以谈判破裂而告终。sun方面,施瓦茨想接受每股9.40美元的报价,而麦克尼利不同意;IBM方面,收购sun会导致两个公司在服务器、操作系统、数据库方面的业务重合,很明显是一种资源浪费,对于两个公司来说未必是件好事;IBM认为对高级工程人员的支出比原来预期的高很多,IBM调低了对Sun的收购股价,从原来的9.55美元每股调低到9.40美元

Guixue 999

sun 认证

1、入门级:(1)Sun认证Java助理程序员(一次考试)J2SE技术- Sun Certified Java Associate (SCJA)(2)Sun认证Java程序员(一次考试)- Sun Certified Java Programmer (SCJP)(3)Sun认证Java开发员(考生必须完成两项基本作业:编程作业和论文考试)- Sun Certified Ja

忧郁王子的专栏 1548

如何用2行代码让你的Tkinter应用秒变高级UI?Sun Valley主题终极美化指南

如果你是Python开发者,一定遇到过Tkinter默认界面简陋的痛点。今天我要分享一个让GUI颜值飙升的神奇工具——**Sun Valley ttk主题**,只需两行代码,就能让你的应用从"复古风"瞬间切换到"现代美学",彻底告别土味界面! [![Sun Valley ttk主题应用效果展示](https://raw.gitcode.com/gh_mirrors/su/Sun-Valley-t...

gitblog_00585的博客 1164
上一篇: 保护Applet免遭"窃取"的小技巧
下一篇: JAVA 语言中链表和双向链表的实现
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值