07 2021 档案

摘要:1.概念: 服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession 2.快速入门: 1.获取HttpSession对象: HttpSession session = request.getSession(); 2.使用HttpSession对象: Ob 阅读全文
posted @ 2021-07-31 14:33 JamieChyi 阅读(72) 评论(0) 推荐(0) 编辑
摘要:1.需求: 访问一个servlet,如果是第一次访问,则提示:你好,欢迎你首次访问 如果不是第一次访问,则提示:欢迎回来,你上次访问的时间为:显示时间 2.分析 1.可以用cookie来完成 2.在服务器中的servlet判断是否有一个名为last_time的cookie 有,不是第一次访问没有: 阅读全文
posted @ 2021-07-31 09:15 JamieChyi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:jsp与servlet有什么区别? jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类) jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。 Servlet中没有 阅读全文
posted @ 2021-07-30 15:30 JamieChyi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:jsp的概念: Java Server Pages :java服务器端页面 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码,用于简化书写 jsp的原理: jsp本质上就是个servlet jsp的脚本: jsp定义java的三种方式: <% 代码 %> 方法可以定 阅读全文
posted @ 2021-07-30 15:25 JamieChyi 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Cookie: 1.概念: 客户端会话技术,将数据保存都客户端 2.快速入门 1.创建Cookie对象,绑定数据 2.发送Cookie 3.获取Cookie,拿到数据 3.实现原理 基于响应头set—cookie和请求头cookie的实现 4.cookie的细节 1.是否可以有多个cookie ​ 阅读全文
posted @ 2021-07-30 15:04 JamieChyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Http: 概念:Hyper Text Transfer Protocol 超文本传输协议 传输协议:定义了客户端与服务器端通信时,发送数据的格式 特点: 1.基于TCP/IP的高级协议 2.默认端口号:80 3.基于请求/响应模型的:一次请求对应一次响应 4.无状态的,每次请求之间的相互独立,不能 阅读全文
posted @ 2021-07-29 14:58 JamieChyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Servlet简介 Servlet就是sun公司开发动态web的一门技术 Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤: 1.编写一个类,实现Servlet接口 2.把开发好的java类部署到web服务器中。 把实现了Servlet接 阅读全文
posted @ 2021-07-28 15:15 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:1.创建一个普通项目 2.右击项目,选择添加一个框架 3.选择web框架 4.接下来就有web了 阅读全文
posted @ 2021-07-28 10:50 JamieChyi 阅读(32) 评论(0) 推荐(0) 编辑
摘要:所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用,对于java而言,就是我们修改了某个资源后,不需要频繁去重新启动项目,可以加强效率。 1.对tomcat进行配置 2.启动项目,这样我们修改jsp等文件就不需要重新再次启动了 阅读全文
posted @ 2021-07-28 10:36 JamieChyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:JavaWeb 需要掌握的知识 JavaSE基础知识 (面向对象 , IO,多线程)HTML ( 表单 :post / get)CSS (选择器)Js (会写就好)jQuery ( 【 $(选择器).事件】 )MySQL ( 增删改查 )JDBC (使用JDBC操作数据库) 加载驱动获取连接创建一个 阅读全文
posted @ 2021-07-28 09:39 JamieChyi 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Java Web 基本概念 1.1 前言 web开发: web , 网页的意思, www.baidu.com静态web html, css提供给所有人看的数据始终不会发生 ​ 动态web 提供给所有人看的数据始终会发生变化;每个人在不要的时间不同的地点看到的信息各不相同!技术栈:Servlet/js 阅读全文
posted @ 2021-07-28 09:22 JamieChyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:JDBC事务处理 数据一旦提交,就不可回滚。 数据什么时候意味着提交? 当一个连接对象被创建时,默认情况下是自动提交事务:每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。**关闭数据库连接,数据就会自动的提交。**如果多个操作,每个操作使用的是自己单独的连接,则无法保证 阅读全文
posted @ 2021-07-27 12:57 JamieChyi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1.实体类 package com.lili.entity; import java.sql.Date; /** * @author: QiJingJing * @create: 2021/7/27 */ public class Student { /** * 编号 */ private int 阅读全文
posted @ 2021-07-27 12:39 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:使用Statement操作数据表的弊端 通过调用 Connection 对象的 createStatement() 方法创建该对象。该对象用于执行静态的 SQL 语句,并且返回执行结果。 Statement 接口中定义了下列方法用于执行 SQL 语句: int excuteUpdate(String 阅读全文
posted @ 2021-07-27 07:53 JamieChyi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:方式一: @Test public void test01() throws SQLException { // 创建一个数据库驱动器对象 Driver driver = new Driver(); // url地址 String url = "jdbc:mysql://localhost:3306 阅读全文
posted @ 2021-07-26 12:29 JamieChyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要应用是将内存中的数据存储在关系型数据 阅读全文
posted @ 2021-07-26 08:35 JamieChyi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.首先我们写个基本样式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div img { width: 323px; border: pink solid 1 阅读全文
posted @ 2021-07-24 13:18 JamieChyi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1.解决linux中tmp目录下的文件被清理的问题 找到/usr/lib/tmpfiles.d下的tmp.conf文件,把默认的10天改成你想要的天数 保存即可 阅读全文
posted @ 2021-07-23 14:43 JamieChyi 阅读(104) 评论(0) 推荐(0) 编辑
摘要:当xshell关闭时如何保持一个jar包程序在后台运行 在当前项目路径下使用vim runjar.sh创建一个文件夹 内容为: nohup java -Dfile.encoding=UTF-8 -jar 你的jar包的全称 & 保存退出 使用chmod u+x runjar.sh给文件以执行权限 最 阅读全文
posted @ 2021-07-23 12:17 JamieChyi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.通过远程链接软件连接上我们的linux服务器,下载linux版本的jdk和tomcat压缩包并上传到我们的服务器中,如下: 2.分别进行解压缩: tar -zxv -f jdk-8u231-linux-x64.tar.gz 回车 tar -zxv -f apache-tomcat-8.5.49. 阅读全文
posted @ 2021-07-23 10:35 JamieChyi 阅读(49) 评论(0) 推荐(0) 编辑
摘要:1.存储过程 一、创建 ★ create procedure 存储过程名(参数模式 参数名 参数类型) begin 存储过程体 end 注意: 1.参数模式:in、out、inout,其中in可以省略 2.存储过程体的每一条sql语句都需要用分号结尾 二、调用 call 存储过程名(实参列表) 举例 阅读全文
posted @ 2021-07-23 06:49 JamieChyi 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1.视图 一、含义 mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成。 好处: 1、简化sql语句 2、提高了sql的重用性 3、保护基表的数据,提高了安全性 二、创建 create view 视图名 as 查询语句; 三、修改 方式一: create or 阅读全文
posted @ 2021-07-23 06:46 JamieChyi 阅读(46) 评论(0) 推荐(0) 编辑
摘要:一、含义 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二、特点(ACID) A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行 C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态 I 隔离性:一个事务不受其他事务的干扰,多个事务互相 阅读全文
posted @ 2021-07-22 20:38 JamieChyi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:1.库的管理 一、创建库 create database 【if not exists】 库名【 character set 字符集名】; 二、修改库 alter database 库名 character set 字符集名; 三、删除库 drop database 【if exists】 库名; 阅读全文
posted @ 2021-07-22 14:08 JamieChyi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1.插入 一、方式一 语法: insert into 表名(字段名,…) values(值,…); 特点: 1、要求值的类型和字段的类型要一致或兼容 2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致 但必须保证值和字段一一对应 3、假如表中有可以为null的字段,注意可以通过以下两种方式插入 阅读全文
posted @ 2021-07-22 13:01 JamieChyi 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1.分页查询 一、应用场景 当要查询的条目数太多,一页显示不全 二、语法 select 查询列表 from 表 limit 【offset,】size; 注意: offset代表的是起始的条目索引,默认从0卡死 size代表的是显示的条目数 公式: 假如要显示的页数为page,每一页条目数为size 阅读全文
posted @ 2021-07-22 12:11 JamieChyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:一、含义 嵌套在其他语句内部的select语句称为子查询或内查询, 外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多 外面如果为select语句,则此语句称为外查询或主查询 二、分类 1、按出现位置 select后面: 仅仅支持标量子查询 f 阅读全文
posted @ 2021-07-22 11:13 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、含义 当查询中涉及到了多个表的字段,需要使用多表连接 select 字段1,字段2 from 表1,表2,...; 笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现完全连接 如何解决:添加有效的连接条件 二、分类 按年代分类: sql92: 等值 非等值 自连接 也支持一 阅读全文
posted @ 2021-07-22 09:19 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、语法 select 分组函数,分组后的字段 from 表 【where 筛选条件】 group by 分组的字段 【having 分组后的筛选】 【order by 排序列表】 二、特点 使用关键字筛选的表位置分组前筛选where原始表group by的前面分组后筛选having分组后的结果gr 阅读全文
posted @ 2021-07-22 08:11 JamieChyi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、概述 功能:类似于java中的方法 好处:提高重用性和隐藏实现细节 调用:select 函数名(实参列表); 二、单行函数 1、字符函数 concat:连接 substr:截取子串 upper:变大写 lower:变小写 replace:替换 length:获取字节长度 trim:去前后空格 l 阅读全文
posted @ 2021-07-21 20:39 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一、语法 select 查询列表 from 表 where 筛选条件 order by 排序列表 【asc}desc】 二、特点 1、asc :升序,如果不写默认升序 ​ desc:降序 2、排序列表 支持 单个字段、多个字段、函数、表达式、别名 3、order by的位置一般放在查询语句的最后(除 阅读全文
posted @ 2021-07-21 15:15 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、语法 select 查询列表 from 表名 where 筛选条件 二、筛选条件的分类 1、简单条件运算符 <、 =、>、 <>、 !=、 >=、 <=、 <=>安全等于 2、逻辑运算符 && and || or ! not 3、模糊查询 like:一般搭配通配符使用,可以判断字符型或数值型 通 阅读全文
posted @ 2021-07-21 13:51 JamieChyi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:一、语法 select 查询列表 from 表名; 二、特点 1、查询列表可以是字段、常量、表达式、函数,也可以是多个 2、查询结果是一个虚拟表 三、示例 1、查询单个字段 select 字段名 from 表名; 2、查询多个字段 select 字段名,字段名 from 表名; 3、查询所有字段 s 阅读全文
posted @ 2021-07-21 13:37 JamieChyi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:(一)mysql常见命令 1.查看当前所有的数据库 show databases; 2.打开指定的库 use 库名; 3.查看当前库的所有表 show tables; 4. 查看其他库的所有表 show tables from 库名; 5.创建表 create table 表名( 列名 列类型, 列 阅读全文
posted @ 2021-07-20 20:39 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一、MySQL的背景 前身属于瑞典的一家公司,MySQL AB 08年被sun公司收购 09年sun被oracle收购 二、MySQL的优点 1、开源、免费、成本低 2、性能高、移植性也好 3、体积小,便于安装 三、MySQL的安装 属于c/s架构的软件,一般来讲安装服务端 企业版 社区版 四、My 阅读全文
posted @ 2021-07-20 20:20 JamieChyi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:数据库的相关概念 一、数据库的好处 1、可以持久化数据到本地 2、结构化查询 二、数据库的常见概念 ★ 1、DB:数据库,存储数据的容器 2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB 3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是 阅读全文
posted @ 2021-07-20 15:46 JamieChyi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:数组、集合、链表实现学生成绩管理系统(JavaSe) 数组实现: 功能描述:学号为唯一识别符,不可重复,可进行增加、修改、删除、查看操作、升序输出。 学生类: package com.lili.StudentManagerSystem.smsChar; /** * 学生实体类 * * @author 阅读全文
posted @ 2021-07-19 15:50 JamieChyi 阅读(49) 评论(0) 推荐(0) 编辑
摘要:观察者模式 1.观察者模式原理 观察者模式定义:简单地说,观察者定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象,这样一个主题对象在状态的变化就能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 2.观察者模式实现: 具体被观察者接口: package co 阅读全文
posted @ 2021-07-18 15:02 JamieChyi 阅读(61) 评论(0) 推荐(0) 编辑
摘要:GSON的用法(处理对象和JSON的相互转化): Gson是Google自己写的一个Java对象与JSON相互转化的工具包,首先我们需要下载jar包,这里可用idea直接下载,下载步骤如下;点击项目结构 点击+号: 点击maven: 然后搜索jar包关键字gson: 下载到项目的指定位置 编写一个J 阅读全文
posted @ 2021-07-18 11:15 JamieChyi 阅读(34) 评论(0) 推荐(0) 编辑
摘要:DOM、JDOM、DOM4J解析XML JAVA解析XML通常有两种方式,DOM和SAX(SAX前面已经示范) DOM:Document Object Model(文档对象模型) DOM的特性: 定义一组JAVA接口,基于对象,与语言和平台无关将XML文档表示为树,在内存中解析和存储XML文档,允许 阅读全文
posted @ 2021-07-17 15:18 JamieChyi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:SAX解析XML 1.XML(Extensible Markup Language 可扩展标记语言),XML是一个以文本来描述数据的文档。 XML文档示例: <?xml version="1.0" encoding="UTF-8" ?> <people> <person personId="E01" 阅读全文
posted @ 2021-07-17 10:00 JamieChyi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:注解的相关概念 1.认识Annotation JDK1.5开始,java增加了对元数据(即类的组成单元数据)的支持,也就是(Annotation)注解,它是代码里做的特殊标记,这些标记可以在编译,类加载,运行时在不改变原有逻辑的情况下,被读取,并执行相应的处理,通过使用Annotation,程序员可 阅读全文
posted @ 2021-07-16 16:57 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:枚举 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序给的非法制,使用普通变量的方式在开发阶段无法实现这一目标 在jdk1.5之后,使用关键字enum定义一种新的类型,称为枚举类型 package com.lili.Enum; 阅读全文
posted @ 2021-07-16 14:18 JamieChyi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:动态代理 所谓动态代理,即通过代理类:Proxy的代理,接口和实现类之间可以不直接发生联系,而可以在运行期间(Runtime)实现动态关联 java动态代理主要是使用java.lang.reflect包中的两个类 InvocationHandler类 public Object invoke (Ob 阅读全文
posted @ 2021-07-15 17:00 JamieChyi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 可以通过Class类取得类信息,通过Class类调用属性或方法 反射给开发者提供了可 阅读全文
posted @ 2021-07-15 16:11 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:多线程的相关概念 1.线程的两种实现方式 继承Thread类,实现Runnable接口 package com.lili.thread; import sun.awt.windows.ThemeReader; /** * 线程的休眠 * 在当前线程的执行中,暂停指定的毫秒数 释放cpu的时间片 * 阅读全文
posted @ 2021-07-15 13:31 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:队列与栈(Queue,Deque,Stack) 队列(Queue)是一种特殊的线性表,是一种先进先出的数据结构,它只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头,队列中没有元素时,称为空队列,是一种先进先出的线性数据结构, LinkedLis 阅读全文
posted @ 2021-07-14 08:29 JamieChyi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:Optional容器类 of :为非null的值创建一个Optional ofNullable:为指定的值创建一个Optional,如果指定的值为null,则返回一个空的Optional isPresent:如果值存在就返回true,否则就返回false get:如果Optional有值则将其返回, 阅读全文
posted @ 2021-07-14 07:54 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Collections工具类 1.排序操作(主要针对list接口提供) reverse(List list): 反转指定集合元素的顺序 shuffle(List,list): 对List里的元素进行随机排序 sort(List list): 对list中的元素根据自然升序排序 sort(List l 阅读全文
posted @ 2021-07-13 16:58 JamieChyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Map新特性 在JDK8中Map接口提供了一些新的遍历的方法,因为在本文中所有Map方法都是以默认值方法的方式实现的,所以现有的Map接口的实现可以直接拥有这些在默认值方法中定义的默认行为,而不需要新增一行代码 先定义一个map,存一些值 Map<Integer, String> map = new 阅读全文
posted @ 2021-07-13 15:55 JamieChyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:HashMap HashMap的实现原理 基于哈希表(数组+链表+二叉树(红黑树))默认加载因子为0.75,默认数组大小是16把对象存储到哈希表中,如何存储?把key对象通过hash()方法计算hash的值,然后用这个hash值对数组长度取余数(默认是16),来决定对key对象在数组中存储的位置,当 阅读全文
posted @ 2021-07-12 17:36 JamieChyi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:HashMap的实现原理: 由Map接口定义的集合又被叫做是查找表,将key值作为value的索引,以key-value键值对的方式进行数据存储,其中key值不可重复; 而Map有多种实现类,以哈希表(hashtable)作为底层数据结构实现的,我们叫做HashMap;因此HashMap的实现原理即 阅读全文
posted @ 2021-07-12 15:58 JamieChyi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:Stream接口简单使用 什么是stream? Stream是元素得集合,这点让Stream看起来类似Iterator;可以支持顺序和并行的对原Stream进行汇聚的操作 我们可以把Stream当成一个高级版本的Iterator,原始版本的Iterator,用户只能一个一个的遍历元素并对其执行某些操 阅读全文
posted @ 2021-07-12 11:00 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1、jdk1.8的四大核心函数式接口 函数式接口参数类型返回值类型描述ConsumerT无处理一个接受T类型的值FunctionTR处理T类型的值,并返回R类型的值Supplier无T接受一个T类型的值PredicateTboolean处理T类型的值,返回true或者false 2、基本使用: 2. 阅读全文
posted @ 2021-07-11 15:54 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:集合框架的iterator接口 1.集合输出 很是情况下,我们都要把集合的内容进行输出,也就是遍历集合 遍历集合的方式有以下几种: IteratorListIterator(可用于list集合)Enumeration(可用于遍历vector集合)foreach 其中foreach和iterator使 阅读全文
posted @ 2021-07-11 13:59 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:HashSet、TreeSet、LinkedHashSet的区别 1、HashSet 1.实现方式:基于哈希表(HashMap)实现 2.不允许重复,可以有一个null元素 3.不保证顺序恒久不变 4.添加元素时把元素作为HashMap的key存储,HashMap的value使用一个固定的Objec 阅读全文
posted @ 2021-07-11 10:34 JamieChyi 阅读(38) 评论(0) 推荐(0) 编辑
摘要:ArrayList、Vector、LinkList的区别? 1、ArrayList 实现原理,采用动态对象数组实现,默认构造方法创建了一个空数组第一次添加元素,扩展容量为10,之后的扩充算法:原来的数组大小+原来数组的一半不适合进行删除或插入操作为了防止数组动态扩充次数过多,建议创建ArrayLis 阅读全文
posted @ 2021-07-11 09:02 JamieChyi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Path接口与Files工具类 1.path接口 Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中的第一个部件是跟部件时就是绝对路径。否则就是相对路径 2.Files工具类 读写文件:static path write(Path path,byte[] bytes,OpenOptio 阅读全文
posted @ 2021-07-10 10:01 JamieChyi 阅读(16) 评论(0) 推荐(0) 编辑
摘要:NIO: 缓冲区: 在NIO库中,所有的数据都是用缓冲区处理的,在读取数据时,它是直接读到缓冲区的,在写入数据时,它是写入到缓冲区的,任何时候访问NIO中的数据,你都是将它放到缓冲区中。 缓冲区实质上是一个数组,通常它是一个字节数组,但是也可以使用其他种类的数组,但是一个缓冲区不仅仅是一个数组,缓冲 阅读全文
posted @ 2021-07-10 08:29 JamieChyi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:装饰者模式: 意图:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰者模式相比生成子类更为灵活,该模式以对客户端透明的方式扩展对象的功能 适用环境:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 通俗来讲,比如我们开个饮品店,主要卖牛奶,但是由于不同的需要,有的需要牛奶+糖 阅读全文
posted @ 2021-07-09 23:02 JamieChyi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Properties文件读取与写入: properties,主要用于读取java配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,用用户能够脱离程序本身去修改相关的变量设置。 它提供了几个主要的方法: getProperty(String key)用 阅读全文
posted @ 2021-07-09 16:08 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:案列:写一个字符串,判断单词个数? 分析:可以字符串流来完成,根据字符串流得到一个StreamTokenizer(流标记器对象), 这个对象有下列常量和方法: TT_EOF:指示流末尾已被读取的常量 TT_WORD:指示已读取单词标记的常量 int nextToken();从输入流中解析下一个对象 阅读全文
posted @ 2021-07-09 15:09 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:字节数组流 基于内存操作,内部维护着一个字节数组,我们可以利用流的读取机制来处理字符串,无需关闭 ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节,内部计数器跟踪read方法要提供的下一个字节,关闭ByteArrayInputStream无效,此类中的方法在 阅读全文
posted @ 2021-07-09 14:15 JamieChyi 阅读(20) 评论(0) 推荐(0) 编辑
摘要:概念: 序列化:把一个对象以二进制的形式存入磁盘中,这样的一种传输方式就叫做序列化,就是把对象写入文件 反序列化:自然就是从磁盘中拿出这个对象,这个还原的过程就叫做反序列化。就是拿出文件中的对象 具体实现: java的对象流中有的两个类: ObjectOutputStream:将java对象的基本数 阅读全文
posted @ 2021-07-09 10:37 JamieChyi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:缓冲流与打印流(字节与字符) 1、缓冲流 首先要明确一个概念: 对文件或其他目标频繁的读写操作,效率低,性能差 使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或读取出来。 BufferedInputStream: 为另一个输入流添加一些功能,在创建BufferedIn 阅读全文
posted @ 2021-07-09 09:28 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Io转换流: 就是字节流和字符流的相互转换,由于我们在传输文件时,不知道你具体想要传递什么文件,这时候人家一般会丢给你一个字节流接口, 如果你想使用字符,这时候就需要字节和字符相互转换即可。 OutputStreamWriter:可以将字节输出流转换为字符输出流InputStreamReader: 阅读全文
posted @ 2021-07-08 16:20 JamieChyi 阅读(24) 评论(0) 推荐(0) 编辑
摘要:字节和字符输入输出流: 1、字节 输出流:超类OutputStream,对文件的输出流使用子类FileOutputStream,用来写入 输入流:超类InputStrean,对文件的输入流使用子类FileInputStream,用来读取 代码演示: 字节输出流:将文字写入到对应lili.txt文件上 阅读全文
posted @ 2021-07-08 14:57 JamieChyi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:File类: File类是文件和目录路径名的抽象表示形式。 即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可。 常用方法: File(String pathname):创建一个File实例: File file = 阅读全文
posted @ 2021-07-08 13:51 JamieChyi 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Lambda表达式 Lambda表达式是整个java8发行版中最受期待的在java语言层面上的改变,Lambda允许把函数作为一个方法的参数,或者把代码看成数据。Lambda表达式用于简化java中接口式的匿名内部类,被称为函数式接口的概念。函数式接口就是一个具有一个方法的普通接口,像这样的接口,可 阅读全文
posted @ 2021-07-08 09:24 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:HTML中的特殊字符 在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时我们可以使用下面的字符来代替: 特殊字符描述字符的代码空格符$nbsp;<小于号$lt;>大于号&gt;&和号&amp;¥人民币&yen;©版权&copy;®注册商标&reg;°摄氏度&deg;±正负号&plusmn; 阅读全文
posted @ 2021-07-07 19:31 JamieChyi 阅读(37) 评论(0) 推荐(0) 编辑
摘要:二叉树实现排序 树是一种非线性数据结构,直接观看,它是数据元素(在树种称为结点)按分支关系组织起来的结构,二叉树(Binart Tree)是每个节点最多有两个子树的有序树。通常子树被称做为“左子树”和“右子树” 二叉树算法的排序规则: 1.选择第一个元素作为跟节点 2.之后如果元素大于根节点放在右子 阅读全文
posted @ 2021-07-07 14:59 JamieChyi 阅读(20) 评论(0) 推荐(0) 编辑
摘要:MD5工具类 md5即信息摘要算法,用来对一些信息进行加密 我们在存入数据时,有些数据不想显式的直接存储在数据库中,比如密码,这时候我们可以用一种加密算法,把密码进行加密, 把加密后的密码存储到数据库中,这样安全性能够提高不少。 代码演示: 编写一个方法用来返回加密后的结果: private sta 阅读全文
posted @ 2021-07-07 13:56 JamieChyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:数字处理工具类 BigInteger:可以让超过Integer范围内的数据进行运算 构造方法:public BigInteger(String val) 常用方法: public BigInteger add(BigInteger val) public BigInteger subtract(Bi 阅读全文
posted @ 2021-07-07 12:25 JamieChyi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:System与Runtime类 System: System代表系统,系统级的很多属性和控制方法都放在该类的内部,该类位于java.lang包。 1.成员变量 System类中包含in,out和err三个成员变量,分别代表标准输入流(键盘输入)。标准输出流(键盘输出),和标准错误输出流 2.成员方法 阅读全文
posted @ 2021-07-06 16:20 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:对象的克隆 将一个对象复制一份,称为对象的克隆。 在Object类中存在一个clone()方法: protected Object clone()throws CloneNotSupportedException 如果某个类的对象想要被克隆,则对象所在的类必须实现Cloneable接口,此接口没有定 阅读全文
posted @ 2021-07-06 15:20 JamieChyi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:Comparable与Comparator 对两个或多个数据项进行比较,以确定它们之间的大小关系及排列顺序称为比较。 1.Comparable接口: 此接口强行对实现它的每个类的对象进行整体排序,这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法。 代码实现: 定义一个实体 阅读全文
posted @ 2021-07-06 14:59 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Date类: 当我们正常使用Date类时, Date date = new Date(); System.out.println(date);// Tue Jul 06 11:25:25 CST 2021 不满足我们想要的格式,这个时候我们就需要对日期进行转换,转换成我们需要的格式。 方式一(不推荐 阅读全文
posted @ 2021-07-06 11:31 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Math类: 常用方法: 1.abs(double a)返回double值的绝对值 System.out.println(Math.abs(-12.3)); //12.3 2.random(); 返回0到1之间的随机数 System.out.println(Math.random()); 3.sqr 阅读全文
posted @ 2021-07-06 10:49 JamieChyi 阅读(44) 评论(0) 推荐(0) 编辑
摘要:异常处理 Throwable是异常的基类,分为error和exception,在编程中我们关注exception在开发中,我们需要把可能异常的代码使用try语句包裹起来catch可以有多个,顺序为从子类到父类,大的放后,小的放前finally:无论是否异常都会进行处理throw抛出一个异常,在方法内 阅读全文
posted @ 2021-07-06 09:04 JamieChyi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:包: 包用于对多个java源文件的管理,就像我们的文件目录一样, 定义一个包:package com.lili 该语句只能出现在代码中的第一句。 四种权限访问修饰符: 访问修饰符同一个类同包不同包子类不同包非子类public√√√√protected√√√default√√private√ 阅读全文
posted @ 2021-07-05 15:26 JamieChyi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:基本数据类型包装类: 在java中有一切皆对象,java中基本数据类型就不符合这种设计思想,因为八种基本数据类型并不是引用数据类型,所以java中为了解决这样的问题,JDK1.5后引入了八种基本数据类型的包装类。 八种包装类分为两大类型: Number: Integer,Short,Long,Dou 阅读全文
posted @ 2021-07-05 15:04 JamieChyi 阅读(20) 评论(0) 推荐(0) 编辑
摘要:链表: 一种常见的的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到是下一个节点的指针(Pointer) 链表适合插入、删除、不宜过长、否则会导致遍历性能下降 功能实现: 添加一个节点查询一个节点删除一个节点修改一个节点打印所有节点 代码实现:递归+内部类 publ 阅读全文
posted @ 2021-07-05 10:25 JamieChyi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:内部类 内部类的作用 每个内部类都能独立地继承来自一个(接口的)实现,所以无论外部类是否继承了某个(接口的)实现,对于内部类都没有影响,如果没有内部类提供的可以继承多个具体或抽象的类的能力,一些设计与编程问题就很难解决,从这个角度看,内部类使得多重继承的解决方案变得完整,接口解决了部分问题,而内部类 阅读全文
posted @ 2021-07-04 15:47 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:适配器模式: 适配器模式 : 将一个类的接口转化成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起的那些类可以一起工作 通俗点来讲:比如有个二插插座,显然只有二插的充电器可以使用,但是三插充电器也想要使用这个插座怎么办呢?,那就重新做一个即可以满足二插的也满足三插的插座,这个新的插座 阅读全文
posted @ 2021-07-04 10:15 JamieChyi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:静态代理模式: 即代理类和被代理类要实现同一个接口,由代理类来实现被代理类想要做的事情。 通俗来讲:比如你要结婚,你的目的就是结婚,然而婚庆公司可以帮你完成这一目的,并且还可以帮你布置现场,主持婚礼等一系列其他的事情,在这里,你就是被代理对象,而婚庆公司就是代理对象。哈哈哈,这样是否明白,话不多说, 阅读全文
posted @ 2021-07-04 09:32 JamieChyi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式: 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 通俗一点理解就是,我们需要什么东西,就去工厂里面拿,工厂里面有的话就可以拿到,没有的话就拿不到,这里运用到了对象身上而已。 案列:工厂生产 阅读全文
posted @ 2021-07-04 09:09 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:String、StringBuffer、StringBuilder的区别 String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuff 阅读全文
posted @ 2021-07-04 08:29 JamieChyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:关于String的常用方法: 1.charAt(int index):返回指定索引处的值: public static void main(String[] args) { String str = "abcf"; System.out.println(str.charAt(0));// a } 2 阅读全文
posted @ 2021-07-03 15:24 JamieChyi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:数组、字符串、集合的相互转换 1.数组转字符串 public static void main(String[] args) { // 定义一个数组 char[] a = {'a','b','c','d'}; String b = new String(a); System.out.println( 阅读全文
posted @ 2021-07-03 11:25 JamieChyi 阅读(23) 评论(0) 推荐(0) 编辑
摘要:应用模板方法(抽象类) 模板方法模式(Templete Method):定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。 例如:抽象类只去做一个权限检查的事情,至于其他事情,则交给子类去做 代码实现: p 阅读全文
posted @ 2021-07-03 08:31 JamieChyi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:多态性: 多态是面向对象三大特性之一 什么是多态性? 对象在运行过程中的多种形态 例如:父类的引用指向子类的对象(用大的类型去接收小的类型,向上转型,自动转换) instanceof: instanceof是用于检查对象是否为指定的类型,通常在把父类引用强制转化为子类引用时使用,避免发生类型转换异常 阅读全文
posted @ 2021-07-02 14:46 JamieChyi 阅读(32) 评论(0) 推荐(0) 编辑
摘要:接口和抽象类有什么区别? 抽象类接口定义关键字abstractinterface实现的方式extends关键字implements是否可以存在构造函数是否是否可以被实例化否否关于属性可以定义变量,也可以定义常量只能定义常量抽象方法可以存在,也可以不存在除了默认的(default)修饰的,其余全是抽象 阅读全文
posted @ 2021-07-02 13:49 JamieChyi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:接口的基本概念 1.定义一个接口,使用interface关键字 2.在一个接口中,只能定义常量、抽象方法、JDK1.8之后可以定义默认的实现方法 3.接口可以多根继承 4.一个具体类实现接口使用implements关键字 5.一个类可以实现多个接口 6.抽象类实现接口可以不实现接口的方法 7.接口不 阅读全文
posted @ 2021-07-02 13:37 JamieChyi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:抽象类的基本概念 抽象类:用abstract关键字声明的类称为抽象类,很多具有相同特征和行为的对象可以抽象为一个类,很多具有相同特征和行为的类可以抽象为一个抽象类 1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类 2.非抽象类继承抽象类必须实现所有抽象方法 3.抽象类可以继承抽象类,可以不实现 阅读全文
posted @ 2021-07-02 13:11 JamieChyi 阅读(53) 评论(0) 推荐(0) 编辑
摘要:继承小结 1.继承是发生在多个类之间 2.继承使用关键字extends 3.java只能单根继承,允许多层继承 4.被继承的类叫做父类(超类),继承父类的类叫子类(派生类) 5.在父类中的非私有的属性和方法可以被子类继承 6.protected(受保护的访问权限修饰符),修饰的属性和方法可以被子类继 阅读全文
posted @ 2021-07-02 08:19 JamieChyi 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1、实现功能: 基于数组实现,数组长度由用户输入,数组会进行动态扩充 扩充原理:扩充长度为原数组长度的2倍 可进行添加、修改、删除、查询操作。 2、代码实现 2.1、Chicken.java public class Chicken { private int id; private String 阅读全文
posted @ 2021-07-01 19:04 JamieChyi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:单例设计模式 单例模式分为懒汉式和饿汉式 1.饿汉式 代码实现: public class Test { public static void main(String[] args) { Single single = Single.getSingle(); } } class Single{ pr 阅读全文
posted @ 2021-07-01 19:01 JamieChyi 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示