Nanfang Station

keep hungry keep foolish

你所不知道的char默认值

毋意,毋必,毋固,毋我。

前言 子绝四:毋意,毋必,毋固,毋我。主观臆断、武断绝对、拘泥固执、自以为是,这四点也是我们每个有独立思想的人应该避免的思维缺陷。 我们知道Java基本数据类型有8种,按所占存储空间从小到大依次说出Java基本数据类型,你能脱口而出吗? 额,卡壳了。 序号 数据类型 大小 默认值 ...

Java二三事

细节之处见功底

前言 不积跬步无以至千里 goto Java语言中goto是保留关键字,没有goto语句,也没有任何使用goto关键字的地方。因为goto语句提供一种改变程序运行流程非结构化方式。这通常使程序难以理解和难于维护,也阻止某些编译器优化。但是,有些地方goto语句对于构造流程控制是有用而且是合法。 Java中也可在特定情况下,通过特定的手段,来实现goto的功能。下面解释两个特定...

Kafka

Apache Kafka是一个分布式的流媒体平台。

发布与订阅 像消息传递系统一样读取和写入数据流。 处理 编写可伸缩的流处理应用程序,这些应用程序可以实时地响应事件。 存储 在分布式的、复制的、容错的集群中安全地存储数据流。 卡夫卡被用来建造实时数据管道和流媒体应用。它是水平可伸缩的,容错的,超快的,并且在成千上万的公司中运行。 我们认为一个流媒体平台有三个关键功能: 它允许您发布和订阅记录流。在这方面,它类似于消息队列或企业消息传...

JMS

Java Message Service,即Java消息服务。

前言 Java Message Service(JMS)API是一种消息传递标准,它允许基于Java Platform Enterprise Edition(Java EE)的应用程序组件创建、发送、接收和读取消息。它支持松散耦合、可靠和异步的分布式通信,提供标准的产生,发送、接收消息的接口,简化企业应用的开发。 接口文档 https://docs.oracle.com/javaee/...

ActiveMQ

MessageQueue--消息队列,一个消息的接受和转发的容器,可用于消息推送。

前言 官网 http://activemq.apache.org/ Apache ActiveMQ是最流行、最强大的开放源码消息传递和集成模式服务器。 Apache ActiveMQ是快速的,它支持许多跨语言客户端和协议,在完全支持JMS 1.1和J2EE 1.4的同时,可以轻松地使用企业集成模式和许多高级特性。Apache ActiveMQ是在Apache 2.0许可下发布的。 1...

Future模式

Future模式是多线程开发中常见的一种设计模式,核心思想是异步调用。

Future模式的核心在于去掉了主函数中的等待时间,并使得原本需要等待的时间段可以用于处理其他的业务逻辑,从而充分利用计算机资源。 传统串行程序调用流程 VS Future模式流程图 Future模式的主要角色 参与者 作用 Main 系统启动,调用Clie...

Java NIO基础

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。

IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 所有语言运行时系统提供执行I/O较高级别的工具。在java编程中,标准低版本IO使用流的方式完成I/O操作,所有的I/O都被视为单个的字节流动,称为一个Stream的对象一次移动一个字节。 NIO有如下特性: ...

Java IO

Java中I/O操作主要是指使用Java进行输入、输出操作。

Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。 数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意...

Java网络编程

网络可以使不同物理位置上的计算机达到资源共享和通信的目的,Java中也专门提供了专门的网络开发程序包--java.net。

Java网络编程提供了两种通信协议:TCP(传输控制协议)和UDP(数据报协议) IP地址格式:网络地址+主机地址 网络号:用于识别主机所在的网络 主机号:用于识别该网络中的主机 IP地址的范围 地址分类 地址范围 A类地址 1.0.0.1~126.2...

对象的多态性

向上转型,程序会自动完成; 向下转型,必须明确指出要转型的子类类型 向上: 父类 父类对象 = 子类实例; 向下: 子类 子类对象 = (子类)父类实例; public class DemoUp { @Test public void test() { B b = new B(); A a = ...