一、sizeof sizeof(...)是运算符,而不是一个函数。 sizeof操作符的结果类型是size_t,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编 ...
分类:
其他好文 时间:
2016-08-11 21:01:16
阅读次数:
154
享元模式 顾名思义:共享元对象。如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用创建新的对象。 享元模式是为数不多的、只为提升系统性能而生的设计模式。它的主要作用就是复用大对象(重量级对象),以节省内存空间和对象创建时间。 模式结构 模式结构 模式结构 Flywe ...
分类:
编程语言 时间:
2016-08-02 11:09:03
阅读次数:
232
问题现象及分析
可能原因分析
手动重现异常
大对象问题
流量暴涨
CPU资源被其他进程占用
内存被其他进程占用的情况swap分区问题
数据库连接异常
堆文件分析
shell脚本
JVM问题排查总结
其他遗留的问题
前段时间线上的zzuser的服务模块出现大量的异常FGC情况,经过大量排查工作,最后锁定是因为一个sql的大查询导致的。这也给了我非常大的教训,同时我在这次问题的排查过程中也获益匪浅,...
分类:
其他好文 时间:
2016-07-10 18:49:51
阅读次数:
365
什么是延迟加载? 延迟加载顾名思义就是:推迟加载的时机,当真正使用的时候才加载。 通常在创建一个大对象时,有些属性我们可以在使用到的时候才去创建(设置属性的值),这个可以有效的提升系统性能。 示例: //定义了一个Hero类型 public class Hero { public string Na ...
九大对象: 内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 1-out: javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期) request:javax.servlet.ServletRequest ...
分类:
其他好文 时间:
2016-07-04 15:27:06
阅读次数:
2151
Response 对象用于从服务器向用户发送输出的结果。 Request 对象用于从用户那里取得信息。 Application 在一起协同工作以完成某项任务的一组 ASP 文件称为一个应用程序。而 ASP 中的 Application 对象的作用是把这些文件捆绑在一起。 Session 对象用于存储 ...
分类:
Web程序 时间:
2016-07-01 10:08:53
阅读次数:
464
大对象演化过程: 在很多遗留的系统中,当我们将数千行的大函数分解成数十个小函数时,却出现了另一个问题,就是这些小函数在类中杂乱无章地放着,使得这个类成为功能无所不包的超级类,功能极度耦合,稍作修改就可能踩坑,引入一些Bug。 大对象拆分方法 拆分大对象的方法就是“抽取类”:过程其实非常简单,就是将原 ...
分类:
其他好文 时间:
2016-06-26 13:59:44
阅读次数:
160
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小 ...
分类:
编程语言 时间:
2016-06-18 23:41:33
阅读次数:
211
Struts2框架是一个MVC模型 M(model):JavaBean+business(业务类) V(view):JSP C(control):Action 我的理解是,使用了Struts2框架,字段被封装起来,方法也都写在了一起,使得代码结构比较清晰。一个大对象(比如用户、留言、订单)对应一个J ...
分类:
其他好文 时间:
2016-06-11 20:07:35
阅读次数:
149
要理解值传递、指针传递和引用传递的区别,主要要理解函数的实参和形参,函数的作用域(自动变量、栈),内存的布局以及指针和引用的特点。这里主要总结三种参数传递方式使用的主要场合。 值传递:只给函数提供输入值,需要复制开销,大对象很少使用值传递。 指针传递:可以改变指针指向内容的值,但是不能改变指针本身, ...
分类:
编程语言 时间:
2016-06-06 23:37:57
阅读次数:
371