《Scala教程》 3.Scala Classes

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

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

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

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

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

阅读全文

Docker 教程(一):Docker 是什么

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第一篇,本文大概介绍了 Docker 是什么和有什么用。可能在工作中,会有专业运维同学管理服务器镜像或其他内容,但是如果不了解这些概念,很多时候我们不会全面了解到系统的全貌。

Docker 是一种将应用程序和服务器配置打包成 Docker 镜像的方法,使用了一种称为 Dockerfile 的简单打包规范。Docker 镜像可以启动多个多个实例,这些运行的实例被称为 Docker 容器。这个系列的内容主要包括讲解什么是 Docker 镜像、什么是容器、什么是 Dockerfile,以及如何创建、运行和发布等。

阅读全文

《Scala教程》翻译邀请

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

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

如何领取

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

阅读全文

《Docker教程》翻译邀请

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

如何领取

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

阅读全文

《软件架构》缓存技术

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《软件架构》 中关于缓存技术的内容,虽然是 2014 年的文章,但是从软件架构层面上,并不过时。

缓存

缓存是一种加速数据查找(数据读取)的技术,直接读取本地缓存的数据,而不是从数据源读取数据,数据源包括数据库、其他远程系统。caching 阅读全文

《软件架构》高扩展架构

原文链接

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

阅读全文

《软件架构》RIA 架构

原文地址

RIA(富Internet应用程序)是web应用程序的特殊种类,其用户界面的功能比第一代和第二代web应用程序丰富得多。这种web应用程序看起来更像是桌面应用程序。RIA的用户界面通常使用HTML5 + JavaScript + CSS3, Flex (Flash), JavaFX, GWT, Dart等等RIA工具开发。从长远来看,HTML5 + JavaScript + CSS3的各种变体似乎会成为主流(可以将GWT和Dart编译为JavaScript)。

RIA用户界面更加丰富的GUI客户端功能也让web应用程序的内部架构和设计有所变化。与第一代和第二代的web应用程序相比,RIA用户界面和其后端通常分离地更加干净。这使RIA GUI更加独立于服务端,同样因此GUI开发人员和服务端开发人员可以并行协作。我将在本文中说明RIA如何做到上述事情,在此之前我先介绍下第一代和第二代web应用程序的内部设计通常是怎样的。

阅读全文

《软件架构》N 层架构

原文链接 译文链接 译者:杨逸林 校对:方腾飞

N 层架构意味着将系统拆分为 N 层,N ∈ [1,+∞)。单层架构与单进程架构一样。双层架构和客户端/服务端架构一样等等。 三层架构是一种非常常见的架构。三层架构通常分为表现层/GUI 层、业务逻辑层以及数据持久化层。下图说明了三层架构: N 层架构.png

阅读全文

 《软件架构》总览

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

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

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

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

阅读全文

《软件架构》单进程架构

原文链接

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

阅读全文

《软件架构》翻译邀请

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

如何领取

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

阅读全文

《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 。

阅读全文

如何使用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对其进行分析。

阅读全文

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

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

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

阅读全文

Java踩坑记系列之线程池

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

阅读全文

return top