预备知识模板参数可以是数值型参数(非类型参数)template<typename T, int N>void func(){ T a[N]; //使用模板参数定义局部数组}func<double, 10>(); 数值型模板参数的限制-变量不能作为模板参数(变量是不能在编译期就唯一确定的)-浮点数不能 ...
分类:
编程语言 时间:
2019-12-06 23:42:51
阅读次数:
124
泛型简单介绍: 可以使用泛型声明的元素:类、接口、方法、委托 泛型之前:泛型之前使用object封装不同类型的参数,缺点:性能差、运行时判断类型(不安全)...泛型是在编译期间转为实际类型副本,所以性能好,还可以使用约束对泛型进行约束 泛型约束:约束泛型类型必须满足约束。使用泛型约束后,可以像使用约 ...
前言 在C语言中,数组和指针似乎总是“暧昧不清”,有时候很容易把它们混淆。本文就来理一理数组和指针之间到底有哪些异同。 数组回顾 在分析之前,我们不妨回顾一下数组的知识。数组是可以存储一个固定大小的相同类型元素的顺序集合。为了便于我们说明,假设有以下数组声明: 数组大小必须在编译期就作为一个常数确定 ...
分类:
编程语言 时间:
2019-11-29 23:53:59
阅读次数:
155
java里的static/final含义 static + static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类) + static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变。因此static修饰的属性必须有初始值(数值型变量默认值为0,布尔型默认值为false, ...
分类:
编程语言 时间:
2019-10-28 23:59:55
阅读次数:
159
java.lang.NoSuchMethodError 运行时错误,再编译期一般不会出现这个问题。NoSuchMethodError中文意思是没有找到方法,遇到这个错误并不是说依赖的jar包、方法不存在而找不到,这就类似于 ClassNotFoundException错误了,出现ClassNotFo ...
分类:
编程语言 时间:
2019-10-23 13:44:54
阅读次数:
73
动态编程 动态编程是相对于静态编程而言,平时我们大多讨论的都是静态编程,java便是一种静态编程语言,它 的类型检查是在编译期间完成的。而动态编程是绕过了编译期间,在运行时完成类型检查。java有如下方法实现动态编程:动态代理,动态编译 动态代理: 动态代理在我在设计模式中已经介绍过了,主要是通过 ...
分类:
其他好文 时间:
2019-10-21 17:45:15
阅读次数:
96
一、AspectJ概述 AspectJ是一个面向切面的框架,它扩展了Java语言、定义了AOP语法,能够在编译期提供代码的织入,它提供了一个专门的编译期用来生成遵守字节编码规范的Class文件。 @Aspect是AspectJ 5新增的功能,使用JDK 5.0注解技术和正规的AspectJ切点表达式 ...
分类:
编程语言 时间:
2019-10-20 15:49:36
阅读次数:
69
String 是 Java 中很重要的一个数据类型,除了基本数据类型以外,String 是被使用的最广泛的了,但是,关于 String,其实还是有很多东西容易被忽略的。 就如本文我们要讨论的问题:Java 中的 String 有没有长度限制? 这个问题要分两个阶段看,分别是编译期和运行期。不同的时期 ...
分类:
编程语言 时间:
2019-10-15 16:13:13
阅读次数:
79
#define已经在前面介绍过了,这里就不再讨论。#error可以强迫编译程序停止编译,用来在编译期检查环境是否符合要求或者与约束的条件发生了冲突。其使用格式是: #error token-string 当程序在编译过程当中遇到这个关键字,就会停止编译,产生一个错误信息,并且输出后面的token-s ...
分类:
其他好文 时间:
2019-10-15 11:32:41
阅读次数:
120
使用idea运行重构好的spark sql,在编译期出现如下错误: ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.2ANTLR 原因: 点击进入依赖,看 ...
分类:
其他好文 时间:
2019-10-08 14:43:02
阅读次数:
1371