JAVA
暮丶
这个作者很懒,什么都没留下…
展开
-
Java 多态
Java的多态多态规则(前提): 一种事物的多种形态1. 类与类之间 要产生联系 继承关系2. 要有方法的重写(没有方法的重写 多态的意义不大)3. 核心: 父类引用(指针)指向子类空间(声明方式)public static void main(String[] args) { // 本类的引用 指向本类对象的空间 // Cat cat = new Cat();原创 2018-01-11 22:43:34 · 154 阅读 · 0 评论 -
Java之静态变量和静态方法
静态变量 和 静态方法(使用static修饰)静态变量 保存在 方法区的静态区(共享区)静态变量 是共享的区间静态变量 是如何调用 ?1.可以使用对象来调用2.推荐 使用类名来调用为什么静态变量 要使用类名去调用 ?只要加载了.class文件 就加载了静态变量 这时还没有对象产生静态变量(属于类 也叫类变量) 和 非静态变量(属于对象 对象变量) 的区别1.调用方式不同静态变量: 对象或类名去调用(原创 2018-01-09 21:59:09 · 9461 阅读 · 0 评论 -
Java 集合与迭代器
集合数组弊端:1.只添加相同类型的元素(基本数据类型 和 引用数据类型 都能保存)2. 长度一旦确定 就不能改变 要添加超出 数组长度个数的元素 操作比较复杂集合的由来 因为数组操作数据的弊端 用来代替数组集合特点 :1. 能添加不同类型的元素注意 : 集合中 只能添加 引用数据类型 (只能添加对象类型)2. 长度可变集合原创 2018-01-18 20:41:14 · 182 阅读 · 0 评论 -
Java的异常处理
异常处理Throwable 异常处理类的顶端类Error (服务器崩溃 数据库崩溃)Exception (异常类) : RuntimeException(运行时异常) // 角标越界 int[] num = new int[1]; System.out.println(num[2]); //ArrayI原创 2018-01-26 21:56:34 · 191 阅读 · 0 评论 -
Java 代码块的分类
代码块代码块分类1.局部代码块: 限制变量作用域(生命周期)书写位置: 在方法中2.构造代码块:(开发中 很少使用)书写位置: 在类中 方法外调用时机:如果你有构造代码块 系统帮你调用帮你在创建对象之前调用 每次创建对象都会调用3.静态代码块(一定是被static修饰的)静态代码块 依赖类 随着类加载而加载注意: 只加载一次(只调用一次 不管你创建多少对象)应用场景:U盘 装载驱动程序加载驱动(数据原创 2018-01-10 21:04:45 · 478 阅读 · 0 评论 -
Java 类的继承
类的继承继承的特点1.减少你的代码量2.让类与类之间 产生关联(产生 父子的关系)继承使用关键字: extends注意:1. 继承时 可以把多个类中 相同的功能或方法 抽取出来重新构造一个类出来 把这些类 建立继承关系2.建立继承关系的同时 一定要符合逻辑(切记不要为继承而继承)继承的写法class 子类 extend 父类{}举例/* * 猫类 * 姓名 颜色 种类 会睡觉 会抓老鼠 *原创 2018-01-10 21:34:22 · 238 阅读 · 0 评论 -
Java List接口的ArrayList和LinkedList的区别
List 接口ArrayList 和 LinkedList 区别ArrayList : 数组实现数组实现 特点 : 查询快 增删慢(参照与LinkedList)查询 : 直接使用角标查询增删 : 需要把要添加的元素的位置 后面的元素 全部移动一位LinkedList : 链表实现链表实现 特点 : 查询慢 增删快(参照与ArrayList)查询 : 判断离头进还是尾近 然后从头或尾 一个一个查找 找原创 2018-01-19 21:38:41 · 240 阅读 · 0 评论 -
Java I/O流之打印流 以及 装饰者模式
打印流PrintStream构造方法:PrintStream(File file) 接收文件PrintStream(OutputStream out) 字节输出流PrintStream(String fileName) 文件路径PrintWriter构造方法:PrintWriter(File file) 接收文件PrintWriter(OutputStream out) 字节输出流PrintWrit原创 2018-02-04 23:21:04 · 299 阅读 · 0 评论 -
Commons-io jar包中的方法 功能流 以及 线程基础
Commons-io 获取路径 扩展名.txt .png static String getExtension(String filename) 获取文件的名字 static String getName(String filename) 判断是不是这个扩展名 static boolean isExtension(String filename,String extensio原创 2018-02-05 21:44:00 · 1252 阅读 · 0 评论 -
Java IO流 File类
File类1. 可以操作文件2. 可以操作文件夹 3. 可以操作文件的路径 // File 的静态成员变量 // 不同平台下 获取的路径分隔符不同 // mac系统下 路径分隔符:(冒号) // win 系统下 路径分隔符 ; (分号) String pathseparator = File.pathSeparator原创 2018-01-29 22:02:47 · 162 阅读 · 0 评论 -
Java多线程以及锁
线程创建一个线程 相当于cpu开辟了独立的运行执行路径每个执行路径都是独立空间创建一个线程 该线程就会有一个独立栈空间如果在同一个栈空间 不符合 先入栈的后出栈的规则线程的六种状态:新建状态(new 线程对象)运行状态(调用start方法)受阻塞状态(等待cpu的执行资源)休眠状态(调用sleep(时间)方法)等待状态(调用wait方法)死亡原创 2018-02-06 21:46:12 · 257 阅读 · 0 评论 -
Java 多线程的线程中断
标记 停止线程class StopRunnable implements Runnable{ public boolean isOver = false; @Override public void run() { // 利用死循环方法是测试能不能停止线程 while (!Thread.currentThread().isInterrupted(原创 2018-02-07 21:51:18 · 210 阅读 · 0 评论 -
数据库之JDBC
JDBCJDBC(Java Database Connectivity)Java 数据库连接规范(一套接口)由 Sun 公司提供的JDBC 核心类DriverManager 创建连接Connection 连接类Statement 执行 sql 语句ResultSet 结果集JDBC连接步骤1.注册驱动2.获取链接 connection3.获取 sql 语句的执行原创 2018-03-22 21:41:22 · 193 阅读 · 0 评论 -
HttpSession
HttpSession 服务端技术HttpSession原理当用户端第一次访问Servlet时 服务端会给该用户创建 一个独立Session 并且生成一个SessionID 这个SessionID在响应浏览器的时候 会被装进cookie中 从而被保存到浏览器中 当用户再一次访问 Servlet的时候 请求中会携带着 cookie中的 SessionID 去访问 服务器会根据这个Sessi原创 2018-03-29 21:49:07 · 249 阅读 · 0 评论 -
数据库的Apache第三方jar包以及数据库连接池
commmons-dbutils-1.6.jar操作 JDBC 连接数据库,并且执行 sql 语句,处理返回的结果集三个核心类DbUtils: 关闭资源的方法(安静的关闭 不需要异常处理)QueryRunner: 执行sql语句 并且返回结果集ResultSetHandler: 接口(使用它的实现类 传入使用结果集类的接口)// 插入数据 private static void insert()原创 2018-03-24 11:53:47 · 705 阅读 · 0 评论 -
JSP基础及el表达式和JSTL表达式
什么是JSP?全称 Java Server Page 中文名 JAVA服务器页面由Sun Microsystems公司倡导 许多公司参与一起建立的一种动态网页技术标准JSP 原理访问jsp页面时 jsp页面会被翻译成.java文件 然后 .java会被编译成 .class文件(字节码文件) 在网页中显示当前时间<%@ page import="java.util.Date"%><原创 2018-04-02 21:44:54 · 187 阅读 · 0 评论 -
Tomcat之Servlet设置及请求
Servlet 设置及请求获取配置信息public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取config对象 ServletConfig config = this.getServle原创 2018-03-27 20:12:11 · 289 阅读 · 0 评论 -
获取表单信息以及会话技术
获取表单数据public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应编码格式 response.setContentType("text/html;charset=UTF-8"); // 告原创 2018-03-28 21:45:33 · 217 阅读 · 0 评论 -
Java基础之构造方法
构造方法构造方法:初始化成员变量的注意:1.构造方法 没有返回值 甚至不写返回的类型2.构造方法的方法名 与类名相同3.如果你没写无参的构造方法系统会给你提供一个无参的构造方法4.如果我只写 有参 的构造方法这时 系统就不再给你提供无参的构造方法5.写类的时候 建议 无参有参构造方法全写关键字 构造方法名(){}定义类 书写顺序成员变量 -> 无参 有参 构造方法 -> set/get方法->..原创 2018-01-09 21:34:07 · 256 阅读 · 0 评论 -
Java IO流之使用缓冲流读写及序列化
缓冲流使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来。缓冲输出字符流BufferedWriter // 写入时使用 .newLine(); 达到换行目的 此方法可以跨平台实现 public static void write() throws IOException { FileWrite原创 2018-02-01 21:35:38 · 317 阅读 · 0 评论 -
Java 抽象类
Java的抽象abstract 关键字修饰类 — 抽象类修饰方法 — 抽象方法修饰变量 — 没有抽象变量抽象类(abstract class 类名)1.成员变量 变量 和 常量2.成员方法可以是抽象方法 并且 抽象方法不能写实现部分可以有非抽象方法3.构造方法: 有构造方法4.如何创建对象注意 :1.抽象类 不能实例化 对象(不能创建对象)2.抽象类中 可以没有抽象方法3.有抽象方法原创 2018-01-12 22:03:56 · 214 阅读 · 0 评论 -
JAVA 入门基础
JAVA 基础入门程序的分类C/S结构客户端/服务器 Client / Server优势:因为会将一些程序中使用的素材保存在客户端中所以加载速度会较快劣势:需要针对不同的操作系统系统开发不同版本的软件 高昂的维护成本且投资大B/S结构浏览器/服务器 Browser/Server优势:可以在任何地方进行操作而不用安装任何专门的软件原创 2017-12-27 19:55:36 · 228 阅读 · 0 评论 -
JAVA 基础之流程控制
JAVA 流程控制流程控制1. 顺序结构相当于代码 按顺序 从上向下依次执行2.分支结构if语句有三种格式 书写格式: 格式一: if(判断条件){ 执行体 执行语句1; 执行语句2; ....... } 如果 判断条件成立 就执行 执行体 格式二: if(判断条件){原创 2017-12-29 19:11:44 · 226 阅读 · 0 评论 -
JAVA 基础之数据类型
JAVA 数据类型和运算符常量和变量常量是程序中不可改变的量什么是变量?变量是程序运行中可以修改的量如何定义一个变量?数据类型 变量名 = 初值;(定义变量的公式)数据类型分类1.基本数据类型取值范围不同二进制的最高位 叫符号位(符号位是1 代表1个负数) 除了符号位都叫操作位byte 的取值范围 -128 到 127字节类型 byte 在内存中占1个字节 一个字节使用8个2进制位短整型 sho原创 2017-12-28 20:28:24 · 324 阅读 · 0 评论 -
Java 基础函数
JAVA 基础函数函数函数是指封装了特定功能的代码块函数的好处: 方便使用 减少你重复代码书写函数的写法: 关键字 返回值类型 函数名(参数类型 参数1,参数类型 参数2,...) { 函数中的语句1; 语句2...... // return 后面返回的 返回值 要跟函数的返回值类型 对应 retu原创 2018-01-02 20:01:15 · 425 阅读 · 0 评论 -
Java数组
JAVA 数组数组:是一个容器 保存的是数据 保存相同数据类型的数据数组定义数据类型 [] 数组名 = 初值;其中数据类型代表: 数组中盛放数据的 数据类型举例: 声明一个整型数据 声明了长度为5的 整数数组 int[] array = new int[5];注意: 数组的长度一旦给原创 2018-01-04 21:25:55 · 217 阅读 · 0 评论 -
Java 泛型
泛型表示集合中 保存的数据的类型泛型类泛型类声明是 尖括号的字母 可以随便定义泛型类的类型 在初始化这个类的对象 确定public class Worker<W> { // 利用泛型写成员变量 private W w; // 利用泛型写set/get方法 public W getW() { return this.w; } public v原创 2018-01-22 21:47:28 · 210 阅读 · 0 评论 -
Java 二维数组和多维数组
Java 二维数组和多维数组二维数组是一个容器 保存 相同数据类型的 一维数组书写公式: 数据类型 [] [] 数组名 = 初值;如何描述下面定义的二维数组 int[][] array = new int [3][4];该二维数组中有3个一维数组 每一个一维数组中有4个元素打印二维数组的长度 相当于打印数组中有多少个元素 System.o原创 2018-01-05 21:43:44 · 401 阅读 · 0 评论 -
Java中的接口
Java中的接口接口狭义的定义:关键字 : interfaceinterface 接口名{}广义的定义:接口相当于定义了一个规则要想使用这个接口 就必须遵循这个规则public class Demo{ public static void main(String[] args) { // 使用实现类(多态方法使用) InterA interA = new I原创 2018-01-15 20:06:24 · 211 阅读 · 0 评论 -
Java 文件过滤器 字节流
文件过滤器 // 编写自定义类实现过滤器接口class MyFileFilter implements FileFilter{ // 按照规则 来过滤文件 // 过滤文件时 就看这个方法返回值 // 返回false 就被过滤 // 返回true 保留 @Override public boolean accept(File pathname) {原创 2018-01-30 22:20:05 · 418 阅读 · 0 评论 -
Java中的Set
Set <接口>HashSet特点 : 无序 无下标 不重复 /** * set添加字符串 */ public static void fun1() { // 使用HashSet 主要用来 去重 // 创建一个HashSet HashSet<String> set = new HashSet<>();原创 2018-01-23 22:02:40 · 408 阅读 · 0 评论 -
Java系统类之字符串类
字符串类 String字符串是个常量(不可更改) 常量字符串对字符串进行操作 都返回是一个新的字符串(原字符串不能更改) public static void fun3() { String string = "www.baidu.com"; // 包含 boolean b1 = string.contains("baidu"); Sy原创 2018-01-16 21:49:44 · 216 阅读 · 0 评论 -
Java 字符流
字符流 单字节读取 只能用来操作文本Writer (所有输出流的父类)FileWriter 构造方法(绑定写入的路径): 文件 字符串 mac系统下 一个字 3个字节 UTF-8 windows 一个字 俩字节 GBK 简体中文 FileWriter fw = new FileWriter("文件路径"); fw.wr原创 2018-01-31 21:49:22 · 219 阅读 · 0 评论 -
Java基础之类与对象
类什么是类 ?类是对一类事物的抽象描述如何写一个类 ?使用class修饰类里都有什么 ?属性: 属性一般都使用 名词来修饰行为: 行为一般用 动词来修饰类中写的成员变量(实例变量) 写在 类中 方法外成员方法(实例方法) 写在 类中原创 2018-01-08 21:25:33 · 202 阅读 · 0 评论 -
Java之StringBuffer的使用
StringBufferStringBuffer(字符串缓冲区)JDK 1.5 的 StringBuilder(线程不安全 省资源)StringBuffer 的特点 :1. StringBuffer 相当于 是一个 可变的序列(操作的是原字符串)2. 是线程安全 (耗费资源) /** * 无参创建StringBuffer */ public static void原创 2018-01-17 21:53:41 · 404 阅读 · 0 评论 -
Java Map接口
Map 接口 1. 以键值对形式保存数据 key --- value 2. 键保持唯一HashSet和HashMap之间的关系底层都是使用哈希算法HashSet底层依赖HashMap来实现 Map的添加方法 HashMap<String, Integer> map = new HashMap<>(); Integer i1 = map.put("张三",原创 2018-01-25 22:05:17 · 299 阅读 · 0 评论 -
struts2 搭建环境 配置 示例
Struts2 是一个基于MVC设计模式的Web应用框架它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。下载http://struts.apache.org/download.cgi#struts209配置导入Struts2所需jar包解压下载的压缩包 在apps文件夹下有个struts2-blank.war包 将里原创 2018-04-12 21:53:14 · 194 阅读 · 0 评论