学习java语言近五年,使用java语言进行项目开发近两年,期间开发过JAVAEE项目,JAVAME项目。从当初毛头小伙学习java,开始接触使用struts,spring,hibernate,那个时候觉得这些框架是多么的深不可测。后来觉得该研究一下这些框架的源码,发现java基础的重要性,学习jvm规范的重要性,设计模式在java框架中起到举足轻重的作用。
现在想来都是java虚拟机对java字节码的管理,java虚拟机在加载java字节码的时候对二进制字节码流进行解析,并创建一个数据结构来保存java类的信息,该数据结构就是对应该类的一个Class对象。有了这个对象之后,那么java反射机制、anotation机制也就就不难理解了,无非就是通过动态的控制java字节码来进行动态改变一个类的行为,这其实也是spring面向切面的实现方式,当然底层是通过ASM框架实现的。
java的一个类是从编写好之后,通过编译成为字节码文件,然后java虚拟机进行加载、连接、初始化。
加载过程是由虚拟机提供一个类加载子系统完成的,其中启动类加载器是C语言实现的,它创建一个根加载器,在创建一个扩展加载器,然后提供用户自己实现加载器类的机制,实际上有一个委托机制,考虑的是java加载的字节码是否安全的问题。
连接分为三个步骤,分别为验证、准备与解析,验证步骤主要是确保加载进来的字节码符合java语言的语义,例如final类不能被继承等。准备步骤为类变量分配内存。解析步骤将符号引用转化为直接引用。
初始化为类变量初始化在程序中赋予的值。
时间关系先写到这里吧...待续
分享到:
相关推荐
2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...
在IT领域,特别是Java编程的学习过程中,"JAVA夜未眠,thinkingJAVA和学习笔记"这一主题涵盖了许多核心概念和实践技巧。以下是对这些资源的详细解释: 首先,"Java夜未眠"可能指的是一个深入探讨Java编程的书籍或...
"JAVA课程总复习"涵盖了从基础到高级的各种Java知识点,旨在帮助开发者系统地回顾和理解这个强大而广泛应用的编程语言。 首先,我们关注的是"PPT_JAVA总复习.ppt",这是一个精心制作的PowerPoint演示文稿,通常会...
综上所述,学习Java编程思想,我们不仅需要掌握必要的技能和知识,更需要培养自己独立思考的能力。我们应该主动学习,深入理解编程的底层原理,并通过反复实践去检验和深化我们的理解。只有这样,我们才能真正地...
建议初学者首先扎实掌握基础语法和核心概念,如变量、控制结构、类与对象等,然后再逐渐学习并运用高级特性,如多线程、反射、泛型等。 2. **忽视基础知识的重要性**:很多学习者过于关注特定框架或库的使用,而...
- 定期回顾已学知识,并关注最新的技术动态和发展趋势。 综上所述,通过给定的文件信息,我们不仅可以了解到百度网盘的使用方法及其在文件分享中的作用,还能深刻认识到Java作为一种重要的编程语言在软件开发领域...
Java毕业设计是大学计算机科学专业学生在学业结束前必须完成的重要环节,旨在综合运用所学的编程知识,解决实际问题,提升独立思考和项目管理能力。"JAVA毕业设计指南与项目实践.zip" 提供了一份宝贵的资源,对于...
#### 1.3 独立思考与求助他人 在遇到难题时,首先应该独立思考,尝试自行解决问题。在这个过程中,可能会发现一些新的解题思路或是理解上的误区。当然,如果经过深思熟虑仍无法找到答案,则应及时向老师或同学寻求...
而对于已经具有一定编程经验的读者,这本书则提供了深入学习和自我提升的广阔空间,使他们能够系统地回顾和扩展自己的Java知识体系。 在Java开发领域,技术的快速迭代和更新是常态。《Thinking in Java》第二版不...
- 学习如何使用命令行工具javac和java进行Java程序的编译和运行。 - 掌握如何编写第一个Java程序“Hello World”。 **高手之路:** - 探讨Java的内存管理机制,理解堆栈的区别。 - 分析Java中的关键字和保留字,...
而在这条路上,李开复先生所著的“给学JAVA的一封信3”为我们指明了一条通往成功的道路。这封信并没有直接教授Java编程的技巧,而是从一个成功企业家和学者的角度出发,向正在学习Java语言的学生传达了关于成功、...
总之,学习Java或任何编程语言时,应注重实践、思考和不断学习。通过实际项目巩固理论知识,掌握好基础工具和技能,同时保持对新技术的关注。这样不仅能提高个人能力,也能为职业发展注入持续的动力。
总之,小升初阶段的学生应该结合科学的学习方法,如合理规划时间、重视基础、多做习题、深度思考和广泛阅读,同时利用趣味性的学习工具,如Java小游戏,来提高学习效率和兴趣。通过这些方法的综合运用,学生不仅可以...
1. **基础语法与面向对象设计**:Java的基础包括类、对象、继承、多态等概念,这些是所有Java程序的核心。源码中可能会包含这些概念的实际应用示例,帮助我们巩固理论知识。 2. **异常处理**:Java的异常处理机制是...
《Building Java Programs: A Back to Basics Approach》是Java编程领域一本知名的教材,专注于基础和核心概念,适合初学者和有经验的程序员回顾基础知识。这本书的第二版提供了对Java编程语言的深入理解,强调了...
这些都是学习Java过程中非常宝贵的资料,可以帮助回顾和巩固已学知识,同时为其他学习者提供参考。 在Java学习过程中,复习巩固是非常重要的,因为Java语言博大精深,包括基础语法、面向对象特性、异常处理、集合...
Java实验报告是学习Java编程过程中一个重要的环节,它旨在帮助学生深入理解理论知识,并通过实践操作来提升编程技能。...通过这种方式,不仅可以巩固所学知识,还能培养解决问题和独立思考的能力。
游戏化学习是一种通过游戏环境让学习者进行学习和思考的方法,目的是让学习者在不断探索的过程中获得新知识和新技能。为了实现游戏化学习,在设计教育游戏的虚拟情境时,需要将游戏的画面层次感打造得更加生动真实,...
虽然乍一看这似乎与JAVA编程关系不大,但实际上这里强调的是理解底层原理的重要性。例如,在处理并发问题时,理解计算机系统的工作原理(包括操作系统、硬件架构等)对于解决死锁、线程安全等问题至关重要。此外,...