◆ 利用命令行 netstat -a -n查看当前系统正在进行通信的协议端口。
◆ 关于Web2.0,并没有一个统一的定义,它通常是指注重用户的交互作用,强调用户的广泛和深入参与,被认为是下一代的软件设计模式和商业模式,比如论坛、名人博客等。
◆ 最早而是最著名的微博是美国的Twitter。
◆ RSS订阅,采用推技术将订阅的页面发送到客户的RSS阅读器或者Web浏览器中。提供RSS订阅的站点或页面通常被标记为XML或RSS的橙色图标。
◆ JRE:Java运行环境 JDK:Java开发环境
◆ 主流的Web服务器
IIS(Internet Information Server)是Windows自带的服务器组件,支持ASP和.NET编程,只能运行在Windows平台下
Apache支持多平台,支持PHP、CGI、JSP
◆ Apache是Web服务器,Tomcat是一个应用服务器。Tomcat内置了一个Apache的HTTP服务,但是它仅对JSP程序体现出比较好的执行效率和性能,对于静态网页的处理速度远不如Apache。
◆ 在同一台Web服务器上运行多个网站的技术成为虚拟主机。
◆ get方法,将数据打包放置在QUERY_STRING中作为URL整体的一部分传给服务器,QUERY_STRING一般限制在1KB以下;post方法通过HTTP的实体头域传递数据到服务器,没有数量限制。
◆ CGI——公共网关接口,CGI程序充当一种中间软件,从Web浏览器接受请求,决定必须调用哪些计算机资源来满足这些请求,并向浏览器发回响应。传统的CGI程序一般是由C/C++开发的,随着Java Servlet的出现,CGI的功能更多是由Java Servlet来实现,它具有更高的效率和可移植性。
◆ 脚本引擎——脚本程序的运行环境,负责脚本程序的解释。例如ASP脚本语言必须运行在IIS上;Tomcat是JSP和Servlet的容器,运行JSP网页必须安装和配置Tomcat。没有脚步引擎,脚本程序将不能运行。
◆ Java中没有struct和union,摒弃了这些面向过程时代的概念。
◆ JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器(Tomcat、Resin、Weblogic等)的编译执行,再根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。
运行原理
如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的JAVA代码也就是Servlet,并且编译成类文件。当服务器再次收到对这个JSP页面请求的时候,会判断这个JSP页面是否被修改过,如果被修改过就会重新生成Java代码并且重新编译,而且服务器中的垃圾回收方法会把没用的类文件删除。如果没有修改过,服务器就会直接调用以前已经编译过的类文件。
◆ JAVABean是一种JAVA语言写成的可重用组件,在开发web的时候,编写时必须实现序列化这个接口,而且变量名必须以小写字母开头,必须有一个无参数的构造方法,主要用来处理数据库和servlet之间的数据传输
◆ 在并发问题中存在着两种类型,分别是:悲观并发(pessimistic concurrency)和乐观并发(optimistic concurrency)。
悲观并发是指当一个用户A访问了某一数据时,程序会将该数据上锁,如果此时另外一个用户B试图访问同样的数据时,程序会拒绝这样的访问,知道用户A完成了对该数据的访问,取消了对数据的锁定时用户B才能获取该数据的访问权利。
乐观并发是指对某一数据允许多个用户同时访问并修改,但是最终保留谁由程序来决定。LINQ采用了乐观并发。
在OO设计领域,我们知道前人总结了不少的经验,许多的经验在现代软件工程过程中已经被认为是原则来遵守。
◆ SRP(单一原则,The Single Responsibility Princeple):要求“一个设计元素只做一件事”。
当改变一个类时,只能有一个理由。设计人员往往倾向于使一个类多功能化,这就明显违背了SRP原则。
◆ OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。我的理解是,对于一个已有的软件,如果需要扩展,应当在不需修改已有代码的基础上进行。
◆ DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,不要针对实现编程。我的理解是,对于不同层次的编程,高层次暴露给低层次的应当只是接口,而不是它的具体类。
◆ LoD(迪米特法则,Law of Demeter):只与你直接的朋友通信,而避免和陌生人通信。众所周知类(或模块)之间的通信越少,耦合度就越低,从而更有利于我们对软件的宏观管理。
◆ LSP(里氏替换原则,The Liskov Substitution Principle):子类对象能随时随地替换其超类。
◆ ISP(接口分离原则,The Interface Segregation Principle):一个客户程序只需关注自己所需要的接口。