使用泛型的优缺点: 优点:避免了类型转换的的麻烦,存储什么类型,取出什么类型;把运行异常,提升到了编译期 缺点:只能存储单一类型 泛型就是编写模板代码来适应任意类型 不必对类型进行强制转换 编译器将对类型进行检查 注意泛型的继承关系: 可以把ArrayList<Integer>向上转型为List<I ...
分类:
编程语言 时间:
2020-04-22 16:20:01
阅读次数:
74
reflect包中的Class类(注意是大写C)——类型标识类-Class import java.lang.reflect; 反射reflection:程序可以访问、检测和修改它本身状态或行为的能力,即自描述和自控制。 可以在运行时加载、探知、使用编译期间完全未知的类 可以在运行时查看和操作对象: ...
分类:
编程语言 时间:
2020-04-18 17:16:37
阅读次数:
63
mypy 静态类型检查可以帮助coder在运行前(编译期)发现由于类型错误带来的bug 在开发的项目越来越大的时候,不必阅读更多的代码来确定你要修改的某个方法是否会影响其他的代码的运行 使用方法:(先安装) 类型:https://docs.python.org/zh cn/3/library/typ ...
分类:
其他好文 时间:
2020-04-17 17:21:29
阅读次数:
78
SwiftUI - init SwiftUI 中init方法,会在编译期进行预加载 init() { } List样式设置init方法中预onAppear中的区别 // 全局生效,以项目中最后加载的init方法中的设置为准 init() { UITableView.appearance().sect ...
分类:
编程语言 时间:
2020-04-11 00:08:09
阅读次数:
72
jsp指令:编译指令 相当于编译期间的命令(换句话jsp转换Servlet过程间需要用到的命令) jsp指令包括:page include taglib page:用于定义jsp页面的一些属性和这些属性的值 <%@page 属性1="属性1的值" ...%> 对整个jsp页面都有效与位置无关 inc ...
分类:
其他好文 时间:
2020-04-03 13:57:43
阅读次数:
108
原博客:https://www.infoq.cn/article/java-memory-model-2/ 什么是指令重排序? java中的指令重排序是: 重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。 重排序分为两类:编译期重排序和运行期重排序,分别对应编 ...
分类:
编程语言 时间:
2020-03-27 21:46:45
阅读次数:
93
指令重排的分类:编译期重排序和运行时重排序 在JVM编译时期或者CPU执行JVM字节码时期,对现有的指令进行重排序,主要目的为了优化运行速度(在不改变程序运行结果的前提下) int a = 3 //1 int b = 5; //2 int c = a + b; //3 虽然说指令重排可以调高程序的执 ...
分类:
编程语言 时间:
2020-03-27 13:14:41
阅读次数:
91
GO 语言反射 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访 ...
分类:
编程语言 时间:
2020-03-27 10:57:21
阅读次数:
81
静态代理是一种编译期增强,还没运行就已经知道增强的目标对象。 装饰者是运行时增强,只有运行时才知道具体增强的目标。 Code show time 静态代理: package com.zjt.test; interface Duck { void swim(); } class DuckImpl im ...
分类:
其他好文 时间:
2020-03-22 18:14:20
阅读次数:
177
编译期: 是指把源码交给编译器编译成计算机可以执行的文件的过程.在Java中也就是把Java代码编成class文件的过程.编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码当成文本进行操作,比如检查错误. 运行期: 是把编译后的文件交给计算机执行.直到程序运行结束。所谓运行期就 ...
分类:
编程语言 时间:
2020-03-18 23:42:35
阅读次数:
73