摘要:
Linux中有5种IO模型: 阻塞式IO 非阻塞式IO IO复用 信号驱动式IO(SIGIO) 异步IO(Posix的aio_系列函数) 阻塞型IO:阻塞式IO是Linux中最基本、最常用的IO模型,指的是可能会使进程永远阻塞的函数,一般表现为:进程或线程调用某个函数,该函数需要满足特定条件才能向下 阅读全文
摘要:
网络IO也是属于一整个IO的范畴的,只是一般说IO会先想到操作文件,对象序列化等。 IO最原始的是BIO也是阻塞IO,A向B发一个执行,必须等待B的响应。该模型的整体思路是有一个独立的Acceptor线程负责监听客户端的链接,它接收到客户端链接请求之后为每个客户端创建一个新的线程进行链路处理,处理完 阅读全文
摘要:
字节流:以 8 位(即 1 byte,8 bit)作为一个数据单元,数据流中最小的数据单元是字节。 字符流:以 16 位(即 1 char,2 byte,16 bit)作为一个数据单元,数据流中最小的数据单元是字符, Java 中的字符是 Unicode 编码,一个字符占用两个字节。 一般会分成这两 阅读全文
摘要:
IO:Input和Output的缩写。在计算机中,CPU负责计算,数据则由管道进行传递,而对外传递的管道就是IO接口,上大学的时候学的是51单片机什么的,就会有很多的外接口,这些也是IO,IO可以是内存到硬盘的路,也可以是内存到外部设备的路。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过 阅读全文
摘要:
记录学习Java的笔记,保持对生活的热爱,对技术的尊重,对人的谦卑。 天道酬勤,探虎穴兮入蛟宫,仰天呼气兮成白虹。 🌞IO IO(一) IO(二) IO(三) IO(四) IO(五) IO(六) IO(七) 基本IO流 Netty前世 LinuxIO IO思想 Tomcat介绍(一) Tomcat 阅读全文
摘要:
线程和锁的作用类似铆钉和工字梁在土木工程中的作用。 编写线程安全的代码,核心在于对其状态访问的操作进行管理,特别是对共享的和可变的状态的访问。 共享意味着多个线程同时访问;可变意味着变量的值在其生命周期内可以改变。重点在于控制代码不出现 一些不可控的并发访问。 一个对象是否需要线程安全,主要是取决于 阅读全文
摘要:
Redis持久化可以围绕三个问题进行展开。1.持久化从内存到磁盘发生了什么 2.如何尽可能保证持久化的安全 3.AOF和RDB的区别 1.持久化从内存到磁盘发生了什么? 先从大的方面说:内存的速度和硬盘的速度完全是两个概念级别的,内存可以理解为是电,而硬盘(机械硬盘)可以理解到真正的介质存在。 现在 阅读全文
摘要:
先上图,妈的说个题外话,工作真的难找,吐血!!!! 首先JVM 是可运行 Java 代码的假想计算机 , 括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。 之所以说可以跨平台就是因为JVM的存在。 通过这个路径就可 阅读全文
摘要:
这一篇是MySQL的开端也是日常CRUD操作中最正常的,虽然目前Mybatis-Plus已经帮助我们实现了很多很多的操作,但是面对复杂的操作的时候,依然需要自己手写SQL语句。所以这一篇主要用来复习下SQL的基础语法和操作。 红色标记的是我目前在开放中经常使用到的东西。 数值型 字符串型 日期时间型 阅读全文
摘要:
并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根
本原因,也是人类"压榨”计算机运算能力的最有力武器。 根据线程安全程度从强到弱一共可以分成五个部分:不可变,绝对线程安全,相对线程安全,线程兼容,线程对立 不可变:指的是在Java语言中不可变的对象一定是线程安全的,无 阅读全文