前言 c# 是怎么运行的呢?是否和java一样运行在像jvm的虚拟机上呢?其实差不多,但是更广泛。 c# 运行环境不仅c#可以运行,符合.net framework 开发规范的都可以运行。 c# 程序在.net framework 上运行,而这个.net framework是windows独有的,所 ...
JVM垃圾回收的算法很多,但是不管是哪种算法,在进行GC时大致的流程都是差不多的,主要有以下3个过程: ###1. 枚举根节点 这个过程主要是找到所有的GC Roots对象,这些对象一般发生在JVM虚拟机栈栈帧、常量池中的静态对象、方法区中静态类属性引用、本地方法栈中引用的对象。这个过程会发生STW ...
分类:
其他好文 时间:
2020-07-12 13:56:39
阅读次数:
63
当然前提是你已经换好了阿里云镜像,如果没配好,请点击此链接 设置IDEA配置参数: 修改maven Importing的jvm参数,默认为700多, 修改为 -Xms1024m -Xmx2048m (备注:由于我的已经弄好了,这里贴一张网上搜到的一张照片) ...
分类:
其他好文 时间:
2020-07-12 01:16:40
阅读次数:
272
初识Java Java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 JDK、JRE、JVM JDK:Java Development Kit(Java开发工具) JRE:Java Runtime Environment(Java运行时环境) JVM:Java ...
分类:
编程语言 时间:
2020-07-11 23:03:50
阅读次数:
56
线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源调度(内存地址、文件I/O等),又可以独立调度。 线程的实现 主流的操作系统都提供了线程实现,Jav语言则是提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已 https:// ...
分类:
编程语言 时间:
2020-07-11 19:08:40
阅读次数:
50
一、jmx 方式 加上如下启动参数,以 tomcat 为例,修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS JAVA_OPTS="-Djava.rmi.server.hostname=192.168.8.229 -Dcom.sun.management.jmxremote. ...
分类:
其他好文 时间:
2020-07-11 09:44:49
阅读次数:
92
Hotspot算法细节实现 我们以可达性分析算法中,从GC Roots集合找引用链这个操作作为介绍虚拟机高效实现的第一个例子。 固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,但查找过程并非易事,光是方法区的大小就常有数百上千兆,里 ...
分类:
其他好文 时间:
2020-07-11 09:43:01
阅读次数:
52
很多开发者认为Python是比Java更高效的语言,Python是一种解释性语言,伴随着优雅的语法,它是脚本编写和快速应用程序开发在许多领域的绝佳选择。 Python是一种动态类型的编程语言,无需声明变量。而Java是一种统计类型的编程语言,其中必须明确声明变量。 即使未列出某些Java“类外壳”, ...
分类:
编程语言 时间:
2020-07-10 19:35:52
阅读次数:
81
一、基础内部部分 Java虚拟机在运行时,会把内存空间分为若干个区域,根据《Java虚拟机规范(Java SE 7 版)》的规定,Java虚拟机所管理的内存区域分为如下部分:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ? 1.方法区 方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及 ...
分类:
其他好文 时间:
2020-07-10 19:21:16
阅读次数:
59
二、jvm内存泄漏 1.堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证GC Roots到对象之间有可达路径来避免垃圾收集回收机制清除这些对象,当这些对象所占空间超过最大堆容量时,就会产生OutOfMemoryError的异常。 新产生的对象最初分配在新生代,新生代满后会进行一次Min ...
分类:
其他好文 时间:
2020-07-10 18:35:00
阅读次数:
68