周末熟睡的深夜,突然接到老板电话☎的催促。“赶紧看微信、看微信,咋系统出问题了,我们都不知道,还得用户反馈才知道的!!!”深夜爬起来,打开电脑连上 VPN ,打着哈欠、睁开朦胧的眼睛,查查系统日志,原来是系统挂了,赶紧重启恢复!
如示例代码,字符串 Demo、Program、Main、args、text 都是标识符。可以看出,标识符就是我们命名用的字符串,当然这个字符串不能随心所欲的命名,必须遵守语言的规则。我们平时开发也很少会起一些奇奇怪怪的名字,这里我也不去多介绍规则了。值得注意的是,C# 是一门大小写敏感的语言,所以 hello 和 Hello 不冲突
new 函数格式为: new(T) 特点:它返回一个指针, 该指针指向新分配的,类型为 T 的零值
变量,计算机语言能存储计算结果或表示值的抽象概念。可以通过变量名访问,变量名由字母、数字、下划线组成,其中首个字符不能为数字
数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。
常量声明常量是程序在编译时就确定的值,程序在执行时不能修改常量的值。声明常量使用关键字const。在声明常量时,需要对常量赋值。const 名称 类型 = 值 或 const 名称 = 值 自动做类型推断
常量是程序在编译时就确定的值,程序在执行时不能修改常量的值。声明常量使用关键字const。在声明常量时,需要对常量赋值。
基本类型 包括byte,short,int,long,float,double,boolean,char。
关键词 bool 用于定义 boolean类型变量,boolean 类型变量的取值只有 true 和 false, 零值(默认值)为 false golang 不允许把 boolean 类型转变为数字类型
Go函数的返回值或结果“形参”可被命名,并作为常规变量使用,就像传入的形参一样。 命名后,一旦该函数开始执行,它们就会被初始化为与其类型相应的零值; 若该函数执行了一条不带实参的 return 语句,则结果形参的当前值将被返回。 此名称不是强制性的,但它们能使代码更加简短清晰:它们就是文档。若我们命名了 nextInt 的结果,那么它返回的 int 就值如其意了。 func nextInt(b []byte, pos int) (value, nextPos int) { 由于被命名的结果已经初始化,且已经
Byte Buddy 是一个代码生成和操作库,用于在 Java 应用程序运行时创建和修改 Java 类,而无需编译器的帮助。
本文主要是《Object Serialization Stream Protocol》一文的翻译,然后对序列化格式进行了一些总结
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
PS:传值调用,形参是实参的临时拷贝,开辟还要占据空间。而传址调用仅仅传递地址,节省空间
单例模式是设计模式中最简单也是最常用的模式之一,所谓单例就是在系统中只有一个该类的实例。
单例模式是23种GOF模式中最简单,也是最经常出现的一种设计模式,也是面试官最常爱考的一种模式,为什么呢? 因为单例模式足够简单,编写一个单例模式代码几分钟就能搞定,所以设计模式中面试官通常会选取单例模式作为出题。 下面把单例模式分几个点,分别说说哪些地方面试官能考你?
在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代(例如,public static final String male )。JKD1.5之后使用 Java 枚举类型 enum 可以更贴近地表示这种常量。
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
final是最终、不可修改的意思, 在Java中它可以修饰非抽象类,非抽象方法和变量。但是需要注意的是:构造方法不能使用final修饰,因为构造方法不能够被继承。下面,咱们就来一一看看吧!
枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
本文涉及到的类主要在 org.skywalking.apm.agent.core.plugin 包里,如下图所示 :
枚举可以被认为是一个密封类的语法糖,该类在编译时仅实例化了若干次,以定义一组常量。
在「语言导论」中,我们曾提到过「万物皆对象」,事实上,也确实如此。在面向对象编程的世界中,我们创建对象、操作对象、销毁对象,我们所做的一切动作都离不开对象。在本章中,就让我们一起来看看 Java 中的对象。
上面一段非常简单代码,其生产的IL代码如下,在使用常量变量的地方,把她的值拷过来了(把常量的值内联到使用的地方),与常量变量A.PORT没有关系了。假如A引用了B程序集(B.dll文件)中的一个常量,如果后面单独修改B程序集中的常量值,只是重新编译了B,而没有编译程序集A,就会出问题了,就是上面所说的不支持跨程序集版本更新。常量值更新后,所有使用该常量的代码都必须重新编译,这是我们在使用常量时必须要注意的一个问题。
C语言已经学习了一部分了,我计划写一点与C有关的文章。希望能坚持下去。 这不是我的第一篇博客,但胜似我的第一篇博客。 第一次体会到写博客也不容易啊,加油!
前言 在之前的文章《聊聊设计模式之单例模式(上)》中,笔者为大家介绍了单例模式的几种常见的实现方式,并列举了各种实现方式的优缺点。在该文章的最后,笔者指出传统的“双重校验”实现“懒汉模式”的方式中存在的问题,由于篇幅所限,未能详述,因此本文将对这个问题继续深入探讨,并为大家介绍单例模式更优雅的实现方式。 “双重校验”的陷阱 在《聊聊设计模式之单例模式(上)》中,我们讲到因为指令重排序的原因,使得传统的“双重校验”会导致调用方访问到没有完成初始化的单例对象。既然这个问题是指令重排序导致的,那么解决的方案还是
MSDN定义:枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。 例如,假设您必须定义一个变量,该变量的值表示一周中的一天。 该变量只能存储七个有意义的值。 若要定义这
有简单又高效的方法可以实现单例模式,但没有一种方式能在任何情况下都确保单例的完整性。
Java编程的风格介绍,主要参考乐google的java code style。对模糊部分作出了明确的选择。
强调的是我该怎么去做。即功能的执行过程,即先干啥,后干啥。在面向过程中,我们会写很多的函数,每一个函数负责完成某一个功能。
(1)全局变量------在{}外部定义的变量 (2)局部变量------在{}内部定义的变量
本文介绍了枚举类的基本概念,使用方法,以及底层实现原理。帮助你更好地使用枚举类并且理解枚举类的内部实现细节。
本文主要介绍java的单例模式,以及详细剖析静态内部类之所以能够实现单例的原理。OK,废话不多说,进入正文。
1. 构造器 构造器的一个重要的作用: 保证对象被使用之前初始化了. 构造器是一种特殊类型的方法, 因为他没有返回值。这与返回值为空(void)明显不同。对于空返回值,尽管方法本身不会自动返回什么,
1、android:exported属性:主要作用是:是否支持其它应用调用当前组件。默认值:如果包含有intent-filter 默认值为true; 没有intent-filter则默认值为false。虽然说加了这个属性,可以使该组件不被其他的程序调用。但是,需要注意的是,如果两个程序的userid是一样的话,exported=”false”会失效。
============================================================================= 涉及到的知识点有: 一、结构体 1、定义结构体struct和初始化、2、访问结构体中的成员、3、结构体的内存对齐模式、4、结构体中元素的位字段、 5、结构体中的数组、6、结构体的嵌套、7、结构体的赋值、8、通过指针访问结构体成员(即指向结构体的指针)、 9、通过指针访问结构体数组(即指向结构体数组的指针)、10、结构体变量的指针成员与浅拷贝、深拷贝的操作(即结构中的数组成员和指针成员)。 二、联合体 三、枚举类型 1、c语言中枚举的定义、2、改变枚举的默认值。 四、typedef 课堂练习:在堆中处理结构体的指针成员。 ============================================================================= ============================================================================= 之前学过的数据类型叫做基本数据类型,也叫做单一数据类型。 例如:整型、浮点型、指针类型。
枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类.
通过一个相对较小的版本,C# 7.3解决了一些自C# 1和2以来长期悬而未决的问题。 重载解析 从C# 1.0开始,重载解析规则的设计就相当有问题。在某些情况下,它会选两个或更多方法作为候选,虽然所有这些方法中只有一个会被使用。根据这些错误选出的方法的优先级,编辑器要么会报没有匹配的方法,要么会报匹配不明确。 C# 7.3把其中部分检查移到了重载解析期间,而不是重载解析之后,这样,错误的匹配就不会导致编译器错误。改进后的重载候选提案概括了这些检查: 当一个方法组既包含实例又包含静态成员时,如果调用时没有实
刷豆瓣看到《深入理解 JVM》出第三版了,遂买之更新 JVM 知识,本文为笔记,仅供个人 Review
刷豆瓣看到《深入理解 JVM》出第三版了,遂买之更新 JVM 知识,本文为笔记,仅供个人 Review。
大家好,又见面了,我是你们的朋友全栈君。 indows常用快捷键和常见命令 省略100万行 二进制=>0、1 一个字节是八位。每个0或者每个1都叫做是bit 二进制的计算,除2除到余数为一,一算到最后一位,结果需要倒过来。 上述直接操作 字节 是计算机中最小的存储单元,计算机储存的任何数据都是以字节的形式存储的。 1KB = 1024 Byte 1MB = 1024 KB 命令提示符常用的命令 D:可以直接切换到d盘 根路径就是最高的一层的路径 总结:切换盘符就是 你需要切换
之前一直就很好奇 java -jar 到底发生了什么,为什么执行 java -jar 代码就自动运行了。今天我们来说明一下,尽量覆盖操作系统、编译原理、JVM 的一些东西。( 本文将处于一个不断更新的状态,知道上面这些东西覆盖的差不多了为止,如果可以的话,也会加上硬件方面的东西 ),主要的目的就是为了能以最简单的 java 代码来串一些相对来说比较底层的东西,让自己以及让每个读者对计算机能有一个相对全局的了解。
上一篇翻译了C++14的新特性简介,这篇就是Anthony Calandra在https://github.com/AnthonyCalandra/modern-cpp-features/blob/master/CPP17.md 中对C++17重要的新特性的简介。原文中有些地方写得不是很好理解所以对其做了少量修改
来源:yinzige.com/2020/03/08/ understanding-jvm-3ed/
领取专属 10元无门槛券
手把手带您无忧上云