标签:编程
-
015-十五、Java 8 新日期时间 API ( 上 ) – 本地日期时间
引言 作为开发者,经常需要处理日期时间。如果你跟随者 Java 5 一路走来,那么一定会对 java.util.Date 、java.util.Calendar 、java.uti…
-
006-六、Java 8 Lambda 表达式 ( 上 )- 简介
引言 Lambda 表达式在 Java 8 中引入,并且被吹捧为 Java 8 最大的特性。 Lambda 表达式是函数式编程的的一个重要特性,标志者 Java 向函数式编程迈出了…
-
19-Java基础面试题(十九)-框架篇
81,使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基本的版本大约2MB。 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或…
-
019-十九、Java并发 Java wait() 和 notify() 方法
引言 大家有没有发现,其实 「 一文秒懂 」 系列讲述的都是多线程并发开发的问题。这个话题太大了,估计没有上百篇文章都解释不清楚。 本文,我们来讲解下 Java 并发中的基础的基础…
-
015-十五、Java并发 Java java.util.concurrent.Future
引言 写了几篇 · 一文秒懂 XXX 系列的文章后,对 · 并发编程的设计思想真的是竖然起敬。 · 在并发方面引入了 「 将来 」( Future ) 这个概念。把所有不在主线程执…
-
010-十、Java并发系列之 Java 并发编程面试题
引言 应聘 Java 岗,总是免不了几个 Java 并发编程的面试题,不过大多数都局限在 java.util.concurrent 包下的知识和实现问题。本文针对 Java 并发相…
-
12-十二、Elasticsearch 教程: API 约定
上一章节我们有提到 Elasticsearch 的 RESTful API 使用 HTTP 作为传输协议,使用 JSON 作为数据交换格式。但是,在 API 细节方面,Elasti…
-
000-网络编程系列(一)
多线程文章链接 [1.网络编程之多线程Runnable](https://www.ycbbs.vip/?p=320 "1.网络编程之多线程Runnable") …
-
019-十九、网络编程Netty 粘包 & 拆包 & 编码 & 解码 & 序列化
前言 Netty 作为一个网络框架,对 TCP 连接中的问题都做了全面的考虑,比如粘包拆包导致的半包问题,如何编解码,如何实现私有协议,序列化等等。 本文主要针对这些问题做一个简单…
-
018-十八、网络编程Netty 解码器抽象父类 ByteToMessageDecoder 源码解析
前言 Netty 的解码器有很多种,比如基于长度的,基于分割符的,私有协议的。但是,总体的思路都是一致的。 拆包思路:当数据满足了 解码条件时,将其拆开。放到数组。然后发送到业务 …
-
017-十七、网络编程Netty实现一个简单的 RPC
前言 众所周知,dubbo 底层使用了 Netty 作为网络通讯框架,而 Netty 的高性能我们之前也分析过源码,对他也算还是比较了解了。今天我们就自己用 Netty 实现一个简…
-
016-十六、网络编程-NIO、BIO、AIO
引言 java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO),为所有的原始类型(boolean类型除外)提供缓存…
-
015-十五、网络编程-ServerSocket(二)
引言 前面已经讲过线程池和ServerSocket的编程了,这一节讲讲怎么在ServerSocket中结合线程池使用。 现在服务器端采用的实现方式是:一个客户端对应一个线程。但是,…
-
014-十四、网络编程-ServerSocket(一)
引言 上一节讲解socket的基本使用,这一节来顺带着讲讲socket的一个自认为重要的设置选项的方法,哈哈,多多少少会在今后的开发中使用到。还是比较好用的。 public voi…
-
013-十三、网络编程-Socket(二)
引言 java.net.Socket 类代表客户端和服务器都用来互相沟通的套接字。客户端要获取一个 Socket 对象通过实例化 ,而 服务器获得一个 Socket 对象则通过ac…
-
012-十二、网络编程-Socket(一)
引言 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直…
-
011-十一、网络编程之网络编程-UDP
引言 UDP 是 User Datagram Protocol的简称, 中文名是用户数据报协议,是 OSI(Open System Interconnection,开放式系统互联)…
-
010-十、网络编程多线程之线程池
引言 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线…
-
009-九、网络编程之多线程之单例模式
引言 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、…
-
008-八、网络编程之多线程之管道流
引言 在java语言中提供了很多输入与输出流,使我们方便了对数据进行操作,其中管道流是一种特殊的流,用于在不同线程间直接传输数据。一个线程发送到输出管道,另一个线程从输入管道中读取…