读完ixu 的JAVA EE开发难经,叹服其深邃的思想,以及其独到的方式。不由的设身处地,能否如他般天马行空地穿梭于软件开发世界?在此结合自己的实际情况,凸显出自己的不足,以便以后纪念,努力去追求先进的思想!
最终对问题的迎刃而解,发现一个共同之处,就是对背后原理的毫无遗漏的揭露,这就是问题的本质!当真相大白于天下时,感觉很简单,如我等IT妇孺都能够清清楚楚,明明白白。但是价值不在于答案,而是探幽(借用ixu的术语)答案的旅途!
首先看看探幽的生命周期:问题---原理的分析--最终解决过程!这之间最容易卡壳的地方时哪里呢?我再来细化这一过程,问题现场---分析问题--联系到原理----原理分析----最终的解决之道。对于此,我觉得最容易的地方是在问题现场,和最终解决地方,这两地方是显而易见的。中间就是难以跨越的鸿沟,三座大山!
三座大山之一:分析问题。分析问题,对于技巧和经验的需求最大的。技巧:结合自己所有经验,走一次最容易排错的地方。结合成功的例子,走一遍与问题出现现场异同的地方,发现共同点和特殊性!这一步或许你能够解决问题,但是如果不继续探幽下去的话,留下的只是一堆一堆容易遗忘的离散的丁丁点点,这个虽然重要,但是会随着潮流过时的!
三座大山之二:联系到原理。我这里的原理应该确切的讲,是你应用层的框架层,或者源代码层。这个不仅需要DOCUMENT,SRC。更重要的是:对整体战局的把握,对细节的取舍,简化!这个我觉得是最具有难度的!这个的完成或许用类图,流程图帮忙,是我们思想的利器!
三座大山之三:对原理的分析,这个要结合问题,再现问题,以及找出真正的元凶,用流程图,顺序图是最好的帮手!
写到这里,我停下来思考一番:如果把软件从字节码到应用作为一个由你主导的整体的话,那么解决问题是自顶向下(相对于问题)的过程,而开发是个自底向上的过程。当然这不是绝对的,我姑且为了理解如此般的简化!
如果让我把软件的本质在来抽象的话,我觉得软件就是一堆规则。规则可以引用嵌套规则!现实世界是问题现象驱动式的,而我们的思维是盘根错节的纠缠缠绕式的。出现问题则是规则的违背。假设我们可以晓得一切规则,那么问题就不在了!这种假设是根本不可能实现的永动机!或许它能指明方向,让我成着应对!
软件应该用哲学去简化。
分享到:
相关推荐
### 生产环境下的Java排错调优 #### 开源力量公开课第1期——生产环境下的Java排错调优 本次公开课由施懿民老师主讲,聚焦于生产环境下的Java排错与性能优化,这对于提高Java应用的稳定性和效率至关重要。 #### ...
一、Eclipse提示错误The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 调试Reflact时,Eclipse一直提示The type java.lang.CharSequence cannot be...
在IT行业中,排错是一项必不可少的任务,无论是系统管理员、开发者还是运维工程师,都需要熟练掌握各种排错工具。这个名为“排错常用工具集『精』”的压缩包,显然是一个汇集了作者在企业环境中常用的一些高效排错...
本教程涵盖了多种技术栈,包括ASP.NET、C#、Java、Perl以及XML,这些都是现代软件开发中的核心语言和技术。下面,我们将深入探讨这些知识点。 首先,ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建...
Java语言程序设计教案.doc ...* Java程序的框架、开发程序的步骤、掌握简单调试与排错技术 * Java程序分析、程序的调试和排错技术 教学难点: * 软件体系结构 * Java环境设置 * Java程序分析、程序的调试和排错技术
在编程过程中,文本处理是一项基础且重要的任务,而“易语言文本排错工具”就是专门针对这一需求开发的一款实用软件。本文将详细介绍该工具的功能、实现原理以及如何使用它来解决文本处理中的常见问题。 首先,我们...
掌握JDK(Java Development Kit)自带的一系列命令行工具对于提高开发效率有着不可替代的作用。以下是一些常用的命令: - **appletviewer**:用于查看Java Applet应用。 - **HtmlConverter**:用于将HTML文件转换为...
- **开发工具**:熟练使用MyEclipse、NetBeans等开发平台,以及Apache Tomcat进行Java开发。 - **Web架构模式**:熟练使用MVC模式进行Web编程,熟悉常见的设计模式(如Factory、Singleton、MVC等)。 - **框架技术**...
随着Java技术的广泛应用,越来越多的计算机相关专业学生选择Java作为毕业设计的编程语言。为了帮助大家更好地完成毕业设计,我们特地整理了一系列Java毕业设计项目参考资源,包括源代码、MD文档、笔记等等,希望能对...
在IT领域,尤其是在Web服务器管理和维护中,遇到“IIS排错 Server Application Error”是一个常见的问题。IIS(Internet Information Services)作为微软提供的Web服务器解决方案,其稳定性和性能得到了广泛认可,但...
这些并不是程序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在开发设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定性...
- **IntelliJ IDEA**:强大的Java开发工具,特别适合企业级应用开发。 - **JBuilder**:曾经非常流行的一款Java IDE。 - **JDeveloper**:Oracle提供的集成开发环境。 - **JCreator**:轻量级的Java IDE,适合初学者...
"cisco packet tracer排错实验集合"是一个针对网络初学者和专业人员的宝贵资源,包含了26个精心设计的实验,覆盖了各种网络排错场景。 实验一至二十五:这些实验可能分别涵盖了不同的网络问题,例如路由问题、...
2. **命令**:在Java开发中,我们常用JDK提供的命令行工具,如`javac`用于编译Java源代码,`java`用于运行编译后的字节码,以及`jar`用于打包和管理类库。熟悉这些命令的用法对日常开发工作非常关键。 3. **工具**...
作为一个Java程序员,掌握全面而深入的技术知识是必不可少的。以下是从标题、描述、标签和部分内容中提炼出的关键知识点,旨在帮助Java程序员构建坚实的技术基础。 ### 语法掌握 语法是编程语言的基础,对于Java...
文章首先强调了排错的重要性,指出无论是开发、测试还是技术支持,都需要面对程序运行结果与预期不符的情况。排错不仅要求找到问题的根源,而且在某些特殊情况下,如难以复现的问题或无源代码可供参考时,更具有挑战...
1、JavaCV-1.5.5可用jar包 2、jar包官网下载地址(Windos or Linux 都有,并且有下载导入教程) 3、JavaCV案例教程地址 4、包括jar导入异常排错,其他jar版本选择,和官网案例查看
在Linux系统中进行故障排查是一项重要且复杂的技能,它要求系统管理员对Linux系统有深入的理解,并掌握多种诊断和排错工具。以下是从给定文件中提取的Linux排错相关知识点。 首先,故障分类是排错的第一步,它有助...
在软件开发过程中,代码审查是确保软件质量的重要环节之一。本文将详细介绍审查Java代码时常见的十一种错误,并提供相应的解决方案,帮助开发者提高代码质量和程序稳定性。 #### 1\. 使用不可变对象创建新实例 **...
在Java开发中,反编译工具主要有以下用途: 1. **学习与分析**:当你遇到一个开源库,但没有提供源代码时,可以使用反编译工具来查看其实现细节,这有助于学习和理解其工作原理。 2. **调试与排错**:在没有源代码...