升级到J2SE 5平台的5大理由

汇川AM402、H3U和上位机C#ModebusTcp通讯 目录一、测试任务二、测试环境三、PLC工程1、组态配置2、ip地址、端口号 3、全局变量定义四、C#端Winform程序创建1创建主界面 2、创建子窗口 3、运行生成,界面效果4、Modebus协议说明5、Modebus操作说明六、测试1、寄存器读测试 2、MW1300寄存器的BIT位3、写寄存器测试4、PLC断电或者断网 七、工程下载连接1、PLC作为ModebusTCP端,端口号都是502,PC端上位机软件作为TcpClient去连接多台PLC。PC端读写PLC寄存器。2、PC端在有的PLC断电、断网的 阅读详情
本文给出了升级到Java 2 Platform, Standard Edition (J2SE platform) 5.0的5大理由。每个理由都通过大量数据和参考资料来证实升级到5.0版本将大大降低开发与运行成本。

J2SE 5.0(代号Project Tiger)于2004年9月底发布。它是Java平台多年来的重大更新之一。Java社区为其新增功能欢呼不已,然而这些新增功能还无法全面地描述此版本的特色。与以往任何版本相比,这一平台更能满足高水平的测试要求,更适合于任务关键型产品的开发。

J2SE 5.0中的改进非常之多,本文选出最重要的前5条理由实非易事。我的选择如下:
1.1.        以前的应用程序可以直接在5.0上运行

“为了确保向后高度兼容,兼容测试次数是1.4版本中的两倍...”

??Calvin Austin  Sun Microsystems

现有的应用程序无需重新设计或重新编译就可以直接在J2SE 5.0中使用。不仅现有应用程序的投资得到了保护,而且应用程序实际上已经使用新的Java运行时,并从中获益。

为了确保向后高度兼容,兼容测试次数是1.4版本中的两倍。这些兼容测试只是Java测试套件的一部分,该测试套件包含近20万个测试,其中接受测试的有许多著名的Java产品。

既然应用程序可以未加修改地运行,那么J2SE 5.0能为您提供什么呢?
1.1.1.    改进的性能

在J2SE 5.0中,客户机和服务器应用程序的性能均得到重大的改进,由于性能改进非常明显,我将它列为第2条理由,后面将详述。
1.1.2.    监控和易管理性

J2SE 5.0引入了先进的监控和易管理性框架,并将其内建在Java平台的虚拟机上(Java虚拟机或JVM)。您可以使用带有行业标准JMX和SNMP协议的现有管理控制台来监控JVM,甚至可以检测低内存情况。JDK发行版提供一个名为Jconsole的演示。您可以借助它来评估监控JVM所带来的好处,从而了解如何拓展自己的可用性指标。
1.1.3.    新的观感

Java平台已包含了一个插入式观感(Look-and-Feel)框架。新增的海洋风格的观感允许跨平台的应用程序能够在海洋和本机操作系统的观感之间进行切换,而无需重建或重新编译。
1.2.        速度更快

从下图可以看出,众多因素让J2SE 5.0的系统速度得到了显著提高。

1.2.1.    缩短启动时间

如果您最近几年一直没有启动过Java桌面应用程序,您可能会有惊喜的发现。引入了类数据共享(结合其他流线化选项)后,一些应用程序的启动时间缩短了近30%。
1.2.2.    卓越的64位性能

J2SE 5.0的64位JVM可以为AMD64/Opteron CPU和Suse Linux Enterprise Edition 8.0 SLES 提供记录结果。另外,32位JRE版本可以在同一64位操作系统下与现有的32位Web浏览器同时运行。
1.2.3.    性能改善

现在,JVM可在服务器级别的机器上自我配置和优化。服务器级别的机器是指具有两个或更多CPU,内存至少2GB的机器。基于服务器的性能改善消除了那些长时间运行的应用程序所需的内存和优化类。其结果是不用改动一行代码或提供任何运行时选项,就可以使应用序服务器基准程序提高80%的性能!
1.3.        缩短开发时间

