学习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演示文稿,通常会...
建议初学者首先扎实掌握基础语法和核心概念,如变量、控制结构、类与对象等,然后再逐渐学习并运用高级特性,如多线程、反射、泛型等。 2. **忽视基础知识的重要性**:很多学习者过于关注特定框架或库的使用,而...
- 定期回顾已学知识,并关注最新的技术动态和发展趋势。 综上所述,通过给定的文件信息,我们不仅可以了解到百度网盘的使用方法及其在文件分享中的作用,还能深刻认识到Java作为一种重要的编程语言在软件开发领域...
Java毕业设计是大学计算机科学专业学生在学业结束前必须完成的重要环节,旨在综合运用所学的编程知识,解决实际问题,提升独立思考和项目管理能力。"JAVA毕业设计指南与项目实践.zip" 提供了一份宝贵的资源,对于...
#### 1.3 独立思考与求助他人 在遇到难题时,首先应该独立思考,尝试自行解决问题。在这个过程中,可能会发现一些新的解题思路或是理解上的误区。当然,如果经过深思熟虑仍无法找到答案,则应及时向老师或同学寻求...
- 学习如何使用命令行工具javac和java进行Java程序的编译和运行。 - 掌握如何编写第一个Java程序“Hello World”。 **高手之路:** - 探讨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编程关系不大,但实际上这里强调的是理解底层原理的重要性。例如,在处理并发问题时,理解计算机系统的工作原理(包括操作系统、硬件架构等)对于解决死锁、线程安全等问题至关重要。此外,...
### 10年Java软件经验总结与个人对当前软件环境的分析及转型看法 #### Java技术发展概述 在过去的十年间,Java作为一种重要的编程语言,经历了显著的发展与变化。随着互联网技术的飞速进步,Java也在不断适应新的...
通过练习巩固所学知识,及时回顾并强化记忆。 #### 六、Java学习资源与环境 - **核心观点**:合理利用学习资源和环境可以加速学习进程。 - **重要性**:丰富的资源和良好的学习环境对于提升技能至关重要。 - **...
"JAVA经典算法90题【含源码】"的资源集合为Java初学者提供了一个绝佳的学习平台,旨在通过实际操作来理解和应用各种基础及进阶算法。下面将详细阐述这些算法题目所涉及的知识点,并建议的学习路径。 首先,"JAVA...