报错产生的原因 1.重复启动tomcat造成8080端口的冲突 2.其他软件占用了8080端口 解决方案 打开/tomat/bin目录,通过命令强制关闭他 其他软件占用8080,那么需要打开server.xml文件,然后修改tomcat的默认端口号,一般在是service.xml文件当中的65行 注 ...
分类:
其他好文 时间:
2020-07-14 00:53:32
阅读次数:
77
[第一种确定Java虚拟机JVM是64位JVM还是32位的方法Sun有一个Java系统属性来确定JVM的位数:32或64:sun.arch.data.model=32 // 32 bit JVM sun.arch.data.model=64 // 64 bit JVM您可以使用System.getP... ...
分类:
编程语言 时间:
2020-07-13 22:00:02
阅读次数:
78
[类加载子系统是JVM里面的一个重要的环节。与C/C++那些需要在编译器期进行连接工作的语言不同,Java类的加载、连接和初始化都是在程序运行时完成的,只有在类被需要的时候才进行动态加载。1)JVM何时加载类?有且只有以下5种情况:创建新对象(new)、设置/读取static字段(putstatic... ...
分类:
编程语言 时间:
2020-07-13 21:45:29
阅读次数:
60
JVM内存包含以下部分: 堆内存,它是Java对象的存储 非堆内存,Java用于存储加载的类和其他元数据 其他,JVM代码本身,JVM内部结构,加载的探查器代理代码和数据等。 堆 JVM有一个堆,它是运行时数据区,从中分配所有类实例和数组的内存。它是在JVM启动时创建的。 可以使用以下VM选项配置堆 ...
分类:
其他好文 时间:
2020-07-13 18:32:11
阅读次数:
60
对象在 JVM 中是怎么存储的 对象头里有什么? 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱,有你想要的。 作为一名 Javaer,生活中的我们可能暂时没有对象,但是工作中每天都会创建大量的 Java 对象,你有试着去了解下自己的“对象”吗? 我们从四个方面重新认 ...
分类:
编程语言 时间:
2020-07-13 18:11:58
阅读次数:
58
1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。 跨平台:任何软件的运行,都必须要运行在操 ...
分类:
编程语言 时间:
2020-07-13 18:09:16
阅读次数:
70
关于进程和线程,大家总是说的一句话是“进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元”。这句话理论上没问题,我们来看看什么是所谓的“资源”呢。 什么是计算机资源 经典的冯诺依曼结构把计算机系统抽象成 CPU + 存储器 + IO,那么计算机资源无非就两种: 1. 计算资源2. 存储资 ...
分类:
编程语言 时间:
2020-07-13 18:07:35
阅读次数:
82
前言 本方案主要目的是学习, 该方案不太合适于企业项目 是什么? 白话点, 是个提供了必要环境的虚拟机(类似于java的导入部分包一样和c++的头文件差不多), 所以它比普通的VMWare或者VirtualBox安装的虚拟机要轻 总体来说类似于jvm那样的存在, 只不过jvm运行的是java编译的字 ...
分类:
数据库 时间:
2020-07-13 13:54:51
阅读次数:
100
volatile 变量提供顺序和可见性保证,例如,JVM 或者 JIT 为了获得更好的性能 会对语句重排序,但是 volatile 类型变量即使在没有同步块的情况下赋值也不会 与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的 修改能对其他线程是可见的。 ...
分类:
其他好文 时间:
2020-07-13 13:48:04
阅读次数:
70
volatile相当于轻量级锁 1,与锁不同的是,volatile不具有排他性,也不会导致上下文切换. 2,与锁相同的是,JVM实现volatile的有序性和可见性的保证也是借助内存屏障. volatile变量写操作相当于释放锁,读操作相当于获得锁 JVM通过在volatile变量写之前插入释放屏障 ...
分类:
其他好文 时间:
2020-07-13 13:45:09
阅读次数:
92