集成开发环境(IDE)通过使用自动生成和向导来完成常规任务,从而减轻了开发人员的负担。J2SE 5.0新增的语言功能进一步流线化了开发过程,无论您是使用IDE还是在文本编辑器手工编码。
1.3.1.    减少开发人员编码数量

Java语言的许多改进都减少了开发人员必须编码的数量。下图针对与J2SE 1.4.2版本的比较,对这种减少进行了量化。举一个现实中的例子来说,一个开放源码应用服务器使用了超过2,000个迭代器。通过用新的循环改进功能来取代,编码量大大减少多达40,000个字符。对于开发人员来说,这相当于节省了两个小时的手工编码工作量(按每秒5个字符计算)。

图2:减少的编码工作量(编码行数更少)

J2SE 5.0平台增加了metadata,通过使用工具生成样板文件代码和配置信息,大大短少了开发时间。在JSR 181定义的SOA和Web服务的情况下,开发人员通过自动生成公共代码,有望减少50%的编码工作量。[注意:上图给出的例子表明,元数据JAX-RPC从209字符减少至95字符,使用generics的循环改进从139字符减少至100 字符,不使用generic的循环改进从121字符减至90字符,自动装箱从69字符减至56 字符]。

元数据将减少编写部署描述文件的工作量。曾有人建议EJB 3.0默认由应用程序自身生成配置信息,从而无需部署描述文件。
1.3.2.    增强的错误检验存储

用google搜索“ClassCastException”和“help”关键词将得到40,000条搜索结果。Sun 论坛上的专业搜索报告了3,444个开发者案例,他们都是请求帮助跟踪由于类转换异常问题而引起的无法解释的运行时故障。

在3,444个案例中,有470个涉及到pre-generics vector类。从投资回报的角度来看,在业务高峰期间任何运行时错误都可能损失公司站点10%的定单收入(若收入为30亿GBP,则损失3亿GBP)。这还未计入人力和商誉等其他因素。

随着编译时类型安全generic类型引入到Java平台,通过提醒开发人员在开发期间内是否存在类型匹配问题,将会降低运行时错误的风险。在论坛的470个案例中,Vector和其他JDK中的关键类库都已使用J2SE 5.0中的generics进行更新,从而避免重复出现那些无法解释的运行时问题。
1.4.        适用于任务关键型系统

5.0版本提供了增强的可伸缩性、质量与部署支持。
1.4.1.    可伸缩性

Java平台的设计令客户机和服务器均具有可伸缩性。5.0版本引入了一个功能强大的并发类库,令多线程编程比从前更简单同时功能也更强大。Java平台还支持64位以及多核心和超线程芯片技术。64位JVM允许应用程序使用4 GB以上的堆空间,还允许与其他64位应用程序集成。
1.4.2.    质量

J2SE 5.0平台已经在一组广泛的系统和操作系统变体上进行了深入的测试。测试中使用了许多流行的应用服务器和客户应用程序。最后一项测试标准??平均故障压力测试时间??以没有任何故障而完满结束。
1.4.3.    部署

在J2SE 5.0之前,很难确定JVM产品的事务吞吐量。新的分析工具和自动调优功能提供了更好的产品合理精简信息和配置。当应用程序投入使用后,可以看到通过这些功能缩减的范围令人惊叹。

如前在第1条理由中重点强调的,为了完成部署过程,JVM现在能够使用行业标准工具执行完整的远程监控。这就使得系统管理员无论在集群中还是在传统垂直伸缩的环境中,都可成功地管理JVM。所部署应用程序的健康状态和可利用性都能得到监控。

除了上面升级的4条技术理由之外,还有最后一条至关重要的理由。
1.5.        您选择了一家优秀的公司

J2SE 5.0的改进归功于Java社区。J2SE 5.0专家组包括以下Java领域的公司:Apache,Apple,BEA Systems,Borland,Cisco Systems,Fujitsu,Hewlett-Packard,IBM,Macromedia,Nokia,Oracle,SAP,SAS Institute,SavaJe Technologies,Sun Microsystems,John Zukowski,Osvaldo Doederlein和Juergen Kreileder。

