异常 1.异常 Java 中的异常处理是处理运行时错误以保持应用程序正常流程的有效手段之一。Java异常处理是一种处理运行时错误的机制,如ClassNotFoundException、IOException、SQLException、RemoteException等。 异常是不需要的或意外的事件,它发生在程序执行期间,即在运行时,它会扰乱程序指令的正常流程。程序可以捕获和处理异常。当方法中发生异常时,它 2023-01-30 Java-SE
path与classpath 1.path与classpath 1.1 作用简介 安装完JDK(Java Development Kit,Java开发套件)之后,可以在安装目录下找到两个子目录(bin目录和lib目录)。bin目录中包含着Java编译器等可执行文件。 PATH 环境变量是由分号(;)分隔的一系列目录。Windows 在 PATH 目录中按照从左到右的顺序查找程序。对于路径中的 JDK,一次应该只有一个 bin 2023-01-28 Java-SE
Nginx介绍,安装 1.基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。 Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。 Nginx 特点是占有内存少,并发能力强。 事实上 nginx 的并发能力确实在同类型的网页服务器中表现较 2022-11-12 运维 > Nginx #Nginx
JMM 1.Java内存模型 Java虚拟机规范中定义了Java内存模型(Java Memory Model,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。 Java内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节。 Java 内存模型规定了 JVM 应该如何使用计算机 2022-11-01 Java-SE > JVM #JVM
JVM常见启动参数 1.jvm参数分类 根据jvm参数开头可以区分参数类型,共三类: 1.1 标准参数(-) 所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 1例子:-verbose:class,-verbose:gc,-verbose:jni…… 1.2 非标准参数(-X) 默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 1例子:-Xms20m,- 2022-10-29 Java-SE > JVM #JVM
GC算法 1.垃圾检测算法 若一个对象不被任何对象或变量引用,那么它就是无效对象,需要被回收。 1.1 引用计数法 在对象头维护着一个 counter 计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。 引用计数算法的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法。但是主流的 Java 虚拟机里没有选用引用计数算法来管理内存,主要是因为它很难解决 2022-10-27 Java-SE > JVM #JVM
垃圾回收器 前言 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《Java虚拟机规范》中对垃圾收集器应该如何实现并没有做出任何规定,因此不同的厂商、不同版本的虚拟机所包含的垃圾收集器都可能会有很大差别,不同的虚拟机一般也都会提供各种参数供用户根据自己的应用特点和要求组合出各个内存分代所使用的收集器。各款经典收集器之间的关系如下图所示: 虽然垃圾收集器的技术在不断进步,但直到现在还没有 2022-10-20 Java-SE > JVM #JVM
JVM运行时数据区域 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存。将会包括以下几个运行时数据区域: JDK 1.8 同 JDK 1.7 比,最大的差别就是:在JDK 2022-10-15 Java-SE > JVM #JVM
HotSpot虚拟机对象 HotSpot 虚拟机对象 Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 1.对象的内存布局 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域: 对象头( 2022-10-15 Java-SE > JVM #JVM
类加载机制 类加载 1.概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 按照 Java 语言规范和 Java 虚拟机规范的定义, 我们用 “类加载(Class Loading)” 来表示: 将 class/interface 名称映射为 Class 对象的一整个过程。 这个过程还可 2022-10-14 Java-SE > JVM #JVM