3、搜索class文件

Python010

3、搜索class文件,第1张

gojvm目录

1、搭建go环境

2、cmd命令行参数解析

3、搜索class文件

4、添加testOption 便于单元测试

5、解析classfile文件

6、运行时数据区

7、指令集

8、解释器

9、创建Class

10、类加载器

11、对象实例化new object

12、方法调用和返回

13 类初始化

14、jvm支持数组

15、jvm支持字符串-数组扩展

16、本地方法调用

17、ClassLoader原理

18、异常处理

19、 启动jvm

java jvm根据类路径(class path)来搜索类,加载到内存

可以通过 -Xbootclasspath 修改启动类路径

参数 -classpath /-cp

go语言不需要显式实现接口

defer 确保异常及时处理

1、Entry搜索类路径

2、DirEntry 搜索目录下类路径

3、ZipEntry 搜索zip或jar文件形式类路径

4、CompositeEntry 组合类路径

5、WildcardEntry 所有通配符下类路径

Entry 类路径查找

测试类

https://github.com/yinlingchaoliu/jvmgo.git

提交标签classpath

Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。

Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。

Go语言能干什么?

1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等

2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发

3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀

4、Paas云平台领域:Kubernetes和Docker Swarm等

5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等

6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言

7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的

8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。