NIO相关基础篇之操作系统I/O模型
本篇继上篇之后, 继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型下与NIO相关的知识, 主要包括:
- 用户空间以及内核空间:
- Linux 网络 I/O模型: Blocking I/O, Non-Blocking I/O, I/O Multiplexing, Signal Driven I/O, Asynchronous I/O
- 五种I/O模型对比
- 文件描述符fd以及Linux内核命令: select, poll, epoll等
- Zero-Copy相关;
- 直接内存
- Selector空轮询在Netty中的处理:
- ……
NIO相关基础篇之JDK
最近在看《Netty In Action》, 发现里面好多东西看不懂, 实际上是Java IO相关的知识太少了! 尤其是Java 1.4之后推出的NIO. 所以在网上搜集了资料, 在这里整理一下关于Java NIO的相关知识.
- Java IO体系以及IO相关主题
- 什么是NIO? NIO与OIO(Old IO)/IO的区别是什么?
- Buffer(缓冲区): 视图缓存区类以及相关问题, Buffer的属性, 使用
- Channel(通道): 通道的种类, 如何获取通道, 使用transferTo连接通道
- FileLock(文件锁): 文件锁lock()与tryLock()
- Selector(选择器): 选择器的种类与方法, SelectionKey的四个重要常量
- 简单介绍AIO
- …….
代码实例: https://github.com/JasonkayZK/Java_Samples/tree/java-nio
在Linux下配置Docker的相关问题以及工具推荐
今天在VSCode中添加与Docker相关的插件时, 一直报错, 果然是Linux用户权限的问题. 本篇文章带你解决Docker在Linux操作系统中权限问题的同时, 教你简单配置Docker, 并推荐Docker管理的相关软件!
本篇包括:
- Linux下非root用户的权限配置(解决
connect EACCES /var/run/docker.sock
错误)
- Docker设置国内安装源
- Docker相关管理软件推荐
- ……
Kubernetes之Minikube安装与无法获取docker镜像源的解决方法
今天在安装部署Minikube的时候, 使用minikube start的时候, 由于k8s镜像源被墙无法拉取所需要的镜像,所以通过在阿里云下载镜像通过docker tag 改标签的方式来进行.
本篇文章主要内容:
- Minikube的安装与配置
- Minikube安装镜像源获取shell
- Kubernetes简单配置
- 一些Kubernetes的工具
- ……
Spring中xml、注解和JavaConfig到底选哪个
xml、注解和JavaConfig作为Spring中常用的三种配置方式有何区别, 三种方法分别适用于什么场合, 本篇文章为您一一解答.
本文概要:
- 为什么说xml配置是类型不安全的配置方式?
- 如何使用注解进行配置?
- 注解配置是万能的吗?
- 如何使用Java Config进行配置?
- xml、注解、Java Config,到底该如何选择?
使用RSS构建你自己的聚合信息
之前就看到github上面的一个叫万物皆可RSS(RSSHub)的项目, 但是一直都没时间看. 直到最近, 感觉微信公众号里面的文章太多了! 而且爪机也很是不给力, 所以就试了试RSS订阅的方式, 一试不当紧, 马上就爱上了这种Geek的获取信息的方式.
本文主要讲述了对于小白而言的有关RSS的一切! 不论之前你是否接触过RSS, 在阅读了本文之后, 你都会学到:
- RSS是什么? RSS能帮助我做什么?
- 如何使用RSS? (创建, 订阅, 信息获取)
- RSS订阅源
- 关于RSS的一些工具, 优化
- ……
Java中的代理模式-静态代理与动态代理
在Spring的体系下, 大多数的实现都在使用动态代理, 如: Spring的AOP, 事务注解, Mybatis的mapper, 分页插件也都离不开代理模式.
示例源码: https://github.com/JasonkayZK/Java_Samples/tree/java-proxy
本篇文章讲述了代理模式相关的内容, 主要包括:
- 什么是代理? 如何使用代理?
- 代理模式
- 静态代理
- 动态代理的实现, 语法, 内幕
- CGLib动态代理和JDK动态代理的区别与应用
- Spring中使用了哪种代理方法
- …………………
Java Annotation总结
在Java各流行框架中, 大量使用第三方注解, 帮助我们简化配置, 如声明Spring配置类的: @Configuration. 为何注解如此神奇?
本篇文章帮助大家揭晓注解背后的故事, 帮助大家理解 Hibernate,Spring, Struts等等第三方注解是如何工作的!
示例代码: https://github.com/JasonkayZK/Java_Samples/tree/java-annotation
本篇文章的内容包括:
- 注解的作用;
- 注解的基本语法,创建如同接口,但是多了个 @ 符号;
- 注解的元注解;
- 注解的属性;
- Java的5个预置注解;
- 注解的提取, 主要包括在类名修饰的注解, 和在方法/变量等修饰的注解;
- 注解使用场景
- 使用注解的一些例子
- 一些注解的应用实例等
Lambda表达式总结
Java在JDK 8中发布了Lambda特性, 开始支持函数式编程了! 虽然平时用的不是很多, 但是看别人写出的代码刷刷刷, 几下子几个箭头就搞定了, 感觉就很爽! 尤其是最近做了一个项目, 项目中对于Jedis各种操作的封装出神入化!
所以就趁着中秋节花时间学习了一下Lambda表达式的基本用法!
本文章中所有例程代码: https://github.com/JasonkayZK/Java_Samples/tree/java-lambda
Java并发总结-3-ThreadLocalRandom类
ThreadLocalRandom类是JDK 7 在JUC下新增的随机数生成器, 弥补了在多线程下的缺陷. 本文主要讲解为何要在JUC下新增该类, 以及该类的实现原理!