java 提高资源利用率_7种提高Java技能的资源

劳通
2023-12-01

java 提高资源利用率

Java仍然是当今最具影响力的编程语言之一。 直到最近它才从#2下降到GitHub上第三大最常用的编程语言 。 您可能会说用法不是全部,但Java仍然很流行。 根据Stack Overflow的2019年开发人员调查结果 ,Java是第五种最受欢迎​​的编程语言。 它于1998年首次向公众发布,并且一直保持着很高的使用率和受欢迎程度。 这个事实的一个重要原因是Java自发布以来已经发展壮大。 作为一种强类型的语言,Java不断推动着面向对象编程(OOP)范式的发展,并不断用于实现新的概念和技术。

为证明其持续流行,Opensource.com发表了许多有关该语言的出色文章。 以下七篇是Opensource.com在2019年阅读的Java最佳文章。

Java中的对象是什么?

克里斯·赫尔曼森(Chris Hermansen)在“ 什么是Java对象?”中深入研究了OOP范式及其对Java开发的重要性 OOP基于这样的思想,即数据和程序都应被视为“对象”。 每个对象都有描述其在程序中的使用方式的属性和行为。

有许多原则定义了OOP及其在编程各个方面的对象使用。 这些包括:

  • 继承:这是对象的层次结构用法,用于将对象属性和行为从父对象更改为子对象并重用这些子行为。
  • 键入:静态和强类型表达了这样的想法,即在编译时,除非明确转换或更改类型,否则应定义该类型并使其保持不变,这有助于调试和一致的功能。
  • 类和基元:将本机实现为OOP语言的对象称为“基元”,包括int,long等。 但是,使用类声明以及通过为基元分配属性和行为来设计和实现的对象称为类。
  • 对象类:在Java中,对象类是所有类都继承自的父类。 它允许使用基本功能和属性,包括比较和hashCode功能。

总体而言,对象是Java开发的基础,Chris在他的深入文章中对此进行了详细说明。

什么是Java构造函数?

作为Chris Hermansen对Java对象的概述的重要后续,我建议阅读什么是Java构造函数? 当在OOP和Java领域中工作时,构造函数是一个重要的概念,Seth Kenlon在此易于理解的指南中对其进行了介绍。 用Java(和大多数OOP语言)的构造函数可以实例化或创建已定义对象的实例。 在许多语言中,将使用new关键字和要创建的对象来创建实例。 例如, Dog fluffy = new Dog(); 将创建一个Dog的新实例。 构造函数还可以在要实例化的对象内设置属性。 因此,如果您有构造函数的实现来设置对象的大小,高度和类型,则可以从构造函数中设置所有这些。 默认情况下,Java允许使用new关键字实例化对象,而无需定义显式构造函数,并在编译时创建它们。

用Java初始化数组

数组是起源于早期数学概念的长期数据结构。 就像克里斯·赫曼森(Chris Hermansen) 在Java初始化数组中所说的那样,在计算机科学 ,它表示“…一个连续的内存块,其中每个位置都是特定类型,”可以是任何类型-从基元(int,long等)到自定义对象(狗,猫,汽车)。 用特定类型的构造函数初始化数组,该构造函数保留数组的固定长度。 换句话说,它是阵列要保留的已定义内存量。 看起来像这样: int [] a = new int [15] 。 就像实例化一个新对象一样,数组的形式和功能相似。 另外,由于数组是从Object类继承的,因此它们可以利用与Object类关联的方法和属性,包括GetClass()

除了简单的数组外,Java默认还实现ArrayListsMap对象。 这两种收集类型均允许动态添加或删除元素。 无需手动设置每个文件的大小。 ArrayList允许在代码运行时动态地添加,检索和删除元素。 这些列表必须是一种类型,该类型在实例化时定义。 Map允许创建字典对象,这意味着每个索引或“键”都连接到另一个对象。 例如, Map <string,Integer> scores = new Map <String,Integer>()将允许您插入学生的分数,其关键字为他们的名字,并带有scores.put(“ Stephon”,50) 。 数组,ArrayList和Map是在Java应用程序中存储,检索和操作数据的绝佳方法。

Java开发人员的区块链入门

区块链是加密技术,计算机科学,加密货币和许多其他领域的融合。 它是比特币和其他加密货币的核心技术,但是它可以单独使用,并且在与其他概念一起实施时功能强大。 正如Bilgin Ibrayam在《 面向Java开发人员的区块链入门》中所写的那样,“大多数人知道的技术,例如Java,.NET和关系数据库,在区块链领域并不普遍;相反,区块链主要由C,Go,在服务器端使用Rust,在客户端使用JavaScript。” 但是,这不应阻止您使用Java来开发区块链项目,并且Ibrayam提供了七种基于Java的开源技术,这些技术利用Java语言和Java虚拟机(JVM)来进行区块链开发。