共有16个由著名Java领域专家组成的工作组。它们组织了全世界160名专家协同工作,最终形成了J2SE 5.0 Java规范。该规范覆盖了从语言更新到并发类库再到类压缩文件API。有关更多的技术细节,请参阅J2SE 5.0 in a Nutshell。也可参考本页侧栏给出的参考书,诸如此类的参考书正在不断增加。
1.5.1.    有关J2SE 5.0的图书

l         Java 5.0 Tiger: A Developer's Notebook. David Flanagan, Brett McLaughlin. O'Reilly & Associates, 2004.

l         Java 2 v5.0 (Tiger) New Features. Herbert Schildt. McGraw-Hill Osborne Media, 2004.

l         Beginning Java 2, JDK 5 Edition. Ivor Horton. Wiley, 2004.

l         Core Java 2, Volume I, II (7th Ed.). Cay Horstmann, Gary Cornell. Pearson Prentice Hall, 2005.

l         Just Java 2 (6th Ed.). Peter van der Linden. Prentice Hall, 2004.

l         An Introduction to Programming and Object-Oriented Design Using Java 2, 2nd Ed. Jaime Niño, Frederick A. Hosch. Wiley 2005

l         The Java Class Libraries Poster : Java 2 Platform Standard Edition 5.0 (8th Ed.). Patrick Chan, Rosanna Lee. Addison-Wesley Professional, 2005.

l         Objects, Abstraction, Data Structures and Design Using Java Version 5.0. Elliot Koffman, Paul Wolfgang. Wiley, 2004.

 
1.6.        结束语

本文列出了我使用Java 2 Platform, Standard Edition (J2SE platform) 5.0的5个重要理由。(本文不涵盖客户机或服务器端的全部功能)。有关平台的所有资料,从规范到源代码,均可从SCSL和Java Research Library获得,它有助于您作出自己的决策。请通过社区论坛联系我们,让我们分享您对J2SE 5.0版本的看法。

下面的工具和应用程序利用了J2SE 5.0 增强功能,从而提高开发人员的效率。

l         New J2SE 5.0 Enhanced tools and applications

l         Java System Application Server 9

l         NetBeans 4.0

l         Eclipse 3.x

l         Borland JBuilder 2005 - Wily Introscope
一种低照度目标检测新策略:IAT集成YOLOv8实现暗光与雾霾环境下的性能优化【附核心实战代码】 随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。 阅读详情

相关推荐

DETR系列文章之–Co-DETR

Co-DETR,并行训练多个辅助头,以一对多的标签分配方式进行监督从辅助头中提取正样本坐标,为解码器中的正样本的训练效率进行额外的定制化正样本query.一对一标签分配:每个GT框分配给一个特定的query(DETR),较少的正query导致低效训练,从编码器生成的潜在表示和解码器中的注意力学习分析这一问题。一对多标签分配:每个GT框分配给检测器输出的多个proposal/anchor,依赖NMS或者anchor生成(ATSS,RetinaNet,FCOS,PAA)。

weixin_43731232的博客 2124

windows升级java版本_多版本JAVA 共存 JAVA版本升级迁移(windows)

多版本JDK JRE共存方案Exception in thread main javalangUnsupportedClassVersionError commkyongwhoisjobRipeCrawlJob Unsupported majorminor version 510Error Registry key SoftwareJavaSoftJava Runtime EnvironmentC...

weixin_31280837的博客 953

Notion vs 飞书文档深度对比:个人知识管理到底该选谁?2026实测报告

本文基于2026年30天深度实测,对比了Notion与飞书文档在个人知识管理(PKM)场景下的核心差异。Notion以“块”为基石,提供高度自由的结构化能力,适合构建个性化知识网络;飞书文档则深度融入协作生态,强调流程效率与团队协同。报告从设计哲学、核心功能、AI能力、成本生态等多维度剖析,助你根据自身对灵活性与协作性的需求做出选择。

weixin_29248313的博客 1396

25级阶梯,每次走一步或两步,问最多有多少种走法

