MVC 模型 model
贫血模型与充血模型
贫血模型 anemic domain model ,意味着模型实体在设计和实现上,不必包含或者包含很少的逻辑。通常这种情况下,逻辑是被挪了出去,由其它单独的一层代码(比如这层代码是 “service” )来完成。
严格来说,贫血模型不是面向对象的,因为对象需要数据和逻辑的结合,这也是贫血模型的反对者的重要观点之一。
充血模型 rich domain model ,在充血模型的设计中,领域模型实体就是有血有肉的了,既包含数据,也包含逻辑,具备了更高程度的完备性和自洽性。
javac BookServlet.java -classpath ${CATALINA_HOME}/lib/servlet-api.jar
D:\Developers\Tomcat\apache-tomcat-8.5.39
javac BookServlet.java -classpath D:\Developers\Tomcat\apache-tomcat-8.5.39/lib/servlet-api.jar
javac BookServlet.java -classpath $env:CATALINA_HOME/lib/servlet-api.jar
31 性能优化
现在,我来提一个问题吧:
对于下面这些资源角度定义的性能指标,你能说说在 Linux 下,该用怎样的工具或命令来查看吗?
- CPU 使用率、负载;
- 可用内存、换页;
- 磁盘 I/O;
- 网络 I/O;
- 应用进程、线程。
Top 命令:
链接Top guide-linux-top-command
top - 14:30:01 up 77 days, 23:21, 2 users, load average: 0.02, 0.04, 0.00Tasks: 866 total, 1 running, 865 sleeping, 0 stopped, 0 zombieCpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8157836k total, 7953796k used, 204040k free, 290024k buffersSwap: 8388604k total, 1290672k used, 7097932k free, 4550396k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND5906 root 20 0 15708 1988 944 S 1.0 0.0 0:02.39 top5805 root 20 0 102m 5080 3848 S 0.7 0.1 0:01.64 sshd5937 root 20 0 15664 1900 948 R 0.7 0.0 0:02.27 top3824 root 16 -4 29764 732 612 S 0.3 0.0 1:38.08 auditd1 root 20 0 19364 1188 960 S 0.0 0.0 0:02.88 init2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd3 root RT 0 0 0 0 S 0.0 0.0 0:00.20 migration/04 root 20 0 0 0 0 S 0.0 0.0 0:02.01 ksoftirqd/05 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/06 root RT 0 0 0 0 S 0.0 0.0 0:06.64 watchdog/07 root RT 0 0 0 0 S 0.0 0.0 0:00.21 migration/18 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/19 root 20 0 0 0 0 S 0.0 0.0 0:01.36 ksoftirqd/110 root RT 0 0 0 0 S 0.0 0.0 0:06.18 watchdog/111 root RT 0 0 0 0 S 0.0 0.0 0:00.06 migration/212 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/213 root 20 0 0 0 0 S 0.0 0.0 0:00.83 ksoftirqd/214 root RT 0 0 0 0 S 0.0 0.0 0:06.23 watchdog/215 root RT 0 0 0 0 S 0.0 0.0 0:00.03 migration/3
