
基础知识
文章平均质量分 79
平平无奇程序辕
平平无奇程序辕
展开
-
JAVA设计模式面试小考点之 责任链(实例讲解)
1.什么是jvm jvm全文Java vritual Machine,它就像一台虚拟出来的计算机一样,负责执行Java编译好的字节码文件。JVM具有非常严格的实现规范,大多数操作系统都可以安装JVM,为Java语言的跨平台性起到了关键的作用。JVM(Java虚拟机)是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象的硬件,堆栈,寄存器等,还具有...原创 2021-07-13 17:47:59 · 399 阅读 · 0 评论 -
关于 ++ i 和 i ++ 的区别
i ++iload_1 11: iinc 1, 1 14: istore_1原创 2021-06-03 15:55:23 · 186 阅读 · 0 评论 -
JVM学习日记(一) 内存区域
聊到JVM的话,首先肯定要聊一下JVM的内存区域中到底有些什么。JVM的内存区域构成原创 2021-06-03 15:22:34 · 234 阅读 · 1 评论 -
面试可能会问系列 之 线程之间如何通信
线程之间为什么要通信?通信的目的是为了更好的协作,线程无论是交替式执行,还是接力式执行,都需要进行通信告知。那么java线程是如何通信的呢,大致有以下四种方式。Java线程的通信方式volatile 等待/通知机制 join方式 threadLocalvolatile关键字方式volatile有两大特性,一是可见性,二是有序性,禁止指令重排序,其中可见性就是可以让线程之间进行通信。volatile语义保证线程可见性有两个原则保证所有volatile修饰的变量一旦被某个线程更改,必原创 2021-06-01 15:59:47 · 213 阅读 · 1 评论 -
JAVA成长日记之 Select、Poll、Epoll机制(IO多路复用)
预设传送门,2021.05.17晚更新原创 2021-05-17 14:56:31 · 441 阅读 · 0 评论 -
JAVA成长日记之基于JDK8聊聊多路复用IO(Reactor编程)
在了解 IO多路复用 之前,我们需要了解一下传统的 BIO 。IO模型比较传统IO这就是一个传统的BIO模型,每个客户端连接进来之后都会分配一个线程对指定连接进行处理。所以服务器的吞吐量和线程是线性关系的,吞吐量越大,线程的创建销毁也会越频繁。当然也可以创建连接池进行线程的重复利用。这种模型在并发量不大的情况下,运行起来是毫无问题的。但是在海量访问下就会有点力不从心了,毕竟服务器的线程无法无限量的创建。而且由于这个模型是阻塞的,在特殊情况下读写数据慢的时候,会大大降低服务器线程的利.原创 2021-05-17 14:50:48 · 457 阅读 · 1 评论 -
JAVA成长日记之基于JDK8聊聊NIO
JAVA在1.4之前仅支持BIO,在1.4之后新增了对NIO的支持。具体的方法在让rt.jar下的Java.nio 目录中。具体按功能的话可以划分为三个功能Selector 选择器Buffer 缓冲区Channel 通道原创 2021-05-16 21:01:07 · 368 阅读 · 2 评论 -
JAVA成长日记之聊聊synchronized
Sychronized 和 Lock 的异同点(面试要点!!!!!!!)相同点1. 都是可重入锁不同点1. Sychronized是JAVA的关键字 , Lock 则是JDK中提供的API2.Sychronized会自动释放锁,Lock需要手动释放锁3.Sychronized无法知道线程是否获取锁, Lock可以通过API去获取是否获取锁和锁获取的数量4.Sychronized在获取锁的途中不可中断, Lock可以中断( tryLock(long timeout...原创 2021-05-11 16:17:28 · 84 阅读 · 0 评论 -
JAVA成长日记之聊聊AIO,BIO,NIO
在JAVA面试中经常会问到 IO 相关的问题。那么 IO 到底是什么的,AIO,BIO,NIO又分别是什么呢。面试中为何都问到IO,小会议室里为何气氛尴尬?这一切究竟是人性的扭曲,还是道德的沦丧?让我们一起走近IO,探寻真相。(OS:走进科学)首先我们需要了解一下IO这个概念。1.什么是IOIO其实就是Input/Output的缩写,也就是输入和输出...原创 2021-05-09 16:14:55 · 154 阅读 · 0 评论