分析:共有25个阶梯,每一步走法共有两种,走一级,或是走两级。分两种情况:如果第一次走两级的话,那么还有25-2=23级阶梯要走。再求剩下23级阶梯共有多少走法。如果第一次走一级的话,那么还有25-1=24级阶梯要走,于是走完25级阶梯的方法总数,就等于爬完23级阶梯总共方法+爬完24级阶梯的方法总数。而23极又可再分为(23-1)、(23-2)级阶梯。依次类推,可见这是一个典型的递归类型。我们可

starsinsky's JAVABLOG 1509

HA集群 执行 hdfs haadmin -transitionToActive 失败

最近把一个单NameNode集群变更为HA集群,过程中都很顺利,nn1和nn2两个NameNode都显示standby状态,但是把nn1或者nn2切换到active状态时就会报错抛异常。 查看master上namenode启动日志,如下: Incompatible clusterID for journal Storage Directory /home/hadoop-zero/bigdat...

qq_34727158的博客 1764

OpenCV实例(一)人脸检测

计算机视觉使很多任务成为现实,其中两项任务就是人脸检测(在图像中定位人脸)和人脸识别(将人脸识别为特定的人)。OpenCV实现了一些人脸检测和识别的算法。从安全到娱乐,这些技术在现实环境中都有应用。介绍OpenCV的一些人脸检测和识别功能,并定义特定类型的可跟踪物体的数据文件。具体来说,将研究Haar级联分类器,通过分析相邻图像区域之间的对比度,确定给定图像或子图像是否与已知类型匹配。

小幽余生不加糖 5005

Java内存泄露问题分析

Java内存泄露问题分析   作者:csdn  来源:csdn很多人在谈论内存泄露问题,当然对于c/c++来说,这个应该是老掉牙的问题,但是很多Java人员也越来越多得讨论这个问题,我这里写个小结,希望对大家有一定的参考价值。  内存泄漏的慨念  1.c/c++是程序员自己管理内存,Java内存是由GC自动回收的。  我虽然不是很熟悉C++,不过这个应该没有犯常识性错误吧。  2.什么是内存泄露?

starsinsky's JAVABLOG 1433

ENS160传感器原理图设计,已量产(空气质量传感器)

ENS160 是一款集成式数字空气质量传感器,核心优势源于 “MEMS 传感元件 + 内置微处理器” 的架构。

不脱发的程序猿 575

Java学习推荐书籍

书名:Java编程思想URL: http://www.china-pub.com/computers/common/info.asp?id=7241评论:其实这本书并不适合作为Java入门使用,有位道友人为:看这种书有种看马克思选集的感觉,车轱辘话来回说,本来很简单的概念, 看过他的复杂的例子后,就云山雾绕了。当然,治疗失眠的效果是不错的。我本人读这本书也是读了N多遍吧,总是感觉无法掌握其中一些概

starsinsky's JAVABLOG 1274

ThingsBoard教程(一):ThingBoard介绍及安装

ThingsBoard介绍 最近看了很多开源的物联网的项目,其中有一个让我印象很深,那就是Thingsboard 下面我就给大家介绍一下这个项目,并指导大家如何在本地安装一个Thingsboard来体验它。 首先引用官网的项目介绍就是 一个开源的用于数据收集,处理,可视化和设备管理的开源物联网平台。 它通过行业标准的物联网协议(MQTT,CoAP和HTTP)实现设备连接,并支持云和本地部署。ThingsBoard结合了可伸缩性,容错性和性能,因此您永远不会丢失数据。 用它开源收集链接设备,收集设备的数据,

知无涯 2万+

【华为OD机试真题E卷】300、 出租车计费 、靠谱的车 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS)

题目描述 >程序员小明打了一辆出租车去上班,出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大,出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常 >  比如: 1、23再多一块钱就变为25; 2、39再多一块钱变为50; 3、399再多一块钱变为500; >  小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋,给出计费表的表面读数,返回实际产生的费用

KJ.JK 4万+

【转载】学不可以已——我一年Java之路的回顾,反思以及展望(下)

在暑假的学习中情况也是像我以前计划的那样发展,首先看的一本书就是《Java Network Programming》,Bruce确实推荐了一本好书,这本书循序渐进并且讲的非常的透彻,学完这本书然后再学习新的net的API以及NIO是非常轻松的,这本书我花了10天看完了,自我感觉好极了^_^。与此同时也每天练习《Java Cookbook》中的代码,这个假期我把那本书的代码全部亲自实践了一遍,正因为

