JAVA ’ 目录归档

Grpc Streaming 你造?

一、前言

grpc 是一个由 google 推出的、高性能、开源、通用的 rpc 框架。它是基于 HTTP2 协议标准设计开发,默认采用 Protocol Buffers 数据序列化协议,支持多种开发语言。

一般业务场景下,我们都是使用grpc的simple-rpc模式,也就是每次客户端发起请求,服务端会返回一个响应结果的模式。


image.png

但是grpc除了这种一来一往的请求模式外,还有流式模式,下面我们一一道来。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Grpc Streaming 你造?

《软件架构》4. CS架构

CS架构也称为两层架构,客户端与服务端进行通信,服务端替客户端做一些计算。

一些常见的CS架构:

  • 桌面程序和远程数据库之间
  • 浏览器和web服务器之间
  • 手机和服务器之间
  • FTP客户端和FTP服务器之间
阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》4. CS架构

《Scala 教程》介绍

作者:Jakob Jenkov 更新时间:2014-06-01

Scala是一个非常有趣的新编程语言,相比Java有很多新特性。Scala非常吸引Java程序员,因为Scala被编译为Java字节码,在虚拟机中运行。这意味着你可以在Scala代码中使用Java类,甚至是我们自己开发的Java类。Java程序员可以方便使用Scala,因为可以重用大量Java代码。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Scala 教程》介绍

《Scala教程》 2.Scala Overview

scala 概述

作者:Jakob Jenkov 更新时间:2014-05-25

本文旨在为您提供Scala编程语言和Scala平台的概述。 由于Scala一直在开发,因此该概述页面可能会随着时间的推移而变化。 另外,随着作者对Scala语言了解的深入,本文也会有所添加。

Scala运行在Java虚拟机中

Scala被编译成Java字节码,由Java虚拟机(JVM)执行。 Scala和Java具有通用的运行时平台。 如果您或您的组织已经使用Java标准化,那么您也不会对scala感到完全陌生。 Scala与Java不同的语言,相同的运行环境。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Scala教程》 2.Scala Overview

《Scala教程》 3.Scala Classes

作者:Jakob Jenkov 更新时间:2015-05-23

Scala是一种面向对象的语言。 这意味着您可以在Scala中定义类,并实例化这些类的对象。我希望您在阅读本文时了解面向对象编程的基础。

Scala类是Scala对象的模板。这就是说,一个类定义了该类所拥有的信息以及它所展现的行为(方法)。一个类可以包含有关以下信息:

  • 字段
  • 构造器
  • 方法
  • 超类(继承)
  • 类实现的接口
  • 等等

在本文中,我将仅关注字段,构造函数和方法。Scala类的其他方面将在单独的文本中介绍。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Scala教程》 3.Scala Classes

《Scala教程》翻译邀请

快过年了,并发网祝福各位读者新年快乐!万事如意!并发网从2012年至今已经有八年了,感谢各位读者、译者和作者的支持,并发网将持续发布优质技术文章,让天下没有难学的技术!

2月并发网组织翻译《Scala教程》相关技术文章,欢迎大家踊跃参加。

如何领取

通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,译文最好在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,很多文章领取了没有翻译,导致文章很长时间没人翻译。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Scala教程》翻译邀请

《Docker教程》翻译邀请

快过年了,1月并发网组织翻译《Docker教程》相关技术文章,欢迎大家踊跃参加。

如何领取

通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,译文最好在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,很多文章领取了没有翻译,导致文章很长时间没人翻译。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Docker教程》翻译邀请

《软件架构》高扩展架构

原文链接

为了支持不断增长的性能需求衍生出一种专门的高扩展架构。换句话说,如果你的性能需求突然超过原有的软件+硬件的组合性能上限,你可以调整自己系统,通过硬件或者软件来支持新增的性能需求

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》高扩展架构

 《软件架构》总览

原文链接 译者:xiaohua 校对:方腾飞

注意:本教程仍在更新,它将被一点点完善,但是现在你仍可以从中学到一些东西。

软件架构和软件设计是一个话题的两个不同方面,它们都是关于如何构造软件来完成任务的,通常软件架构是指软件系统中较大的结构,而软件设计指较小的结构。

因为系统架构影响着软件设计,所以很难准确定义软件架构和软件设计的边界。较大结构的设计影响着较小结构的设计。为了使本教程更有意义(即包含哪些内容),我通过进程来做区分,软件设计考虑单个软件进程的内部设计,而软件架构考虑如何设计多个软件进程合作完成它们的任务。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址:  《软件架构》总览

《软件架构》单进程架构

原文链接

由单个运行进程组成的一个软件系统被称作具有单进程架构。或者简单地说,它是一个单进程的。你也可以将其称为一层架构。单进程应用程序通常也被称为独立应用程序。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》单进程架构

《软件架构》翻译邀请

很久没组织翻译了,12月并发网组织翻译《软件架构》相关技术文章,欢迎大家踊跃参加。

如何领取

通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,译文最好在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,很多文章领取了没有翻译,导致文章很长时间没人翻译。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》翻译邀请

《Apache Log4j 2 用户指南》架构

原文地址

2.1 架构

2.1.1 主要组件

Log4j使用下图中显示的类。

使用 Log4j 2 API 时,应用需要从 LogManager 处获取一个有特定名字的 Logger。而 LogManager 则是查找出一个相应的 LoggerContext,并从中获取到Logger。当 Logger 被创建时,它将与 LoggerConfig 关联,该 LoggerConfig 包含 a)与 Logger 相同的名称,b)父包的名称,或 c)根 LoggerConfig。 LoggerConfig 对象是基于配置文件中的 Logger 声明创建的。 它所关联的 Appender 则用于传递 LogEvent 。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache Log4j 2 用户指南》架构

如何使用java实现Open Addressing

你好! 我们这里总共向您提供三种open addression的方法,分别为linear probing、quadratic probing和double hashing。

Linear Probing

Linear probing是计算机程序解决散列表冲突时所采取的一种策略。散列表这种数据结构用于保存键值对,并且能通过给出的键来查找表中对应的值。Linear probing这种策略是在1954年由Gene Amdahl, Elaine M. McGraw,和 Arthur Samuel 所发明,并且最早于1963年由Donald Knuth对其进行分析。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 如何使用java实现Open Addressing

一文带你彻底了解Java异步编程

随着RxJavaReactor等异步框架的流行,异步编程受到了越来越多的关注,尤其是在IO密集型的业务场景中,相比传统的同步开发模式,异步编程的优势越来越明显。

那到底什么是异步编程?异步化真正的好处又是什么?如何选择适合自己团队的异步技术?在实施异步框架落地的过程中有哪些需要注意的地方?

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 一文带你彻底了解Java异步编程

Java踩坑记系列之线程池

线程池大家都很熟悉,无论是平时的业务开发还是框架中间件都会用到,大部分都是基于JDK线程池ThreadPoolExecutor做,的封装,比如tomcat的线程池,当然也有单独开发的,但都会牵涉到这几个核心参数的设置:核心线程数,等待队列,最大线程数,拒绝策略等。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java踩坑记系列之线程池

return top