专注于Java领域优质技术,欢迎关注 作者:Patricia Neil 来看下外国人整理的 9 个顶级框架: 诞生于1995年的Java,目前已在134,861个网站上广泛使用,包括ESPN、SnapDeal等。在其24年的成长史中,Java已经证明了自己是用于自定义软件开发的顶级通用编程语言。 J ...
分类:
编程语言 时间:
2020-02-09 18:52:03
阅读次数:
86
前言 之前写博客一直比较随性,主题也很随意,就是想到什么写什么,对什么感兴趣就写什么。虽然写起来无拘无束,自在随意,但也带来了一些问题,每次写完一篇后就要去纠结下一篇到底写什么,看来选择太多也不是好事儿,更重要的是不成体系的内容对读者也不够友好。所以以后的博客尽量按系列来写,不过偶尔也会穿插其他的内 ...
分类:
编程语言 时间:
2020-02-08 13:44:05
阅读次数:
60
Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台。javac编译好后的class文件,在Windows、Linux、Mac等系统上,只要该系统安装对应的Java虚拟机,class文件都可以运行。达到”一次编译,到处运行”的效果。 一、JVM是什么? 而JVM ...
分类:
其他好文 时间:
2020-02-08 09:14:43
阅读次数:
65
如果想了解JVM内存模型,首先我们要知道JVM是什么?JVM全称 Java Virtual Machine ,即Java虚拟机,是用于运行Java程序编译后的字节码文件。 JVM最常见的三种有: 1.Sun公司的 HotSpot,是目前使用最广泛的Java虚拟机。 2.BEA公司的 JRockit, ...
分类:
其他好文 时间:
2020-02-07 22:16:38
阅读次数:
68
JAVA的核心机制有两个:跨平台机制(JAVA虚拟机),垃圾回收机制 跨平台机制实现了:一次编译,到处运行(与C语言的跨平台区别在于:C语言是多次编译多次运行,而这里的跨平台是指编译后的文件跨平台) 垃圾回收机制实现了:自动回收内存,即无需程序员手动内存回收,避免忘记回收,造成内存泄漏 JAVA跨平 ...
分类:
编程语言 时间:
2020-02-07 15:11:52
阅读次数:
77
前言: 内容有点长,但是都是十足的干货,请各位看官耐心批阅!“Write Once , Run Anywhere”。我相信每位Java人对这句话都不陌生,“一次编写,到处运行”,我们说这句话的底气就来自于 JVM( Java Virtual Machine)。 你可能花过很多精力学习 JVM 的知识 ...
分类:
编程语言 时间:
2020-02-07 13:13:42
阅读次数:
79
前提 这篇文章主要基于JDK11的源码和最近翻看的《深入理解Java虚拟机 2nd》一书的部分内容,对JDK11中的 (引用)做一些总结。值得注意的是,通过笔者对比一下JDK11和JDK8对于 包的相关实现,发现代码变化比较大, 因此本文的源码分析可能并不适合于JDK11之外的JDK版本 。 Ref ...
分类:
其他好文 时间:
2020-02-07 01:32:02
阅读次数:
62
jvm区域总体分两类,heap区和非heap区。heap区又分: Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机 ...
分类:
其他好文 时间:
2020-02-06 22:58:40
阅读次数:
69
Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。 一,内存区域划分 1.线程共享区域: (1)Java堆(对象实例),G ...
分类:
编程语言 时间:
2020-02-06 16:23:32
阅读次数:
73
异常的分类 1.Error 由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等等,JAVA程序无法对此错误 try { //可能出现异常的代码块 } catch(exception1 ) { //产生异常1的处理措施 } catch(exception 2) { //产生异常2的处理措施 } ...
分类:
编程语言 时间:
2020-02-06 14:36:16
阅读次数:
78