一 String和StringBuilder
        
      少量的字符串操作不宜采用StringBuilder。
      由于string是不可变得对象,对于string的叠加,每次操作都会生成一个新的string对象。所以针对大量string的操作时,我们会采用StringBuilde。但似乎很多人都知道这一点,所以只要字符串相加,不管三七二一都用StringBuilder。其实这是个误区,在这里要注意"大量"一词,少量的字符串操作用StringBuilder反而得不偿失。
    比如下面的两种写法:

string sql = "insert into table (,,,)";
sql += " values ('')";和
StringBuilder sb = new StringBuilder();
sb.Append("insert into table (,,,)");
sb.Append(" values ('')");
string s = sb.ToString();宜采取第一种写法。因为只有两个字符串的相加,谈不上大量。如果用StringBuilder,最后还需要转换成string,结果性能反而差一些。

二 慎用异常

由于程序抛出一个异常,就会创建一个异常对象,然后应用程序会在Catch块中捕获该异常,造成性能影响非常大。
比如: 
int OrderID;
try
{
      OrderID = Convert.ToInt32(this.txtOrderID.Text);
}
catch(Exception e)
{
      OrderID = .
}
这样的代码很不合适,造成的性能开销非常大。应该在客户端写js代码先去验证txtOrderID是否符合要求。

三 关于Session, Request

Session:
很多人喜欢用Session来保存持久对象的值。 但是当你的程序部署在多台服务器上做负载均衡时,可能会得不到Session保存的变量的值。 另外,由于Session是服务器端的内建对象,每开启一个Session对象,都在服务器上占用一些资源。

Request:
在页面间传值取值时,看到很多人都这么写代码:
string CustomerName = this.Request["txtCustomerName"].ToString();
其实后面的ToSTring()多此一举。this.Request["...."]本来就是string类型的,不必再去ToString()一下。

二 慎用异常

由于程序抛出一个异常,就会创建一个异常对象,然后应用程序会在Catch块中捕获该异常,造成性能影响非常大。
比如: 
int OrderID;
try
{
      OrderID = Convert.ToInt32(this.txtOrderID.Text);
}
catch(Exception e)
{
      OrderID = .
}
这样的代码很不合适,造成的性能开销非常大。应该在客户端写js代码先去验证txtOrderID是否符合要求。

三 关于Session, Request

Session:
很多人喜欢用Session来保存持久对象的值。 但是当你的程序部署在多台服务器上做负载均衡时,可能会得不到Session保存的变量的值。 另外,由于Session是服务器端的内建对象,每开启一个Session对象,都在服务器上占用一些资源。

Request:
在页面间传值取值时,看到很多人都这么写代码:
string CustomerName = this.Request["txtCustomerName"].ToString();
其实后面的ToSTring()多此一举。this.Request["...."]本来就是string类型的,不必再去ToString()一下。

最新文章

  1. 面试题目——《CC150》中等难题
  2. js生成随即字符串
  3. Session Storage、Cache Storage
  4. tomcat并发
  5. docker 报Error: docker-engine-selinux conflicts with docker-selinux-1.9.1-25.el7.centos.x86_64
  6. Spring No mapping found for HTTP request with URI错误
  7. BZOJ4346 : [POI2016]Nadajniki
  8. BAT文件执行完成后如何删除自身的解决办法
  9. 项目中使用Quartz集群分享--转载
  10. HDU-2686 Matrix 多进程DP
  11. Python的html和xml解析库Beautiful Soup
  12. 腾讯QQ音乐网页版 音频初始化模块解压混淆js源码
  13. Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html"
  14. Ehcache 整合Spring 使用页面、对象缓存(1)
  15. 洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】
  16. python笔记七(递归函数)
  17. 解决 RabbitMQ 集群 Channel shutdown: connection error 错误(HAProxy 负载均衡)
  18. django之视图view小知识
  19. 网页启用Gzip压缩 提高浏览速度
  20. Http请求帮助类

热门文章

  1. postgresql中rank() over, dense_rank(), row_number() 的用法和区别
  2. swagger2 官网配置
  3. linux shell的单行多行注释
  4. 【Flutter学习】组件通信(父子、兄弟)
  5. MacBook Pro 快捷键2
  6. 58、salesforce学习笔记(五)
  7. JAVA中一个汉字占多少个字符(转载)
  8. Java7任务并行执行神器:Fork&Join框架
  9. SpringBoot传递单一参数时@RequestParam和@RequestBody的区
  10. java web session共享