- 浏览: 117005 次
- 性别:
- 来自: 北京
博客专栏
-
httclient实践与源...
浏览量:0
文章分类
- 全部博客 (141)
- java设计模式 (6)
- oracle (2)
- spring (0)
- java多线程 (12)
- Effective Java 读书笔记 (5)
- mysql (11)
- 书签 (2)
- Web前端 (2)
- python (6)
- 技术博客 (6)
- 搬家 (2)
- android (1)
- java (18)
- 架构 (6)
- linux (14)
- memcached (3)
- 测试 (1)
- 网络 (1)
- 高性能WEB (2)
- http (1)
- java io (2)
- jdbc (1)
- php (5)
- css (2)
- jenkins (1)
- jfinal (1)
- maven (3)
- 算法 (3)
- 代码规范 (1)
- shell (3)
- 安全 (1)
- fastJson源码剖析 (0)
- jdk源码分析 (0)
- git (1)
- 分布式知识点 (0)
- 分布式 (1)
- tcp (1)
- cpu (2)
- 软技能 (1)
- 编译原理 (1)
- 操作系统 (1)
- java虚拟机 (1)
- 处理器 (1)
- tbschedule (1)
- 需要看的源码 (1)
- idea (1)
- zookeeper (1)
- httpclient (1)
最新评论
-
lliiqiang:
功能是关键,但是因为人的性能有限,所以性能也有可能是功能,
关于有效的性能调优的一些建议 -
huangyunbin:
呵呵,感觉和缓存很相似,已经存在的直接缓存里取,缓存没有的话加 ...
享元模式
关于使用for循环
有人喜欢使用for作类似while的循环:
评论:这是一种风格,有一部分人使用,我个人觉得不如while来得直观。
究竟是++i,还是i++
以前我使用i++的写法,后来,看到一些优秀的代码中,大多使用++i,我就改用++i了。为什么使用++i,看到过一些理由,但觉得那些理由,不值一提。
使用i, j, k作多层循环
使用i, j, k做多层循环时,很容易犯错误,如上述代码中的注释缩写的那样。我参加的代码评审(Code Review)中,或者开发过程中,经常有同事遇到这种BUG。我也曾经吃过亏,每次编写i, j, k多层for循环时,就会提醒自己,小心,别犯错误!
使用for的习惯,除了++i和i++的写法不同外,还有和if、while等语句一样的不同写法,如下:
第一种写法
a、关键字for后面有空格
b、二元表达式左右有空格
c、每个大括号,单独占一行
d、else关键字单独占一行
第二种写法:
a、关键字if后面有空格
b、二元表达式左右有空格
c、大括号放在上一句的右边
需要优化是,可能你也会采用这种写法:
int listCount = list.Count;
for (int i = 0; i < listCount; ++i) { }
如果for循环中,不会添加或者删除list的元素,使用这种方式优化,可能得到一丁点(可能不值一提)的性能提升。
需要从list中删除元素时,可能你会使用反序的遍历。如下:
如果list的实现是ArrayList,反序遍历可能比正序删除的性能更高一些。
此外,for还有一些其他的使用方式,如:
有人喜欢使用for作类似while的循环:
for(;;) { }
评论:这是一种风格,有一部分人使用,我个人觉得不如while来得直观。
究竟是++i,还是i++
for (int i = 0; i < arrayA.Length; ++i) { } for (int i = 0; i < arrayA.Length; i++) { }
以前我使用i++的写法,后来,看到一些优秀的代码中,大多使用++i,我就改用++i了。为什么使用++i,看到过一些理由,但觉得那些理由,不值一提。
使用i, j, k作多层循环
for (int i = 0; i < arrayA.Length; ++i) { Object[] arrayB = arrayA[i]; for (int j = 0; j < arrayB.Length; ++j) { Object b = arrayB[j]; //此处需要多加注意,一不留神就会写成Object b = arrayB[i]; } }
使用i, j, k做多层循环时,很容易犯错误,如上述代码中的注释缩写的那样。我参加的代码评审(Code Review)中,或者开发过程中,经常有同事遇到这种BUG。我也曾经吃过亏,每次编写i, j, k多层for循环时,就会提醒自己,小心,别犯错误!
使用for的习惯,除了++i和i++的写法不同外,还有和if、while等语句一样的不同写法,如下:
第一种写法
a、关键字for后面有空格
b、二元表达式左右有空格
c、每个大括号,单独占一行
d、else关键字单独占一行
for (int i = 0; i < list.Count; ++i) { }
第二种写法:
a、关键字if后面有空格
b、二元表达式左右有空格
c、大括号放在上一句的右边
for (int i = 0; i < list.Count; ++i) { }
需要优化是,可能你也会采用这种写法:
int listCount = list.Count;
for (int i = 0; i < listCount; ++i) { }
如果for循环中,不会添加或者删除list的元素,使用这种方式优化,可能得到一丁点(可能不值一提)的性能提升。
需要从list中删除元素时,可能你会使用反序的遍历。如下:
int listCount = list.Count; for (int i = listCount - 1; i >= 0; --i) { if (condition) { list.RemoveAt(i); } }
如果list的实现是ArrayList,反序遍历可能比正序删除的性能更高一些。
此外,for还有一些其他的使用方式,如:
for (init(); condition(); incement()) { } for (; i < j; ++i, --j) { };
发表评论
-
java Unsafe类
2018-03-20 20:55 399http://ifeve.com/sun-misc-unsaf ... -
java 之DelayQueue实际运用示例
2016-06-15 17:09 491http://www.cnblogs.com/sunzhenc ... -
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
2015-07-03 19:11 669window下在同一台机器上安装多个版本jdk,修改环境变量不 ... -
java实现base64
2015-04-29 15:30 508BASE64和其他相似的编码算法通常用于转换二进制数据为文本数 ... -
最全的静态网站生成器(开源项目)
2015-04-26 00:53 505最全的静态网站生成器(开源项目) http://www.ite ... -
关于有效的性能调优的一些建议
2015-04-19 12:09 700关于有效的性能调优的 ... -
java 代码时间和内存测试
2015-04-18 22:26 616// 测试用了多少内存 import java.util ... -
系统打印日志的10条建议(翻译)
2015-04-14 14:33 464http://uptoknow.iteye.com/blog/ ... -
Java编程最差实践
2015-04-14 14:32 379http://macrochen.iteye.com/blog ... -
几行代码写RPC
2015-04-13 22:55 444转自梁飞博客 package com.alibaba.stud ... -
58龙哥教你“如何做系统性能优化”(纯干货)
2015-04-12 21:58 584如何做系统性能优化 性能优化的目标是什么?不外乎两个: 时间 ... -
java 关于for和foreach,兼顾效率与安全
2014-12-05 14:46 17360关于for和foreach,兼顾效率与安全 对于数组的访问,是 ... -
会话COOKIE? 持久COOKIE?
2014-11-07 00:15 555关于COOKIE和SESSION的关系,一直没搞清楚。网上一搜 ... -
内存cookie与持久cookie
2014-11-05 22:27 556cookie分两种 :会话cookie(session coo ... -
Java字符串底层理解
2014-09-11 15:11 7091. 栈(stack)与堆(heap)都是 ... -
java 字符串相加
2014-09-10 14:01 1491字符串相加。string + (原作者: 火龙果) 为了加 ... -
java虚拟机垃圾回收深入理解
2013-03-18 17:52 889JAVA学习之4 引用与JVM 1.java内存管理分为内存分 ...
相关推荐
增强的for循环是在传统的for循环中增加的强大的迭代功能的循环,是在jdk1.5之后提出来的。下面这篇文章主要给大家介绍了关于Java中增强for循环的实现原理和坑的相关资料,需要的朋友可以参考下
40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip...
NULL 博文链接:https://rensanning.iteye.com/blog/2003205
Java增强的for循环讲解Java增强的for循环讲解
java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!
for循环案例,java代码,利用for循环从控制台输出了几个简单的图形,内容简单,适合新手
学习Java中for循环的知识点进行总结和归纳,让你学起来更加轻松!
30道java练习题,包括for循环练习题,do...while练习题,switch...case练习题等...
java打印五角星for循环,for循环各种运用,镶嵌if语句,帮助大家更好的学习。
java 利用for循环输出几何图形 java 利用for循环输出几何图形
java 用for循环打出菱形 原来很简单的 看看应该就会了 试试吧
java for循环的几种写法
此篇文章主要关于For循环 是本人对For的认识与见解 看一看吧,相信对大家来说有没学过的知识
刚学java,就利用For循环实现打印各种形状形,test04 输出金字塔,输出倒,输出右,输出右倒形,等各种形状,也可以通过变换输出自己想要的形状,有需要的伙伴可以自行下载
for循环的一些基础行问题,中级和高级,会了里面的for循环,就可以了
java for循环与增强for循环.docx
Java程序设计基础:for循环.pptx
JAVA FOR循环测速度
Ch06-JAVAfor循环.txt
其中使用for循环不出现重复的乘积的计算方法,还是很值得学习的: for(int i = 1;i ;i ) {//不出现重复的乘积 for(int j = 1;j ;j ) { System.out.print(i "*" j "=" i*j " "); } System.out....