Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型。 如果你想设计表现良好的并发程序,理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的 ...
分类:
编程语言 时间:
2019-10-15 12:58:41
阅读次数:
71
OSGI各个容器之间的类加载器是怎么进行隔离的 什么是osgi: OSGi为java平台提供了动态模块化的特性 osgi特点: 没有对Java的底层实现如类库和Java虚拟机等进行修改,OSGi实现的模块间引用与隔离、模块的动态启用与停用的关键在于它扩展的类加载架构。 OSGi的类加载架构并未遵循J ...
分类:
其他好文 时间:
2019-10-14 01:08:55
阅读次数:
142
1.面向对象和面向过程的区别? 面向过程:面向过程性能比面向对象高 面向对象:面向对象易维护、易复用、易扩展 面向过程:面向过程性能比面向对象高 面向对象:面向对象易维护、易复用、易扩展 2.Java 语言有哪些特点? 简单易学、面向对象(封装,继承,多态)、平台无关性( Java 虚拟机实现平台无 ...
分类:
编程语言 时间:
2019-10-13 23:45:19
阅读次数:
169
[TOC] 语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。 但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单 ...
分类:
编程语言 时间:
2019-10-13 12:42:16
阅读次数:
94
前言: 复现fastjson的时候深深意识到了需要好好学习一下Java和Java安全,激情的学习了一番java安全中重要的几部分:反序列化、反射、rmi、动态代理,从反射开始做个总结。 反射:java虚拟机在运行时获取获取类的结构信息并调用其方法和属性 也就是说,反射机制和普通方式最大的区别是,普通 ...
分类:
编程语言 时间:
2019-10-12 23:06:45
阅读次数:
120
定义 Java Virtual Machine:Java程序的运行环境(Javae二进制字节码的运行环境),相比C++有以下好处: 一次编写,到处运行 自动内存管理,垃圾回收功能 数组下标越界检查 多态 学习JVM有什么用? 帮助我们理解底层实现原理,例如:foreach是如何实现的?动态代理又是如 ...
分类:
编程语言 时间:
2019-10-12 22:49:40
阅读次数:
99
Java虚拟机(JVM) JVM (Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 之上。 跨平台 :任何软件的运行,都必须要运行在操作系统之上 ...
分类:
其他好文 时间:
2019-10-12 22:42:50
阅读次数:
175
2.1 Java虚拟机——JVM JVM (Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 之上。 跨平台 :任何软件的运行,都必须要运行在操作 ...
分类:
编程语言 时间:
2019-10-12 19:11:36
阅读次数:
142
在Java中任意一个类都是由这个类本身和加载这个类的类加载器来确定这个类在JVM中的唯一性。 类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现, 以便让应用程序自己决定如何去获取所需要的类。 实现这个动作的代码模块称为“ ...
分类:
编程语言 时间:
2019-10-11 23:13:21
阅读次数:
105
JRE是Java Runtime Environment的缩写,顾名思义是java运行时环境,包含了java虚拟机,java基础类库。 Jdk是Java Development Kit的缩写,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的 ...
分类:
其他好文 时间:
2019-10-11 10:44:25
阅读次数:
92