他介绍的七种技术是:Corda,一种以业务为重点的区块链技术,致力于建立智能合约来处理和简化链上的业务交易; Hyperledger的Pantheon(或Besu)是一个以太坊客户端,可以使用私有和公共网络,其创建目的是将Java开发人员引入区块链开发; Bitcoinj,比特币协议的Java实现,它允许在没有Bitcoin Core的情况下使用钱包和进行交易; Web3j,一个轻量级的以太坊客户端,具有用于智能合约开发的Android和Java的实现; Hyperledger Fabric SDK,用于为本地化或分布式区块链构建和提供安全性的完整解决方案; FundRequest是一个去中心化的平台/市场,可以请求开源工作,并完全在以太坊网络之上的Java中实现; 和Eventeum,它可以监视以太坊网络,并在诸如Kafka或RabbitMQ的消息传递服务器上存储事件及其详细信息。

给新开发者的7个Java技巧

学习新语言时,总是存在障碍,无论是语法差异还是整个发展范式的转变。 塞思·肯隆(Seth Kenlon) 为新开发人员提供了7条Java技巧 ,着重介绍了进入Java编程时要寻找的内容。 安装Java和Java开发工具包(JDK)是使用Java开发的第一步。 大多数计算机可能已经安装了Java和JVM,但是您将需要JDK才能开始编程。

简而言之,塞思的提示是:

  • 大多数其他语言都允许导入和导出库或开发项目时可能需要的其他代码。 Java软件包是需要管理的外部或内部库。 包由命名空间分隔和组织,命名空间就像用于组织代码的存储桶。
  • 包是使用库名称空间的简单导入语法导入的。
  • 声明一个类使您可以在程序中创建一个对象。 这些类可以使用不同的访问修饰符。 类中的属性,方法或函数也可以具有访问修饰符,这些修饰符定义了它们只能在类内部使用,在继承类的外部使用还是由其他任何类使用。
  • 类修饰符“ 静态”允许使用属性或函数,而无需实例化或创建对象的实例。
  • 代码最终会出现错误; 这是不可避免的。 “尝试并捕获”流控制使您可以捕获错误和异常,并实现恢复和日志记录机制。
  • 要在诸如Netbeans或Eclipse之类的集成开发环境(IDE)外部运行Java应用程序,请从命令行导航到Java项目文件夹,然后键入java <filename.java>,或者如果该应用程序已经编译成.jar文件, java -jar <filename.jar>

使用Java持久性API

使用Java Persistence API (JPA)是我将Java连接到各种数据持久性解决方案的介绍,无论它们是关系型,NoSQL还是系统中的基本文件表示形式。 Java提供了广泛的接口,该接口允许连接到通常任何类型的持久性解决方案。 本教程将逐步介绍如何使用通用库创建应用程序,其中包括Spring Boot,Spring Boot是用于在Java中快速配置应用程序的模块/模板。 Maven,Java的软件包管理器; Lombok,一个简化定义对象访问器/更改器的库; 和Netbeans,这是一个流行的Java开发IDE。

本教程使用这些库来为虚拟自行车商店的数据库创建模型。 模型的访问器/更改器由Lombok定义,并提供数据注释,这些数据注释用于持久存储到所选数据库中。 然后,通过application.properties文件设置和配置数据库,JPA读取该文件以连接并持久存储数据。 持久化和获取实现大部分是通过Mongo的Spring框架完成的; 但是,您也可以覆盖函数,以更好地控制查找,更新或保留对象时应获取的内容。 在几分钟之内,您将可以定义对象并在本地数据库上调用基本功能,而无需花很多时间。

如何在Java中比较字符串

灵活性通常被认为是一种礼物,尽管在静态类型和动态类型的语言之间需要权衡取舍,但Java的优势之一是其比较类型和类型相等性的能力。 实际上,Girish Managoli在“ 如何比较Java中的字符串”中进行了解释,其中有六种不同的方法可以比较Java中的不可变字符串类型。

双等号运算符( == )比较内存位置而不是字符串内容。 当编译器看到两个相等的字符串时,它将为两个分配相同的内存。 如果实例化了新字符串,则它将不会共享相同的内存位置或对象引用。

equals方法比较字符串的区分大小写的内容,而不是对象信息。 例如,如果使用equals比较DogDog ,则结果为true,即使它们是两个不同的对象也是如此; 但是, dogDog将为假,因为该函数区分大小写。 equalsIgnoreCase函数与equals相同,除了它消除了区分大小写; 因此,比较dogDog是正确的。 compareTocompareToIgnoreCase函数根据字符串中每个字符的Unicode值比较字符串。 他们将总值与另一个字符串进行比较,并返回两者之间的总词汇值差(分别为区分大小写和不区分大小写)。 最后但并非最不重要的一点是,“ 对象等于”功能允许比较两个字符串对象引用和空值。

Java:仍在发展中

在所有这些时间里,Java仍然保持强大,不断发展并保持相关性,并且其增长一直保持乐观。 自发布以来,Java平台一直在与时俱进,从OpenJDK到发布时间表的更改,并不断扩展您可以完成的工作。

从2019年Opensource.com上的Java热门文章中可以看出,知道这种语言永远不会感到痛苦,因为您永远不知道在下一个项目中可以在哪里使用它。 这些(以及其他)Opensource.com文章对我从高等教育过渡到新开发人员确实非常有帮助。 我期待在2020年阅读和分享更多内容,希望您能加入我的行列。

翻译自: https://opensource.com/article/19/12/java-resources

java 提高资源利用率

 类似资料: