摘要: Servlet是JavaWeb应用开发的核心组件。Servlet运行在Servlet容器中(例如最常用的Tomcat),它可以为各种客户请求提供相应服务。Servlet可以轻松完成以下任务: 动态生成HTML文档(即服务端交互,动态页面) 把请求转发给同一个Web应用中的其他Servlet组件。 访 阅读全文
posted @ 2018-05-31 21:59 乘风起 阅读(4686) 评论(0) 推荐(1) 编辑
摘要: Web工作原理 客户端和Web服务器通过HTTP协议进行通信。Web服务器有是也叫HTTP服务器或Web容器。HTTP协议采用的是请求/响应模式。即客户端发起HTTP请求,web服务器接收并解析处理HTTP请求,然后将HTTP响应发送给客户端。 Web服务器 Web服务器指的是一个软件程序,例如Ap 阅读全文
posted @ 2018-05-30 23:44 乘风起 阅读(14222) 评论(0) 推荐(1) 编辑
摘要: 部署Web项目到tomcat 在eclipse中找到Servers项,打开服务器(F3)(建议直接删除服务器,重新建立再设置比较好)1、Servers Locations 中选择Use Tomcat installation 2、Deploy path 改成 webapps这时候在eclipse上直 阅读全文
posted @ 2018-05-26 11:56 乘风起 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: 首先要知道数据库连接(Connection对象)的创建和关闭是非常浪费系统资源的,如果是使用常规的数据库连接方式来操作数据库,当用户变多时,每次访问数据库都要创建大量的Connnection对象,使用完成后关闭连接。这一过程频繁地使用时,会导致程序性能急剧下降。如果项目存在频繁访问数据库的操作,则应 阅读全文
posted @ 2018-03-08 17:35 乘风起 阅读(1074) 评论(0) 推荐(0) 编辑
摘要: 泛型是什么? 泛型本质是指类型参数化。意思是允许在定义类、接口、方法时使用类型形参,当使用时指定具体类型,所有使用该泛型参数的地方都被统一化,保证类型一致。如果未指定具体类型,默认是Object类型。集合体系中的所有类都增加了泛型,泛型也主要用在集合。 泛型的定义 泛型类:public class 阅读全文
posted @ 2018-03-08 17:23 乘风起 阅读(19737) 评论(0) 推荐(0) 编辑
摘要: 简单回顾Map集合: Map表示映射关系,以键值对的方式来保存数据。key和value一一对应。key是唯一的,不可重复,而value是可重复的,可以被多个key关联。虽然Map是放入两个数据,但是却以key作为操作对象,value只是作为key的关联值。 通过查看,会发现Set与Map的实现类很相 阅读全文
posted @ 2018-03-08 17:20 乘风起 阅读(2180) 评论(0) 推荐(1) 编辑
摘要: 集合类的作用 集合类也叫做容器类,和数组一样,用于存储数据,但数组类型单一,并且长度固定,限制性很大,而集合类可以动态增长。集合存储的元素都是对象(引用类型),所以集合可以存储不同的数据类型,如果是有序集合,则需要元素类型一致。 集合类支持泛型,避免数据不一致和转换异常。不同的集合类对不同的数据结构 阅读全文
posted @ 2018-03-08 17:19 乘风起 阅读(979) 评论(0) 推荐(0) 编辑
摘要: NIO流与IO流的区别 面向流与面向块 IO流是每次处理一个或多个字节,效率很慢(字符流处理的也是字节,只是对字节进行编码和解码处理)。 NIO流是以数据块为单位来处理,缓冲区就是用于读写的数据块。缓冲区的IO操作是由底层操作系统实现的,效率很快。 IO流是每次处理一个或多个字节,效率很慢(字符流处 阅读全文
posted @ 2018-03-08 17:13 乘风起 阅读(9347) 评论(1) 推荐(3) 编辑
摘要: Object类 Object 是类层次结构的根类。每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法。了解Object的方法是很有必要的。 先实现Cloneable接口,才能调用clone();finalize()可以主动提醒JVM来回收不用的对象,释放内存空间;getCl 阅读全文
posted @ 2018-03-08 17:09 乘风起 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 在网络通信中,任何数据都是以二进制的形式来传输的。对象序列化可以把内存中的Java对象转成二进制流,而二进制流可以存放在本地磁盘文件中,通过网络或程序来获取该二进制流后,就能将该二进制流恢复成Java对象。序列化的这一过程就是将对象状态信息转换为可存储或传输的过程。 对象序列化的作用: 对象序列化可 阅读全文
posted @ 2018-03-08 17:03 乘风起 阅读(506) 评论(0) 推荐(0) 编辑
摘要: RandomAceessFile类 RandomAccessFile类是一个专门读写文件的类,封装了基本的IO流,在读写文件内容方面比常规IO流更方便、更灵活。但也仅限于读写文件,无法像IO流一样,可以传输内存和网络中的数据。 RandomAccessFile常用方法和使用方式 getFilePoi 阅读全文
posted @ 2018-03-08 17:02 乘风起 阅读(12475) 评论(0) 推荐(0) 编辑
摘要: Java中执行输出和输入操作,需要通过IO流。例如最常见的System.out.println()就是一个输出流。IO流的类比较多,但核心体系就是由File、 InputStream 、OutputStream、Reader、Writer和Serializable(接口)组成的,后续会一一详细说明。 阅读全文
posted @ 2018-03-08 17:01 乘风起 阅读(46520) 评论(4) 推荐(6) 编辑
摘要: Paths:通过get()方法返回一个Path对象,Path用于表示文件路径和文件。 Files:提供了大量处理文件的方法,例如文件复制、读取、写入,获取文件属性、快捷遍历文件目录等..... Files 和 Paths是Java8新增的工具类,在处理文件方面功能非常强大。 Paths类 Paths 阅读全文
posted @ 2018-03-08 16:59 乘风起 阅读(13535) 评论(1) 推荐(1) 编辑
摘要: 异常简介 在程序运行过程中出现错误,导致程序出现非预期场景。异常处理可以保证出现错误后,控制接下来的程序流程,是选择定位错误信息,还是抛出异常或捕获异常、还是避免程序非正常退出,都取决于我们。 Java的异常体系结构(来自网络) Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throw 阅读全文
posted @ 2018-03-08 16:57 乘风起 阅读(9917) 评论(0) 推荐(0) 编辑
摘要: String字符串 char类型只能表示一个字符,而String可以表示字符串,也就是一个字符序列。但String不是基本类型,而是一个定义好的类,是一个引用类型。在Java中,可以将字符串直接量赋给String类型变量,也可以采用new String(parameter)的形式来创建字符串。 这里 阅读全文
posted @ 2018-03-08 16:55 乘风起 阅读(7255) 评论(0) 推荐(0) 编辑
摘要: 父类定义了相关子类的共有属性和行为。而接口可以定义类的共同行为(包括非相关的类)。 了解接口前,先来说说抽象类。抽象类介乎于普通类和接口之间,提供部分实现方法以及未实现方法,可以看作为一个半成品。 抽象类 在继承中, 父类是一个通用类,每一个子类都会使类变得越来越明确和具体。如果从子类追溯到父类,类 阅读全文
posted @ 2018-03-08 16:53 乘风起 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 类的抽象与封装 类的抽象是将类的实现和使用分离,而类的封装是将实现的细节封装起来并且对用户隐藏,用户只需会用就行。 以电脑为例,电脑包含了许多组件——显卡、内存、磁盘、CPU等等。每一个组件都可以单独看作是一个对象。要使这些组件一起工作,只需要了解这些对象该怎么用,以及如何和其他组件交互。 至于组件 阅读全文
posted @ 2018-03-08 16:53 乘风起 阅读(2006) 评论(0) 推荐(0) 编辑
摘要: 了解类和对象前,简单提及面向对象程序设计。面向对象程序设计就是通过对象来进行程序设计,对象表示一个可以明确标识的实体。例如:一个人、一本书、一个学校或一台电脑等等。每个对象都有自己独特的标识、状态和行为。 对象的状态(特征或属性,即实例变量),由该对象的数据域来表示。 例如:一个人可以具有名字、年龄 阅读全文
posted @ 2018-03-08 16:47 乘风起 阅读(17230) 评论(0) 推荐(2) 编辑
摘要: 将网上的Java学习路线图进行归纳囊括,方便以后学习时弥补自身所欠缺的知识点,也算是给自己一个明确的学习方向。至于第一阶段,即JavaSE的基础,这里不给出。 第二阶段 技术名称 技术内容 数据库技术 Oracle 基础管理 SQL语句 多表连接和子查询 触发器、存储过程 数据库设计优化 数据备份与 阅读全文
posted @ 2018-03-08 16:38 乘风起 阅读(2281) 评论(0) 推荐(0) 编辑
摘要: 数组的作用 在执行程序的过程中,通常会需要存储大量数据。如果只有少量数据,那么通过声明变量,存储到变量中即可。但当我们的数据是20个、40个甚至是100以上时,就意味着需要声明很多变量,这是不现实的,不仅影响程序阅读,而且效率低下,不符合程序优化。这时就需要采用一个有条理并且高效的方法来存储大量数据 阅读全文
posted @ 2018-03-07 22:44 乘风起 阅读(2600) 评论(1) 推荐(1) 编辑
摘要: Java运算符共包括这几种:算术运算符、比较运算符、位运算符、逻辑运算符、赋值运算符和其他运算符。(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试。关于赋值运算,可以结合算术运算和位运算来简化代码。 理解自增自减运算符 自增自减分为前置和后置。例如:i++ ++i i-- --i。 要 阅读全文
posted @ 2018-03-07 21:16 乘风起 阅读(4744) 评论(0) 推荐(0) 编辑
摘要: 修饰符是用于限定类型以及类型成员申明的一种符号,可用于修饰类、变量和方法,分为访问修饰符和非访问修饰符。访问修饰符控制访问权限,不同的访问修饰符有不同的权限范围,而非访问修饰符则是提供一些特有功能。 访问权限修饰符 访问修饰符有四个,权限从大到小:public、protected、default、p 阅读全文
posted @ 2018-03-07 21:14 乘风起 阅读(2064) 评论(0) 推荐(0) 编辑
摘要: 实例变量属于类的某个特定实例,静态变量属于类,因为它们的作用域在整个类中都是可用的,所以也被称为全局变量。在类中定义实例变量或静态变量时,可以放在任何位置。但为了美观规范,设计类时最好统一放在类中的最前面。 因为不符合语法规则, 赋值语句这个操作要放在语句块中才能执行。但可以声明变量后直接赋值进行初 阅读全文
posted @ 2018-03-07 21:05 乘风起 阅读(4252) 评论(0) 推荐(0) 编辑