要提高代码性能,你要了解很多的知识,包括处理器和编译器等软硬件知识,当然也包括编程语言的设计原理,比如选用合适的数据结构处理数据,如何循环遍历数据,内存的申请和回收,寄存器的使用时机等等。以上都是就代码本身来讲,如果结合框架,那就要考虑框架的架构和实现机制。就我自己来讲,由于个人能力有限,只能了解其中的一小部分。
使用java开发很多时候没有过多的去考虑性能上问题,是因为如今的硬件上来得很快.如果你是在单片机上做汇编,我想你会考虑的,你也不得不考虑.写 java程序只要合理的去使用集合框架,对比较耗时的操作代码进行调优就行.(比如sql的多表联查).使用框架没什么不好的,很多时间框架生成的sql 比你自己写的性能还高.当然如果你项目中有dba在,那建议使用jdbc直接执行sql.如果你是对自己要求比较高很是强调性能的程序员,建议去看下这本书<<Java数据结构和算法>>.
提高性能的通常做法:
1 比如IO, 使用NIO性能肯定比IO高
2 多线程好好学习一下,弄清楚为什么要那样。
3 集合方面知识,多看看源代码,了解底层数据结构
4 数据库方面,先确立建表,为什么这么建,索引也需要了解
习惯:
1:没事就看看大牛的blog
2:没事就看看开源框架的源码
以上看不懂得就放狗,时间长了自然就知道了
从不同角度分析
这个问题好像还很大哈。在我的理解里性能方面的知识,可以包括以下一些方面:
1、微观上:程序的执行效率,设计到算法和是否具有良好的程序编写习惯。(这个是需要长时间慢慢培养和提高的,是练就内功的一个方面。首先得熟悉解决不同问题的不同算法,排序啊,查找啊,什么的。还要对编程语言本身的特性和编译环境有很好的理解和认识,不然很难写出优秀的程序代码)
2、宏观上:系统中各模块技术的运用,和系统的架构。(这也是一个既需要广度又需要深度的活儿,慢慢积累。因为有时候真的是需要进行不同方式的尝试之后,才能更准确的理解和得到经验的积累,也才能有更准确的判断和设计)
3、技术面:有关性能技术面一般都是集中在多线程,线程池,分布式计算,Cache,数据库分区表相关的东东。
不要把自己陷的太深
可以分开几个部分来看来性能问题:
1.项目划分:
1)高性能高并发的通讯项目
2)web项目,分为后台实现复杂,前台展现,SQL查询复杂等方面。
等等。。。
可以挑几个具体的切入点来学习,
比方说高并发:
可以系统的看看JAVA多线程的设计,JDK 变发包,SOCKET,NIO,MINA 等等。
甚至包括设计模式和架构模型。。。
还有就是,你最好找一下切入点,比如,先研究一下java内存分配回收集中等等,
ibm的developerWorks上面就有好些很不错的文章
而且关于性能知识的问题也不是了解某一方面技能或知识就能解决所有问题,自己的知识面要广,要深.
分享到:
相关推荐
在这个"java代码.zip"压缩包中,包含了一些简单的Java练习程序,非常适合初学者用来了解和学习Java的基础知识。 "idea版.PNG"和"剪贴板 版.PNG"可能是一些截图,展示了代码在集成开发环境(IDE)如IntelliJ IDEA中...
【五子棋Java全套源代码】是一个基于Java Swing开发的桌面应用程序,专为五子棋爱好者设计。在这款游戏中,玩家可以与计算机进行对弈,体验经典的五子棋玩法。Swing是Java的一个图形用户界面(GUI)工具包,它允许...
### Java代码重构经验总结 在软件开发过程中,代码重构是一项重要的技能,它旨在不改变代码外部行为的前提下,改进其内部结构,从而提升代码质量和可维护性。本文将深入探讨Java代码重构的关键点,涵盖重构原则、...
附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/...
了解Java虚拟机(JVM)的内存区域,如堆、栈、方法区、本地方法栈以及垃圾回收机制,对于优化程序性能和解决内存泄漏问题至关重要。 总的来说,“java习题代码集”是一个极好的实践平台,它涵盖了Java编程的诸多...
### Java框架研发思考 #### 背景与动机 在软件工程领域,特别是在Java平台下进行应用开发时,框架的研发不仅是技术挑战的体现,更是对未来技术趋势的一种预测和引导。本文作者彭晨阳分享了他在开发Jdon框架过程中...
在Java世界中,开发者经常会思考如何优化代码,提高性能,例如通过减少内存消耗、避免不必要的对象创建、使用高效的数据结构和算法等。此外,对于大型项目,模块化设计、设计模式的应用、以及良好的编码规范也是常常...
Java 8是Java发展历程中的一个重要里程碑,它引入了许多创新特性和改进,旨在提升开发效率和程序性能。首先,让我们了解一下Java 8的主要特性: 1. **函数式编程**:Java 8引入了 Lambda 表达式,这是一种简洁的...
在LeetCode中,Java代码通常具有良好的可读性和可维护性,因此成为很多开发者首选的语言。 关于算法,它们是解决问题的核心工具。LeetCode中的题目涵盖了排序、搜索、图论、动态规划等各种经典算法。例如,快速排序...
- **性能优化**:探讨了代码性能优化的方法,包括算法优化、内存管理等。 - **测试策略**:强调了软件测试的重要性,包括单元测试、集成测试等多种测试方法的应用。 ##### 3. 新技术和趋势 - **新技术应用**:书中...
### 连连看Java源代码解析 #### 一、程序概述 本程序为一个基于Java Swing框架实现的连连看小游戏。程序通过图形用户界面(GUI)来展示游戏内容,并允许玩家进行互动操作。 #### 二、核心类结构及功能 程序主要由...
提高 Java 代码性能的各种技巧.docx 搜狗商业平台Java技术实践.docx 最新JAVA编程题全集(50题及答案).doc 百度历年笔试面试150题.docx 笔试1.doc 答案1.doc 细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅...
提高 Java 代码性能的各种技巧.docx 搜狗商业平台Java技术实践.docx 最新JAVA编程题全集(50题及答案).doc 百度历年笔试面试150题.docx 笔试1.doc 答案1.doc 细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅...
### Java完整记事本源代码解析 #### 一、项目概述 该项目是一个使用Java语言编写的记事本程序,相较于Windows系统自带的记事本,它具有更多的功能和更好的用户体验。该记事本包含了基本的文本编辑功能以及额外的...
总之,“Java课程设计案例精编源代码”是一个宝贵的资源,它包含了多种Java编程的实战案例,可以帮助学生巩固基础知识,掌握核心技能,同时鼓励他们独立思考和创新。通过分析和修改这些源代码,学生可以提升自己的...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名。在本压缩包中,我们有“几个Java小游戏源代码”,这些游戏包括了中国象棋和贪吃蛇等经典游戏,这些都是Java编程技术的实际应用示例...
提高 Java 代码性能的各种技巧.docx 搜狗商业平台Java技术实践.docx 最新JAVA编程题全集(50题及答案).doc 百度历年笔试面试150题.docx 笔试1.doc 答案1.doc 细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅...
本资料包“数据挖掘实用机器学习技术与JAVA代码”正是为那些想要学习或提升数据挖掘技能,特别是用Java实现机器学习算法的初学者而准备的。 首先,我们要理解机器学习是数据挖掘的一个关键部分,它让计算机能够通过...
Sun Microsystems(现在已被Oracle收购)是Java技术的始创者,他们发布了Java API的官方源代码,这对于学习、理解和优化Java代码具有极高的价值。 Java API涵盖了许多关键领域,包括基本类型操作、集合框架、输入/...
这个游戏的核心在于利用有限的移动步数解决复杂的空间布局问题,需要一定的策略和逻辑思考能力。下面将详细探讨Java实现推箱子游戏的相关知识点: 1. **Java基础知识**:首先,你需要对Java的基础语法有深入理解,...