编译器

JVM类加载过程

JVM的类加载过程总体来说分为三个阶段: 1、类的加载 类的加载过程通过一个类的全限定名获取定义此类的二进制字节流,然后将这个字节流所代表的静态数据结构转化为方法区的运行时数据结构,最后在内存中生成一个代表这个类的java.lang.Class对象,作为方法去这个类的各种数据的访问入口。 加载.cl .........

如何在最小化安装的CentOS 7.5上编译安装Git2.19

VMware Workstation已经采用最小化安装CentOS7,显示版本为CentOS7.5,准备采用yum安装git。采用yum list git发现可安装的GIT软件包版本1.8.3.1,新的版本已经是2.19了,因此,我决定编译安装.........

Typescript 接口默认值 - Typescript interface default values

问题: I have the following interface in TypeScript:我在 TypeScript 中有以下接口: interface IX { a: string, b: any, c: AnotherType } I declare a variable of that type and I ini.........

Java switch statement: Constant expression required, but it IS constant

问题: So, I am working on this class that has a few static constants:所以,我正在研究这个有一些静态常量的类: public abstract class Foo { ... public static final int BAR; publi.........

Winform同步调用异步函数死锁原因分析、为什么要用异步

1、前言 几年前,一个开发同学遇到同步调用异步函数出现死锁问题,导致UI界面假死。我解释了一堆,关于状态机、线程池、WindowsFormsSynchronizationContext.Post、control.BeginInvoke、APC、IOCP,结果我也没讲明白、他也没听明白。后来路过他座位 .........

初探webpack之从零搭建Vue开发环境

初探webpack之搭建Vue开发环境 平时我们可以用vue-cli很方便地搭建Vue的开发环境,vue-cli确实是个好东西,让我们不需要关心webpack等一些繁杂的配置,然后直接开始写业务代码,但这会造成我们过度依赖vue-cli,忽视了webpack的重要性,当遇到一些特殊场景时候,例如Vu .........

JVM详解(四)——运行时数据区-堆

一、堆 1、介绍 Java运行程序对应一个进程,一个进程就对应一个JVM实例。一个JVM实例就有一个运行时数据区(Runtime),Runtime里面,就只有一个堆,一个方法区。这里也阐述了,方法区和堆是一个进程一份。而一个进程当中,可以有多个线程,那就意味着一个进程中的多个线程会共享堆空间和方法区 .........

如何自定义注解?

注解英文称 Annotaion,是Java从1.5开始支持加入源码的特殊语法元数据,作为程序的元数据嵌入到程序当中。注解实现有一个重要的接口Annotation接口,利用@interface关键字,将所有使用该关键.........

面试官:Java从编译到执行,发生了什么?

面试官:今天从基础先问起吧,你是怎么理解Java是一门「跨平台」的语言,也就是「一次编译,到处运行的」? 候选者:很好理解啊,因为我们有JVM。 候选者:Java源代码会被编译为class文件,class文件是运行在JVM之上的。 候选者:当我们日常开发安装JDK的时候,可以发现JDK是分「不同的操 .........

c++11 返回值优化还是移动? [重复] - c++11 Return value optimization or move? [duplicate]

问题: This question already has answers here : 这个问题在这里已经有了答案: C++11 rvalues and move semantics confusion (return statement) (6 answers) C++11 右值和移动语义混淆(.........