Java
yinghe_one
旨在发现全球技术深度好文,拒绝热点浮躁浅文,对于外文,受限于鄙人英语水平和效率,都采用AI机器翻译,如果觉得翻译不好,可以直接看原文。
展开
-
Java基础异常整理(持续更新)
想看更全更多整理请看 http://www.apexyun.comjava.langjava.lang.ArithmeticException异常算术条件时抛出。 例如,“除以零”的整数会抛出。java.lang.ArrayIndexOutOfBoundsException抛出以表示使用非法索引访问数组。 索引为负数或大于或等于数组的大小。java.lang.ArrayStoreExc...原创 2019-01-04 15:41:26 · 1221 阅读 · 0 评论 -
专为实时而构建:使用Apache Kafka进行大数据消息传递 第2部分
在Apache Kafka简介的前半部分,您使用Kafka开发了几个小规模的生产者/消费者应用程序。从这些练习中,您应该熟悉Apache Kafka消息传递系统的基础知识。在下半部分,您将学习如何使用分区来分布负载并横向扩展应用程序,每天处理多达数百万条消息。您还将了解Kafka如何使用消息偏移来跟踪和管理复杂的消息处理,以及如何在消费者失败时保护您的Apache Kafka消息传递系统免于失败。...翻译 2019-03-22 17:00:02 · 928 阅读 · 0 评论 -
Java 8中的Base64编码和解码
Java 8会因为将lambdas,流,新的日期/时间模型和Nashorn JavaScript引擎引入Java而被记住。有些人还会记得Java 8,因为它引入了各种小但有用的功能,例如Base64 API。什么是Base64以及如何使用此API?这篇文章回答了这些问题。什么是Base64?Base64是一种二进制到文本编码方案,通过将二进制数据转换为基数-64表示,以可打印的ASCII字...翻译 2019-03-26 13:08:19 · 3067 阅读 · 0 评论 -
Java 12:Teeing Collector
在本文中,我们将介绍一个在Java 12中引入的新集合。这个新功能并未在官方JEP中公布,因为它是一个标题Create Collector的微小更改请求,它合并了其他两个其他collector的结果。Documentation点击这里查看Collectors#teeing官方文档。根据文档:"…returns a Collector that is a composite of two do...翻译 2019-03-30 18:39:54 · 880 阅读 · 0 评论 -
Java XML和JSON:Java SE的文档处理,第1部分
XML和JSON对我很重要,我很感谢Apress允许我写一本关于它们的书。在这篇Java Q&A文章中,我将简要介绍我的新书第二版,Java XML和JSON。我还将提供两个有用的演示,如果我有足够的空间,我本来希望将其包括在书中。首先,我将向您展示如何覆盖Xalan,它是Java 11的标准XSLT实现,具有XSLT 2.0+和XPath 2.0 +兼容的替代方案,在本例中为SAXON。使用...翻译 2019-04-02 11:13:51 · 779 阅读 · 0 评论 -
Java XML和JSON:Java SE的文档处理 第2部分
在这篇文章中,我们将继续探索Java 11及更高版本中的XML和JSON。本文中的示例将向您介绍JSON-B,JSON绑定API for Java。在快速概述和安装说明之后,我将向您展示如何使用JSON-B来序列化和反序列化Java对象,数组和集合; 如何使用JSON-B自定义序列化和反序列化; 以及如何在序列化或反序列化期间使用JSON-B适配器将源对象转换为目标对象。这篇文章的材...翻译 2019-04-12 13:36:33 · 686 阅读 · 0 评论 -
什么是JPA?Java Persistence API简介
什么是JPA?Java Persistence API简介作为规范,Java Persistence API关注持久性,它将Java对象的创建过程和具体的创建形式解耦。并非所有Java对象都需要持久化,但大多数应用程序都会保留关键业务对象。JPA规范允许您定义应该保留哪些对象,以及如何在Java应用程序中保留这些对象。JPA本身不是一个工具或框架; 相反,它定义了一组可以由任何工具或...翻译 2019-04-16 14:01:19 · 774 阅读 · 0 评论 -
OAuth 2.0初学者指南
本文概述了OAuth 2.0协议。它讨论了OAuth 2.0实现过程中涉及的不同参与者和步骤。介绍:OAuth代表开放授权。它是一个免费开放的协议,建立在IETF标准和Open Web Foundation的许可之上。它允许用户与第三方共享其私有资源,同时保密自己的凭据。这些资源可以是照片,视频,联系人列表,位置和计费功能等,并且通常与其他服务提供商一起存储。OAuth通过在用户批准访问权...翻译 2019-04-26 13:55:36 · 705 阅读 · 0 评论 -
Java创建Annotation
注解是Java很强大的部分,但大多数时候我们倾向于使用而不是去创建注解。例如,在Java源代码里不难找到Java编译器处理的@Override注解,Spring框架的@Autowired注解, 或Hibernate框架使用的@Entity 注解,但我们很少看到自定义注解。虽然自定义注解是Java语言中经常被忽视的一个方面,但在开发可读性代码时它可能是非常有用的资产,同样有助于理解常见框架(如Spr...翻译 2019-04-17 22:56:41 · 775 阅读 · 0 评论 -
使用Akka实现并发
介绍我开始分配读取包含100列和10万行的CSV文件并将其写入数据库。方法1:简单的Java程序所以我从一个简单的Java程序开始,运行一个while循环直到EOF,然后进行JDBC调用来存储值。这是需要花一个小时才完成了,但后来我意识到程序的运行时比创建程序花费的时间更长。因此,任务并不像看起来那么容易。那可以做些什么呢?当然,我意识到我需要并行完成任务。方法2:线程Java程序...翻译 2019-04-23 22:13:07 · 1186 阅读 · 0 评论 -
Java中的不可变数据结构
作为我最近一直在进行的一些编码访谈的一部分,有时会出现不变性问题。我自己并不过分教条,但每当不需要可变状态时,我会试图摆脱导致可变性的代码,这在数据结构中通常是最明显的。然而,似乎对不可变性的概念存在一些误解,开发人员通常认为拥有final引用,或者val在Kotlin或Scala中,足以使对象不可变。这篇博客文章深入研究了不可变引用和不可变数据结构。不可变数据结构的好处不可变数据结构具有...翻译 2019-04-19 13:51:16 · 707 阅读 · 0 评论 -
专为实时而构建:使用Apache Kafka进行大数据消息传递 第1部分
当大数据运动开始时,它主要集中在批处理上。分布式数据存储和查询工具(如MapReduce,Hive和Pig)都旨在分批处理数据而不是连续处理数据。企业每晚都会运行多个作业,从数据库中提取数据,然后分析,转换并最终存储数据。最近,企业发现了分析和处理数据和事件的能力,而不是每隔几个小时就会发生一次。然而,大多数传统的消息传递系统不能扩展以实时处理大数据。所以LinkedIn的工程师构建并开源Apac...翻译 2019-03-19 10:59:32 · 1172 阅读 · 0 评论 -
使用Neo4j和Java进行大数据分析 第1部分
几十年来,关系数据库一直主导着数据管理,但它们最近已经失去了NoSQL的替代品。虽然NoSQL数据存储不适合每个用例,但它们通常更适合大数据,这是处理大量数据的系统的简写。四种类型的数据存储用于大数据:键/值存储,例如Memcached和Redis 面向文档的数据库,如MongoDB,CouchDB和DynamoDB 面向列的数据存储,如Cassandra和HBase 图形数据库,如Ne...翻译 2019-03-12 15:11:26 · 1953 阅读 · 0 评论 -
Druid配置详解
配置缺省值说明name配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:“DataSource-” + System.identityHashCode(this). 另外配置此属性至少在1.0.5版本中是不起作用的,强行设置name会出错。url连接数据库的url,不同数据库不一样。例如:mysql : jdbc...原创 2019-01-11 13:39:44 · 2148 阅读 · 0 评论 -
基于中台思想的物流系统设计(五):设计可扩展的产品服务平台
0、引言在前面四篇文章中,我们把物流中台的基础能力层构建了起来,接下来,我们就可以在这些基础能力之上构建我们的产品服务,从而支撑各条业务线。基础能力层主要关注的是稳定可用的原子接口,因此在设计的时候重点关注了很多高并发高可用的技术。产品服务层主要是为了支撑不断创新的业务,因此在设计的时候需要关注业务流程的可扩展性。下面我们会先从整体上设计出一套抽象模型,然后针对模型的各个模块深入介绍。...原创 2019-01-11 23:00:38 · 2514 阅读 · 0 评论 -
如何成为更好的软件开发人员
英文原文:https://medium.com/devtrailsio/how-to-become-a-better-software-developer-dd16072c974e今天,我想分享一些关于软件开发人员如何提高他们的专业技能并在工作中变得更好的想法。这里提出的主题是通用的,并不是特定于任何技术堆栈。就此而言,其中大部分都不是特定于IT的。这些是关于如何发展您的个人特征,改善与同事和...翻译 2019-01-13 10:14:56 · 1254 阅读 · 0 评论 -
Java的API设计实践
Introduction了解在设计Java API时应该应用的一些API设计实践。通常,这些实践很有用,并确保API可以在模块化环境中正确使用,例如OSGi和Java平台模块系统(JPMS)。有些做法是规定性的,有些则是禁止性的。当然,其他良好的API设计实践也适用。OSGi环境使用Java类加载器概念提供模块化运行时强制类型可见性(visibility)的封装。每个模块都有自己的类加载器...翻译 2019-01-19 21:28:36 · 1721 阅读 · 0 评论 -
Java程序员应该知道的20个有用的库
一个优秀且经验丰富的Java开发人员的特点之一是对API的广泛了解,包括JDK和第三方库。我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua Bloch建议如何使用现有的API进行开发,而不是为常用的东西写新的代码。在本文中,我将分享一些Java开发人员应该熟悉的最有用和最重要的库和API。但是,我没有包含框架,例如Spring和Hibe...翻译 2019-02-23 13:46:26 · 1482 阅读 · 0 评论 -
处理Java异常的9个最佳实践
Java中的异常处理不是一个简单的主题。初学者发现它很难理解,甚至有经验的开发者也可以花几个小时讨论如何以及应该抛出或处理哪些异常。这就是为什么大多数开发团队都有自己的一套如何使用它们的规则。如果你是一个团队的新手,你可能会惊讶这些规则与你之前使用的规则有多么不同。尽管如此,大多数团队都使用了几种最佳实践。以下是帮助你入门或改进异常处理的9个最重要的内容。1.在finally块中清理资源或使...原创 2019-03-02 14:51:03 · 1084 阅读 · 0 评论 -
Java虚拟机如何处理异常
欢迎来到Under The Hood专栏。本专栏旨在让Java开发人员一瞥在运行Java程序底层的神秘机制。本月的文章继续讨论Java虚拟机的字节码指令集,方法是检查Java虚拟机处理异常抛出和捕获的方式,包括相关的字节码。本文不讨论finally条款 - 这是下个月的主题。后续文章将讨论字节码系列的其他成员。ExceptionsExceptions允许您顺利处理程序运行时发生的意外情况。...翻译 2019-03-08 14:25:08 · 1624 阅读 · 0 评论 -
程序员50+Java面试题
大家好!最近,我一直在分享很多Java面试问题和讨论,我的许多读者都要求将它们组合在一起,以便他们可以将它们放在同一页面中并做好准备,这篇文章就是整理的结果。本文包含50多个Java面试题,涵盖所有重要主题,如核心Java基础知识,Java集合框架,Java多线程和并发,Java IO,JDBC,JVM内核,编码问题, 面向对象编程等。这些问题也可以通过各种面试遇到,但这些问题绝对不是很困难,...翻译 2019-03-06 23:09:52 · 1341 阅读 · 0 评论 -
Java Challengers#1:JVM中的方法重载
欢迎来到新的Java Challengers博客!本博客致力于挑战Java编程中的概念。掌握它们,你将成为一名技术娴熟的Java程序员。本博客中的技术需要付出一些努力才能掌握,但它们会对你作为Java开发人员的日常体验产生重大影响。当你知道如何正确应用核心Java编程技术时,避免错误会更容易,并且当你确切知道Java代码中发生的情况时,跟踪错误会更容易。你准备好开始掌握Java编程中的核心概念...翻译 2019-03-09 17:25:47 · 1021 阅读 · 0 评论 -
使用Neo4j和Java进行大数据分析 第2部分
本文的第一部分介绍了Neo4j及其Cypher查询语言。如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响。您还在开发环境中安装了Neo4j,并概述了使用此数据存储的基本概念 - 即节点和关系。然后,我们使用Cypher查询语言对Neo4j中的一个家庭进行建模,包括年龄,性别和家庭成员之间的关系等个人属性。我们创建了一些朋友来...翻译 2019-03-15 13:21:11 · 1106 阅读 · 0 评论 -
使用Redis和Java进行数据库缓存
为什么数据库缓存如此重要?您在数据库中获得的信息越多,随着时间的推移它就越慢。即使是为支持许多并发请求而精心设计的数据库管理系统也将最终达到极限。数据库缓存是处理这些性能问题的最常见策略之一。缓存涉及将数据库查询的结果保存在更快,更容易访问的位置。正确完成后,缓存将减少查询响应时间,减少数据库负载并降低成本。但是,缓存也需要小心处理,因为它们实际上是在另一个位置创建另一个信息副本。保持...翻译 2019-04-30 10:34:36 · 981 阅读 · 0 评论