![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 79
BigDataToAI
分享大数据经验
展开
-
基于Java实现Avro文件读写功能
Apache Avro是一个数据序列化系统。具有如下基本特性:丰富的数据结构。一种紧凑、快速的二进制数据格式。一个容器文件,用于存储持久数据。远程过程调用 (RPC)。与动态语言的简单集成。 代码生成不需要读取或写入数据文件,也不需要使用或实现 RPC 协议。 代码生成作为一种可选的优化,只值得为静态类型语言实现。模式(schema)Avro 依赖于模式。 读取 Avro 数据时,写入时使用的模式始终存在。 这允许在没有每个值开销的情况下写入每个数据,从而使序列化既快速又小。 这也便于使用原创 2022-02-17 23:42:51 · 1427 阅读 · 0 评论 -
Java中实现线程安全的几种方法
我们知道Java有一个特性,多线程,它是一个同时运行多个线程的过程。 当多个线程处理相同的数据,并且我们的数据值发生变化时,这种情况不是线程安全的,我们会得到不一致的结果。 当一个线程已经在一个对象上工作并阻止另一个线程在同一个对象上工作时,这个过程称为线程安全。在Java中,通过如下方法实现线程安全:使用线程同步使用Volatile关键字使用Atomic变量使用final关键字使用线程同步同步是一次只允许一个线程完成特定任务的过程。 意思是当多个线程同时执行,想要同时访问同一个资源时,就原创 2022-02-10 00:09:20 · 7046 阅读 · 0 评论 -
Java中的多线程基本介绍
在 Java 中,多线程是指同时执行两个或多个线程以最大限度地利用 CPU 的过程。 Java 中的线程是一个轻量级进程,只需要较少的资源即可创建和共享进程资源。多线程和多进程用于 Java 中的多任务处理,但我们更喜欢多线程而不是多进程。 这是因为线程使用共享内存区域有助于节省内存,而且线程之间的内容切换比进程快一点。线程的生命周期线程在其生命周期中必须经历五种状态。 此生命周期由 JVM(Java 虚拟机)控制。 这些状态是:NewRunnableRunningNon-Runnable原创 2022-02-08 02:15:00 · 1890 阅读 · 1 评论 -
行为设计模式及其在JVM中的应用
在上篇文章中我们说到创建者设计模式。 现在我们来看看行为设计模式。 这些模式关注我们的对象如何相互交互或者我们如何与它们交互。责任链模式责任链模式允许对象实现一个公共接口,并且每个实现都可以在适当的情况下委托给下一个实现。 然后,这允许我们构建一个实现链,其中每个实现在调用链中的下一个元素之前或之后执行一些操作:例如:interface ChainOfResponsibility { void perform();}class LoggingChain { private Ch原创 2022-01-20 00:34:08 · 689 阅读 · 0 评论 -
结构型设计模式
总览这篇文章中,我们主要介绍一下结构型设计模式,以及讨论结构型设计模式中代理模式、装饰者模式、适配器模式和桥接模式有哪些及其差异点。根据 Gang Of Four (GoF)[设计模式作者]介绍,设计模式可以分为三类,分别为创建型、结构型以及行为型。简单地说,结构模式处理类和对象的组合。 它们提供了使用对象组合和继承来创建某些抽象的不同方式。代理模式使用这种模式,我们创建了一个中介,它充当另一个资源的接口,例如文件、连接。 这种辅助访问为真实组件提供了替代品,并保护它免受底层复杂性的影响。差异点:原创 2022-01-20 00:33:27 · 283 阅读 · 0 评论 -
创建型设计模式简介
总览在软件工程中,设计模式描述了软件设计中最常遇到的问题的既定解决方案。 它代表了经验丰富的软件开发人员经过长期反复试验而形成的最佳实践。在 Erich Gamma、John Vlissides、Ralph Johnson 和 Richard Helm(也称为 Gang of Four 或 GoF)于 1994 年出版《设计模式:可重用的面向对象软件的元素》一书后,设计模式开始流行。在本文中,我们将探讨创建设计模式及其类型。 我们还将查看一些代码示例并讨论这些模式适合我们设计的情况。创建型设计模式原创 2022-01-18 01:33:27 · 463 阅读 · 3 评论 -
DataNucleus JDO基础入门
开发应用程序通常是一项复杂的任务,涉及许多组件。 开发所有这些组件可能非常耗时。 Java 数据对象 API (JDO) 旨在减少花费的一些时间,提供一个 API 以允许 Java 开发人员将面向对象的数据持久化到任何数据库中,并提供一种使用与开发人员相同的 Java 语法的查询语言。DataNucleus JDO 提供了此 JDO 标准的实现,允许您(用户)将面向对象的数据持久保存到该标准的 RDBMS 数据存储中,而且还保存到范围广泛的其他数据存储中。 其中包括流行的map存储,例如 Cassandr翻译 2021-12-15 01:07:17 · 835 阅读 · 0 评论 -
代码中的单元测试与集成测试
对应用程序的准确测试决定了它的性能、可用性和可靠性。虽然测试是软件开发生命周期的一个组成部分,但是没有简单的方法可以一次完成它。每个软件产品都要经过开发人员和专门的测试团队的一系列测试。执行这些测试是为了确定应用程序在暴露于不同情况时的执行或行为。在一系列测试中,单元测试和集成测试是每个软件都要经历的两种最常见的测试类型。因此,让我们进一步了解这两种测试类型、它们的独特特性,以及它如何帮助维护任何软件产品的平稳性能。单元测试弹性软件的基础是开发人员进行单元测试以确定代码的性能。顾名思义,单元测试只是在原创 2021-12-01 00:29:43 · 738 阅读 · 0 评论 -
浅谈单例模式
单例模式用于确保一个类只有一个实例,并提供一个全局访问点。一般使用场景日志:单例日志记录器用于将消息记录到文件中。数据库连接:单例数据库连接用于连接到数据库。配置:单例配置对象用于存储应用程序配置。缓存:单例缓存用于存储应用程序数据。如何实现单例模式public class Singleton { // data fields // ... private static final Singleton instance = new Singleton原创 2021-11-29 23:21:31 · 141 阅读 · 0 评论 -
浅谈工厂模式
工厂模式是一种设计模式,它允许您在不向客户端公开实例化逻辑的情况下创建对象。它是一种将对象的实例化委托给工厂类的方法,而客户端无需决定要实例化的具体类。让我们来看看一些术语:客户端:需要对象的类。工厂:创建对象的类。决定参数:工厂类用来决定实例化哪个具体类的参数。抽象:当客户端获得一个对象时,它希望它做一些事情。它需要知道它需要哪些类型的对象。举个例子你在滴滴上叫一辆车,在订单还没有被接单时,你并不知道来接你的是什么车,只有等到正式有人接单了,你才知道你乘坐的车的具体信息原创 2021-11-29 23:19:50 · 129 阅读 · 0 评论 -
看看享元模式给你的程序减少了多少内存
举个例子对象创建是OOP中最基本的操作。即使在最微不足道的用例中,也很难计算我们创建的对象的数量(有意或幕后)。每个对象都是在堆上创建的,在垃圾收集之前都会占用一些空间。长时间运行的程序会占用堆。类似地,同时运行的线程将成倍增加所使用的内存。下面举一个简单的例子:我有一个应用程序,它返回给我大量的数据点来绘制一个图表。数据点包含两个信息——数据和该点在图上的样子:public class DataPoint { private double data; private Point原创 2021-11-29 18:31:13 · 203 阅读 · 0 评论 -
java 8 update 151 或更高版本默认开启jce
Oracle JavaJava 8 Update 151之前对于Java 8 Update 144或更低版本,你需要自己安装 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy 文件:从这里 下载unlimited strength JCE policy文件提取下载文件用下载的 unlimited strength policy JAR文件替换$JAVA_HOME/.原创 2021-11-29 01:28:59 · 868 阅读 · 0 评论