Web开发中如何提高页面的显示速度?
假如一个页面的加载时间是10.89s,你会用什么样的方式进行优化?
- 首先要找出问题所在,是服务器端运行的速度慢,还是服务器端到客户端的下载慢,还是页面在浏览器的加载速度慢?
- 如果是服务器端运行速度慢,则找是数据库的原因还是算法的问题。
- 如果是数据库的问题则尝试添加索引、优化 SQL 语句。
- 如果是算法的问题,则优化算法。
- 如果对于一些不经常改动的页面可以使用静态页技术。
- 对于一些数据不需要及时更新的而且取数据的过程非常耗时可以使用缓存。
- 页面中的内容可以按需加载(当用户需要看的时候再加载其内容),可以在图片需要显示的时候再进行加载(瀑布流)。
- 如果是服务器端到客户端的下载慢,则看是页面体积过于臃肿还是网络问题。
- 如果是页面体积过于臃肿,则优化 HTML 代码,去掉无用的标签,压缩 JS、CSS,可以用 CSS Spirit 技术将多个图片放到一个图片中,减少向服务器的请求。
- 如果是网络问题,则尝试在不同的网络、地区部署服务器,然后使用 CDN 技术加速访问。
- 如果是页面中的 JavaScript 运行复杂导致运行速度慢,则优化 JavaScript。
编写代码,在控制台画出由“*”号组成的N行倒三角形图案。
要求:输入倒三角的行数,函数的取值在3到21之间,对于非法的行数,要求抛出”非法行数“。 ******* ***** *** *
int line; Console.WriteLine("请输入倒三角形的行数,取值在3-21之间:"); line = Convert.ToInt32(Console.ReadLine()); if (3 <= Line && Line <= 21) { for (int idx = 1; idx <= Line; idx++) { for (int idx2 = 0; idx2 <= idx; idx2++) { Console.Write(" "); } for (int idx3 = ((Line - idx + 1) * 2 - 1); idx3 >= 0; idx3--) { if (idx3 == 0) Console.Write("\n"); else Console.Write("*"); } } } else { Console.WriteLine("非法行数!\n"); }
short s=1;s=s+1;有错吗?short s=1;s+=1;有错吗?
- 第一个有错,因为1是int类型,int+short结果是int,无法隐式转换,改为s = (short)(s + 1);就可以了。
- 第二个没错,经过反编译发现编译器自动优化成s = (short)(s + 1);