第一个Servlet程序 package cc.openhome; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/hello.view") public class HelloWorld extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServlet 继续阅读 >>


贺含悦 17/12/19 00:47:45
Web应用程序基础知识 Web应用程序是由客户端与服务器端两部分组成。客户端基本是浏览器,服务器端是HTTP服务器,浏览器会请求服务器上放置的文件或资源。 关于HTML HTML是以标签的方式来定义文件结构,标签通常成对。 当浏览器从服务器取得这份HTML文件之后,就可以按照其中的结构等信息进行画面的绘制。 URL、URN、URI Uniform Resource Locator/Name/Identifier URL的主要目的是以文字方式来说明因特网上的资源如何取得。 主要格式为: <协议>:<特定协议部分> 协议指定了以哪种方式取得资源: ftp 文件传输协议 http 超文本传输协议 mailto 电子邮件 file 特定主机文件名 特定协议部分的格式: //<用户>:<密码>@<主机>:<端口号>/<路径> 关于HTTP HTTP是基于请求/响应的通信协议,架构在TCP/IP之上应用层的一种协议。浏览器和Web服务器 继续阅读 >>


贺含悦 17/12/18 20:38:10
认识时间与日期 时间的度量 格林威治标准时间:GMT,通过观察太阳而得 世界时:UT,通过观测远方星体跨过子午线而得 国际原子时:TAI,将秒定义为铯原子辐射振动9192631770周耗费的时间,时间从UT的1958年开始同步 世界协调时间:UTC,采用了闰秒修正 Unix时间:用以表达时间轴上某一瞬间 epoch:某个特定时代的开始,时间轴上某一瞬间 实际上谈到时间指的是UTC时间 秒的单位定义是基于TAI,也就是铯原子辐射振动次数 UTC考虑了地球自转越来越慢而有闰秒修正 Unix时间是1970.1.1.00:00:00为起点经过的秒数,不考虑闰秒 年历简介 儒略历:修正了罗马历三年设置一闰年的错误,改为四年一闰 格里高利历:改革了儒略历 ISO 8601标准:用以统一时间日期的数据交换格式 认识时区: 为了让人们对时间的认知符合作息,因而设置了UTC偏移,大致来说,经度每15度是偏移一小时,考虑了UTC偏移的时间表示上,通常会标识Z符号 认识Date与Calendar 继续阅读 >>


贺含悦 17/12/11 18:11:35
何谓接口 接口定义行为 在Java中使用interface关键字来定义接口: public interface Swimmer{ public abstract void swim(); } 接口可以用于定义行为但不定义操作,在这里Swimmer中的swim()方法没有操作,直接标示为abstract,而且一定是public。对象若想拥有Swimmer定义的行为,就必须操作Swimmer接口。 例如,Fish拥有Swimmer行为: public abstract class Fish implements Swimmer { protected String name; public Fish(String name) { this.name = name; } public String getName() { return name; } @Override public abstract void swim(); } 以Java的语 继续阅读 >>