starsinsky's JAVABLOG 1254

YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度

ASF-YOLO是一种基于YOLO的新颖框架,结合了空间和尺度特征以实现准确和快速的分割。其中,注意力尺度序列融合模块。

Limiiiing的博客 4394

最好的Java程序员免费学习材料(English)

最好免费的Training 和Tutorials资源:Java Programming Resources 19 Free Java Courses from IBM Introduction to Programming Using Java -Full TOC  -PDF version Studying for Java Certification on the Web Thinking I

starsinsky's JAVABLOG 1216

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【转载】Java学习从入门到精通

Java Learning Path (一)、工具篇一、 JDK (Java Development Kit)JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK

starsinsky's JAVABLOG 1111

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java桌面应用程序设计新贵:SWT 简介

Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍,或是那些不在

starsinsky's JAVABLOG 1107

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【转载】学不可以已——我一年Java之路的回顾,反思以及展望(上)

大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天。也不知道当时为什么要学习Java,又是为什么选择了Java。因为我记得当时的我,心中所想和现在可谓是大相径庭!那时我曾天真的想着,我将来学管理,你们这些学计算机的人出来也难逃给管理界人士做下属的命运,现在想来,那时是多么的无知和幼稚,我怕现在的很多大学生,更确切的说很多像我们专

starsinsky's JAVABLOG 1092

好的JAVA风格(英译)

介绍作为一个已经工作了很多年的软件开发者和咨询师,我看过大量形形色色的程序语言代码。其中有文雅的也有丑陋的,但是不幸的是,它们中大多数代码都是丑陋的。 我希望能够说服你们,我的开发伙伴们,我们应该足够的重视我们的代码风格,尤其是那些在应用程序中提供用户接口和其他可视化部分的代码。在这两部分系列的第一部分, 我会解释为什么我们应该关心我们的代码外观,然后阐述一些好的JAVA风格的一般要素。为

starsinsky's JAVABLOG 1073

【转载】Java虚拟机类装载:原理、实现与应用

Java虚拟机类装载:原理、实现与应用作者:刘学超一、引言Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。二、Java虚拟机的类装载实现与应用2.1  装

starsinsky's JAVABLOG 1068

【转载】Java虚拟机的深入研究

Java虚拟机的深入研究作者:刘学超 1  Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1  Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之

starsinsky's JAVABLOG 1066

初識JAVA

Java告诉我说:世间万物皆为对象!于是,我不断的在互联网Search,以更新我的QQ列表;然后以代码复用技术重复着那一经典:Hello!终于,当我在QQ的多线程间频繁切换时,我以为,我已经持有了对象。但一天,某Class对我说:你不是我的对象!这一刻,我心头只有一种形态:这种异常应该在执行期前得以清理。所以,我至今仍象没有分配到执行权饥饿的线程,苦苦思索生活与设计的模式;直到我领悟到Java的通

starsinsky's JAVABLOG 1047

【转载】java新手必读,一些入门知识

                          java新手必读,一些入门知识              文章很好,我初学JAVA时,也是在这篇文章的指导下进行的,在此不妨推荐给广大将要学习JAVA的朋友!   1、jdk就是j2se,jdk1.1.8版本以后改成为j2se,   下载地址:http://java.sun.com/j2se/downloads.html   2、jre是java

starsinsky's JAVABLOG 1023

【转载】面向对象的思维方法

我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。我对Java的面向对象的特性琢磨良久,自认为有所领悟,也开始有意识的运用OOP风格来

starsinsky's JAVABLOG 985

【转载】Java类装载体系中的隔离性

Java类装载体系中的隔离性作者:盛戈歆作者简介盛戈歆,软件工程师,你可以通过shenggexin@topwaver.com与他联系。正文:Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯这样的错误而觉得不自然,但是在如果出现了ClassNotFoundE

starsinsky's JAVABLOG 981
上一篇: 【转载】Java学习过程应该深入理解的一些重点
下一篇: 【转载】面向对象的思维方法
start_java
博客等级 码龄22年 5粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值