Java
文章平均质量分 94
许你常欢
纸上得来终觉浅,绝知此事要躬行
展开
-
JVM-类加载与字节码技术
一、类文件结构通过 javac 类名.java 编译 java 文件后,会生成一个 .class 的文件!执行 javac -parameters -d . HellowWorld.java编译后:[root@localhost ~]# od -t xC HelloWorld.class0000000 ca fe ba be 00 00 00 34 00 23 0a 00 06 00 15 090000020 00 16 00 17 08 00 18 0a 00 19 00 1a 07 00原创 2022-03-14 12:12:54 · 342 阅读 · 0 评论 -
JVM-垃圾回收
一、如何判断对象可以回收1.1 引用计数法如果一个对象被其他变量所引用,就让对象计数加1,如果引用了两次,计数加2,若某个变量不再引用了,则计数减1.弊端:循环引用问题两个对象的引用计数都是1,不能被垃圾回收,造成内存泄露2.2 可达性分析算法需要确定一系列根对象,根对象是不能被回收的对象。Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着 GC Root对象 为起点的引用链找到该对象,找不到,表示可以回收哪些对象可以作为 GC Roo原创 2021-12-14 09:18:24 · 449 阅读 · 0 评论 -
JVM内存结构
一、JVM概述1.1 什么是JVM?定义:Java Virtual Machine:Java 程序的运行环境(Java 二进制字节码的运行环境)好处:一次编写,到处运行(Windows,Linux)自动内存管理,垃圾回收功能数组下标越界检查多态1.2 比较JVM、JRE、JDK1.3 JVM内存结构,学习路程...原创 2021-12-12 15:22:51 · 549 阅读 · 0 评论 -
JVM快速入门
JVM探索请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?知道吗?谈谈JVM中,类加载器你的认识?1、JVM的位置java程序跑在jvm上面,jre-jvm, 在操作系统之上,最底下是硬件系统。2、JVM的体系结构jvm调优说的是“方法区”和“堆“,而”栈“、”本地方法栈“、”程序计数器“不存在垃圾回收一事虚拟机试图使用原创 2021-12-05 16:45:46 · 1088 阅读 · 0 评论 -
Java中==与equals()
一、==的使用可以使用在基本数据类型变量和引用类型变量中如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等。(不一定类型要相同)public class EqualsTest { public static void main(String[] args) { int i = 10; int j = 10; double d = 10.0; System.ou...原创 2020-06-11 15:27:44 · 239 阅读 · 0 评论 -
【Java NIO】缓冲区(Buffer)
一、基本介绍 缓冲区(Buffer):缓冲区本质上是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组),该对象提供了一组方法,可以更轻松地使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。Channel 提供从文件、网络读取数据的渠道,但是读取或写入的数据都必须经由 Buffer,如图:二、Buffer 类及其子类2.1、在 NIO 中,Buffer 是...原创 2019-12-09 15:55:07 · 305 阅读 · 0 评论 -
【Java NIO】基本介绍与三大核心原理(缓冲区、通道、选择器)
一、Java NIO 基本介绍Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的。NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。NIO 有三大核心部分:C...原创 2019-12-09 15:42:43 · 842 阅读 · 0 评论 -
Java BIO 编程
声明:内容来自尚硅谷教程,个人做学习记录使用。I/O 模型基本说明I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能Java共支持3种网络编程模型/IO模式:BIO、NIO、AIOJava BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事...原创 2019-12-09 15:12:49 · 569 阅读 · 0 评论 -
RandomAccessFile随机存取文件流
RandomAccessFile 类RandomAccessFile 声明在java.io包下,但直接继承于java.lang.Object类。并 且它实现了DataInput、DataOutput这两个接口,也就意味着这个类既可以读也 可以写。 RandomAccessFile 类支持 “随机访问” 的方式,程序可以直接跳到文件的任意 地方来读、写文件 支持只访问文件的部分内容 可以向...原创 2019-11-30 18:12:23 · 525 阅读 · 0 评论 -
Java的序列化与反序列化
一、对象流 ObjectInputStream和OjbectOutputSteam 用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。序列化:用ObjectOutputStream类保存基本类型数据或对象的机制反序列化:用ObjectInputStream类读取基本类型数据或对象的机制ObjectOutpu...原创 2019-11-30 16:19:18 · 274 阅读 · 0 评论 -
对象与类
算法+数据结构=程序一、类类:是构造对象的模板或蓝图。可以将封装:或乘数据隐藏,是与对象有关的一个重要概念。从形式上来看,封装不过是将数据和行为组合在一个包中,并对对象的试用者隐藏了数据的实现方式。对象中的数据成为实例域,操作数据的过程称为方法。对于每一个特定的类实例(对象)都要一组特定的实例域值。这些值的集合就是当前这个对象的状态,无论何时,只要向对象发送一个消息,它的状态就有可能发生改变...原创 2019-10-29 13:21:44 · 200 阅读 · 0 评论 -
Java中有趣的问题及注意事项
1、注意\u在注释时,如下://\u00A0 is a newline\u00A0表示一个换行符,就会出现语法错误。类似的,下面这个注释//look inside c:\users也会产生一个语法错误,因为\u后面未跟着4个十六进制数...原创 2019-10-28 14:15:16 · 253 阅读 · 0 评论