贺含悦 17/11/19 21:39:30
何谓继承 继成共同行为 继承就是避免多个类间重复定义共同行为。 比如在游戏中的角色都会具有角色名称,等级,血量等属性,不同角色之间或许只存在某些属性的不同。把角色当作类的话,如果有更多类具有重复的程序代码,想要修改一个类,会造成维护上的不便。如果要改进,就可以把相同的代码提升为父类。 package cc.openhome; public class Role { private String name; private int level; private int blood; public int getBlood() { return blood; } public void setBlood(int blood) { this.blood = blood; } public int getLevel() { return level; } public void setLevel(int level) { 继续阅读 >>


贺含悦 17/11/18 22:45:12
封装 封装对象初始流程 package cc.openhome; class CashCard { String number; int balance; int bonus; CashCard(String number,int balance,int bonus) { this.number = number; this.balance = balance; this.bonus = bonus; } } 构造函数是与类名称同名的方法,不用声明返回类型。为了区别构造函数的参数与类的数据成员同名,在对象数据成员前加上this关键字,表示将参数的值指定给这个对象的数据成员。 封装对象操作流程 可以定义方法,来解决撰写重复流程的问题。方法若有返回值,必须在方法前声明返回值的类型,如果不用返回值,方法名前声明void。在Java命名习惯中,方法名称首字母是小写。 封装对象内部数据 用户撰写程序时,如果有些数据是类所私有,在Java中可以使用priv 继续阅读 >>


贺含悦 17/11/05 17:39:07
Java中有基本类型与类类型两个类型系统,这章主要来谈类类型。Java是一门面向对象的语言,不是像C语言那样面向过程,所以更适合解决现实生活中的一些问题。 定义类 class Clothes { String color; char size; } 定义类使用class关键词,后面的Clothes相当于为这个类取名。在这个类中,定义了两个值域成员(对象数据成员)。 new Clothes(); 新建一个对象。 Clothes c1; 声明参考名称(参考变量/参考)。 Clothes c1 = new Clothes(); 把c1参考至新建的对象,这个新建的对象就是Clothes。 一个原始码中可以有多个类定义,但只能有一个是公开类,且文档中的主文档名与公开类名称相同。 构造函数 class Clothes { String color; char size; CLothes(String color,char size){ this.color 继续阅读 >>


贺含悦 17/11/02 02:10:47
什么是JVM JVM(Java Virtual Machine),即Java虚拟机。Java是个高级语言,要让计算机执行程序,必须通过编译程序的翻译。不过Java编译时(原始码扩展名.java)并不直接编译为相依于某平台的0、1序列, 而是翻译为中介格式的位码(.class)。要想执行位码文档(可执行文件),目标平台必须安装JVM,它将位码翻译为相依于平台的机器码。 区分JRE与JDK JRE:Java Runtime Environment,即Java执行环境,包括Java SE API、JVM、部署技术。 JDK:Java Development Kit,即Java 软件开发工具包,包括了javac、appletviewer、javadoc等工具程序。要开发java程序必须安装JDK,总结来说,JDK包括了java程序语言、工具程序与JRE(本身附带Private JRE)。 撰写java程序需要JDK,执行java程序只要JRE就可以了,因为不需要javac这些工具程序 配置环境变量 JAVA_HOME ———— 继续阅读 >>


贺含悦 17/11/01 21:14:05
写完忘记发了= =尬…   现在是9.1/00:35,本该在家里就完成的暑假总结却拖到了现在,只能说明鸭鸭的拖延症还是一如既往的让人无可奈何…距离留校结束已经过去11天了,面对现在极度懒散毫无规律的生活,其实还是怀念留校的时光,虽然辛苦但是每天都动力十足,收获满满.从刚加入小组对linux,ubuntu,vim,github,markdown..的陌生,到现在还算熟练的可以去操作使用;从以前对操作系统,网络硬件的一无所知到现在可以写出一个简易聊天室;从寒假放弃学习dfs到现在可以在vjudge上AC,从空空如也的博客列表到可以一篇一篇拿来复习回顾…真的,从没想过自己能在一个多月学到这么多,所以人呐,不拼不努力怎么知道自己不行?   第一周,带着满满的热情投入到文件的学习和ls的编程中,繁多的函数和结构体总是记不住,一遍又一遍的去翻看,ls的整体框架也是参考书上的例子,在这个基础上完善了-i参数的结合,写了三天的-R最终也只能勉强跑完家目录,不断踩坑,不断修改,得到的也只是不完美的代码,心里总是有缺憾的.那周也没有很好的利用时间,再加上不适应,所以计划多 继续阅读 >>


贺含悦 17/09/21 22:56:51
进程实验: /* POSIX 下进程控制的实验程序*/ #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <signal.h> #include <ctype.h> /* 允许建立的子进程个数最大值 */ #define MAX_CHILD_NUMBER 10 /* 子进程睡眠时间 */ #define SLEEP_INTERVAL 2 int proc_number=0; /* 子进程的自编号,从0开始 */ void do_something(); int main(int argc, char* argv[]) { /* 子进程个数 */ int child_proc_number = MAX_CHILD_NUMBER; int i, ch; pid_t child_pid; pid_t pid[10]={0}; /* 存放每个子进程的id */ 继续阅读 >>


贺含悦 17/08/07 12:38:51