随笔分类 - Java基础
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本介绍 1. 不允许重复(底层是HashMap,用key储存元素,value统一都是 PRESENT),可以为null,无顺序 2. HashSet就是为了提高查找效
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本介绍 Linkedlist基于链表的动态数组(双向链表): 可以被当作堆栈(后进先出)、队列(先进先出)或双端队列进行操作。 数据添加删除效率高,只需要改变指针指向
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本介绍 ArrayList: 支持null元素、有顺序、元素可以重复。 可以动态增长和缩减的索引序列,基于数组实现的List类(查询效率高,而在插入删除性能下降很多(
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本介绍 1. 用于存储Key-Value键值对的集合(每一个键值对也叫做一个Entry)(无顺序)。 2. 根据键的hashCode值存储数据,大多数情况下可以直接定
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot equal Object: public static boolean equals(Object a, Object b) { return (a == b) || (a
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot String String对象不可变,当对象创建完毕之后,如果内容改变则会创建一个新的String对象,返回到原地址中。 不可变优点: 多线程安全。 节省空间,提高效率。 源
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###堆参数设置 -XX:+PrintGC 使用这个参数,虚拟机启动后,只要遇到GC就会打印日志 -XX:+PrintGCDetails 可以查看详细信息,包括各个区的情况
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot GC Roots 虚拟机栈(栈帧中的本地变量表)中引用的对象 方法区中的类静态属性引用的对象 方法区中的常量引用的对象 原生方法栈(Native Method Stack)中
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###类加载器 类加载器就是根据指定全限定名称将class文件加载到JVM内存,转为Class对象 启动类加载器(Bootstrap ClassLoader): 由C++语言
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot Java中的常量池 Java常量池实际上分为两种形态:静态常量池和运行时常量池 常量池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。 静态常量池: 静态常
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot Java Socket底层采用TCP/IP协议通信,通信细节被封装,我们仅仅需要指定IP、端口,便能轻易地创建TCP或UDP连接,进行网络通信。 TCP 与 UDP TCP是
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot AIO(Asynchronous Input and Output) 异步IO则采用“订阅-通知”模式: 即应用程序向操作系统注册IO监听,然后继续做自己的事情。 当操作系统
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###同步非阻塞 NIO之所以是同步,是因为它的accept read write方法的内核I/O操作都会阻塞当前线程 IO模型 | IO | NIO :-:|:-:|:-:
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 调用者主动等待调用的结果 ###简介 早期的jdk中,采用BIO通信模式: 通常有一个acceptor(消费者) 去负责监听客户端的连接。 它接收到客户端的连接请求之后为每个
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot BIO NIO AIO BIO,同步阻塞式IO,简单理解:一个连接一个线程 NIO,同步非阻塞IO,简单理解:一个请求一个线程 AIO,异步非阻塞IO,简单理解:一个有效请求
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot IO操作 IO分两阶段(一旦拿到数据后就变成了数据操作,不再是IO): 1.数据准备阶段 2.内核空间复制数据到用户进程缓冲区(用户空间)阶段 在操作系统中,程序运行的空间分
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot jvm虚拟内存分布 程序计数器(PC寄存器)(线程私有): 每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。 PC寄存器的内容总是指
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 一个类从加载到内存开始,一直到被卸载结束,它的整个生命周期包括加载、链接(验证、准备、解析)、初始化、使用、卸载阶段 ###类初始化条件 1. 遇到new、putstatic
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本数据类型与包装类 基本数据类型 | 包装类型 :-:|:-: byte | Byte boolean | Boolean short | Short char |
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###类初始化的条件 一个类要创建实例,需要先加载进内存并初始化 main方法所在的类,需要先加载进内存并初始化 静态内部类和非静态内部类一样,都是在被调用时才会被加载并初始
阅读全文

浙公网安备 33010602011771号