今日完成
牛客四道链表算法(两道easy,两道mid)
力扣四道sql题(四道easy)
复习linux,shell命令(pwd,cd,ls, cp,mkdir,touch)
复习总结java概述
今日简单总结,明天正式开始(日常摆烂。。。。。。)
对java平台的理解
1. java语言:java是一种面向对象的编程语言
2. 跨平台性:java平台通过虚拟机屏蔽操作系统的底层细节来实现一次编译,多次运行的跨平台性
3. jvm:java虚拟机
4. api类库:包括集合,并发,异常,线程,IO/NIO,安全等核心类库
5. 第三方类库:包括商业机构,开源社区等提供的java类库
6. JDK提供的各种编译,监测,诊断工具
java是编译执行对吗?
不能说不正确,只能说是不太正确
因为java源码通过javac编译成字节码,然后在运行时,通过jvm内嵌的解释器将字节码转换成机器码,
然而,大部分jvm都有提供动态编译器,在运行时会将热点代码转换成机器码,这个时候部分热点代码就是编译执行,而不是解释执行。
JVM, JRE, JDK之间的关系
JVM就是指java虚拟机
JRE指JVM + 核心类库(集合,并发,线程,安全,IO/NIO,异常等核心类库)
JDK指JRE + java开发工具(java.exe(运行java程序),Javac.exe(编译生成.class文件),javaw.exe(运行GUI程序))
跨平台性
一次编译,多次运行。java平台通过虚拟机屏蔽操作系统的底层细节来实现一次编译,多次运行的跨平台性
什么是字节码,字节码的好处
1. 字节码:java源码通过javac编译后产生的文件(.class文件)
2. 好处:可以提高解释型语言执行效率低的问题,同时也可以保留解释型语言的可移植性,使java程序在运行时更高效
因为字节码是只面向java虚拟机的,所以在编译一次后可以在不同的操作系统上运行
明日计划
上午:sql题(3道easy),算法(2~3道),数据结构(2~3道)
下午:完成上午未完成的,linux,shell命令复习
晚上:java面试题部分总结,mysql部分面试题总结 (时间充裕:复习hadoop)
整体总结
明日摆烂我是狗!!!!!!!!!!!!!!