自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 Lambda_Stream练习

JDK8 Lambda练习package cn.cdqf.lambda;import java.util.Arrays;import java.util.Comparator;import java.util.IntSummaryStatistics;import java.util.List;import java.util.Optional;import java.util.stream.Collectors;import java.util.stream.Stream;publi

2020-09-09 20:42:09 264

原创 Concurrent 学习

Concurrent总结线程和进程​ 进程 —> QQ, 360​ 线程 —> 进程中的程序, 每一个进程至少有一个线程​ 多核CPU中进程可以并发执行​ CUP同一时刻只能运行一个进程, 不同的线程来抢占CPU时间片并发编程领域, 提醒性能本质就是提升硬件的利用率 —> 提升I/O和CPU的利用率Volatile可见性和有序性问题:package com.cdqf.concurrent;public class Test01 { public static

2020-09-09 20:07:29 268

原创 Day 46 学习分享 - SSM整合

SSM基本概念SSM = SpringMVC + Spring + MyBatis(MyBatisPlus)Spring是一个轻量级的IOC控制反转和AOP面向切面的容器框架SpringMVC是一个轻量级的基于MVC的Web层应用框架MyBatis是一个基于Java的持久层框架Spring框架在三大框架的整合中占据至关重要的地位, 类似于一个大管家将Myabtis和SpringMVC糅合在一起所需依赖<properties> <project.build.so

2020-07-25 11:59:58 126

原创 Day 45 学习分享 - SpringMVC

SpringMVC概念 SpringMVC是Spring框架下的一个子框架, 作用在控制层(Controller) SpringMVC的特点是MVC注解和REST风格的URL请求, 采用了松散耦合课插拔组件结构, 相比其他MVC框架更具有扩展性和灵活性SpringMVC优点 1. 天生与Spring框架集成 2. 支持Restful风格 - 一种标准请求方式 3. 支持灵活的URL到页面控制器的映射 4. 容易与其他视图技术集成 5. 简单强大的异常处理 6. 对静态资源的支持 7.

2020-07-25 10:20:02 90

原创 Day 44 学习分享 - Spring

Spring的核心功能IOC: 方便解耦, 简化开发 IOC不是一种技术而是一种设计思想AOP: 面向切面编程 Spring提供面向切面编程, 可以方便的实现对程序进行权限拦截、运行监控等功能 声明式事务的支持: 通过配置完成对事务的管理, 无需手动编程 方便的测试功能: Spirng-test模块可以继承Junit依赖, 通过注解进行测试 框架整合: Spring框架可以无缝整合其他框架Spring的核心模块spring-core: 依赖注入IoC与DI的最基本实现

2020-07-23 20:09:17 88

原创 Day 43 学习分享 - Maven 和 Mybatis

什么是MavenMaven是一个专注于项目构建和依赖管理的项目管理工具他包含了一个项目对象模型(POM:Project Object Model),一组标准集合, 一个项目生命周期, 一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑Maven的作用Maven可以集中管理所有依赖(jar包)Maven可以构建项目(项目自动编译、运行、打包、部署、发布...)Maven可以创建聚合工程(Maven聚合、继承等等...)核心思想: 约定优于配置: 按照Maven的约定, 无需

2020-07-20 18:51:49 332

原创 OA系统知识点小结

Cookie储存信息格式:Key - ValueCookie new Cookie(String name, String value); 创建新Cookie setMaxAge(int expire); 设置cookie生存时间, 单位为秒, 格式有三种<0,0,>0 分别代表内存存储, 失效, 生存时间 setPath(String uri); 设置cookie作用域 resp.addCookie(Cookie cookie); 让浏览器添加Cookie, 使其能被

2020-07-13 19:40:08 240

原创 Day 42 学习分享 - Ajax和JSON

1. Ajax1.1 Ajax的概念Asynchronous JavaScript And XML传统方式与服务器交互存在的弊端: 如果要刷新网页中的某一部分, 那么整个网页都必须重新加载!Ajax: 局部刷新技术, 通过JS的方式请求后台, 获取数据, 然后使用DOM技术根据后台获取的数据更新页面元素, 在获取数据的过程中, 浏览器不刷新 这种方式也被称作异步请求!1.2 Ajax的实现方式1.2.1 原生JS代码实现用户名验证(GET方式)// 前端<%@ page

2020-07-07 20:53:52 102

原创 Day 41 学习分享 - Cookie和Session

1. 重定向(Redirect)和转发(forward)区别:相同点: 都可以实现请求的跳转不同点; > 语法不同: 重定向: response.sendRedirect("main.html"); 转发: request.getRequestDispatcher("main.html").forward(req,resp); > 请求次数不同: 重定向一共浏览器发送了2次请求 转发是服务器内部跳转,只发送了1次请求 > 是否可以共享Req

2020-07-06 21:01:05 78

原创 Day 40 学习分享 - JavaScript

1. JavaScript概念 JavaScript是一门独立的语言, 基于对象和事件驱动的, 具有安全性能的脚本语言. JavaScript是运行在浏览器端, 由浏览器来解释并运行的! JavaScript是一门弱类型的语言. JavaScript语法和Java类似JavaScript分为了三大模块: 1. ECMAScript: 定义了JavaScript的核心语法 2. BOM(Brower Object Model): 浏览器对象模型, 定义了浏览器的相关操作 3. DOM

2020-06-22 19:43:45 101

原创 Day 39 学习分享 - HTML常用标签和CSS入门

1. 标题标签:<title></title>2. 网页标题标签一共六级标题, 字体从大到小<h1></h1> <h2></h2> <h3></h3> <h4></h4> <h5></h5> <h6></h6>3. 网页段落标签<p></p>4. 换行、水平线标签<br/> 自闭和

2020-06-18 20:20:41 202

原创 Day 38 学习分享 - JDBC批处理与事务

1. JDBC批处理1.1 基本概念批量处理允许将相关的SQL语句分组到批次中处理, 并通过对数据库的一次调用提交他们.​ 当一次向数据库发送多个SQL语句时, 可以减少连接数据库的开销, 从而调高性能​ 批处理实现方式:PreparedStatement: 1. 使用占位符创建SQL语句 2. 使用preparedStatement() 方法创建PreparedStatement对象 3. 使用setAutoCommit() 将auto-commit设置为false 4. 使用addBa

2020-06-18 20:19:50 129

原创 Day 37 学习分享 - JDBC入门

1. JDBC 概念JDBC: Java Data Base Connectivity - Java数据库连接技术 这是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一的访问, 是SUN公司提供的一套连接并操作数据库的技术. 使用要求: JDBC需要连接驱动: 我们操作数据库是在控制台使用SQL语句来操作 而JDBC是用Java语言向数据库发送SQL语句,帮助我们完成执行数据库的操作.注意: JDBC连接不同的数据库, 需要导入不同的数据库驱动包!2

2020-06-12 20:30:00 123

原创 Day 36 学习分享 - MySQL 查询功能

1. 基础查询语法: select 列名1,列名2,列名3... from 表名 [Where 条件1 OR|AND 条件2...]; 如果没有条件, 查询整个表的数据! select * from 表名;例子: 查询学生名字和数学成绩: select name, math from student;DISTINCT关键字: 作用: 去除重复的数据, 重复的数据只保留一条! 例子: 去除所有重复名字并显示 select distinct(name) from st

2020-06-10 19:54:56 121

原创 Day 35 学习分享 - 初识Mysql

1. 创建数据库​ 语法:​ create database 数据库名;​ 标准语法:​ create database 数据库名 character set 字符集 COLLATE 排序规则;​ 备注:​ 字符集和排序规则默认可以省略,有默认值!​ 示例:​ create database studentdb1;​ create database studentdb2 character set utf8 COLLATE utf8_general_ci;​ 查看一下创建数

2020-06-09 19:39:59 176

原创 Day 34 学习分享 - 反射

1. 反射内存图2. 获取Class类对象Class Class.forName(String 完整的包名.类名); √ 根据用户提供的完整包名.类名,获取对应的Class类对象,【并且该方法可以强制加载对应的.class文件。】 Class 类名.class; 通过类名获取对应的Class对象属性 Class 类对象.getClass(); 通过类对象,获取对应的Class类对象。package com.qfedu.a_reflect;public class GetClas

2020-06-08 19:32:03 94

原创 Day 33 学习分享 - 枚举

1. 枚举概念​ 枚举就是[有限实现个数]的类型​​ 例如:​ 电影类型:​ 科幻片, 爱情片, 剧情片, 动作片…​ 图书类型:​ 历史类, 科幻类, 传记类, 教材类…​ 枚举其实就是一个特殊的类, 可以有成员变量, 方法, 实现一个或多个接口, 定义自己的构造方法​ 一个Java源文件中最多只能定义一个public访问权限的枚举类, 并且该Java源文件也必须和该枚举类的类名相同2. 定义枚举类enum关键字public enum Direction {

2020-06-08 12:00:14 101

原创 Day 32 学习分享 - XML文件

1. XML文件概念XML - Extensible Markup Language - 可拓展标记语句XML是一种数据的格式, 可以用这种数据格式来储存和标识一组数据!2. XML基本机构<?xml version="1.0" encoding="UTF-8"?>​ XML声明 – 定义XML 版本号 编码信息​ 根元素​ 注释 ---- 属性​ 王珊​ .NET高级编程​ 包含C#框架和网络编程等​ 元素 – 由开始标签, 元素内容和结束标签组

2020-06-08 11:37:28 143

原创 Day 31 学习分享 初识网络编程

1. 网络编程基础1.1 计算机网络概念 所谓计算机网络, 就是把分布在不同区域的计算机与专门的外部设备用通信线路互相连接成一个规模大而且功能强的网络系统, 从而使得计算机之间可以互相传递信息, 共享数据等资源1.2 网络编程的目的 网络编程指的就是[在同一个网络中不同机器之间的通信], 直接或间接地通过网络协议与其他计算机进行通讯 1.3 网络编程的主要问题 1. 如何准确的定位网络上的一台或多台主机 2. 找到主机后如何可靠并且高效的进行数据传输 2. 计算机之间通信的需求条件

2020-05-28 20:09:07 300 1

原创 Day 30 学习分享 - 线程

1. 线程安全1.1 线程安全概述 如果有多个线程在同时运行, 这些线程有可能会同时运行一段代码, 程序每次运行结果和单线程运行的结果是一样的, 而且其他的变量的值也和预期相同, 这就是一个安全的线程.1.2 案例演示public class Ticket implements Runnable { // 共100票 int ticket = 100; @Override public void run() { while (ticket > 0) { // 同步代码块

2020-05-27 20:50:41 98

原创 Day 29 学习分享 - 序列化流和线程基础概述

1. 序列化流1.1 序列化流概述 Java中提供了一种对象序列化的机制, 用一个字节序列可以表示一个对象, 该字节序列包含该[对象的数据]、[对象的类型]和[对象中储存的属性]等信息. 字节序列写出到文件之后, 相当于文件中[持久保存]了一个对象的信息. 反之, 字节序列还可以从文件中读取回来, 重构对象, 对他进行[反序列化].1.2 序列化文件代码: FileOutputStream fileOut = new FileOutputStream("employee.txt"); Obj

2020-05-26 20:39:29 131

原创 Day 28 学习分享 - IO流和递归

1. IO流的概念和应用场景1.1 什么是流?流, 本身是一个非常抽象的概念, 以现实生活中水为例, 我们通过管道把A池子的水放到B池子中这个过程就会产生水流, 而主体是水.1.2 什么是IO流?IO流 -- 输入(Input)输出(Output)流IO流可以看做不同储存设备之间的数据交换产生的 数据流根据流向分类: 输入流: 把数据从其他设备上读取到内存中的流 输出流: 把数据存内存中写出到其他设备上的流根据数据类型分类: 字节流: 以字节为单位读写数据的流 字符流: 以字符为

2020-05-25 18:38:44 114

原创 Day 27 学习分享 - File类

1. File类1.1 File类概述 SUN公司提供给程序员操作文件以及文件夹对应的类, 这里涉及到对于文件以及文件夹的增删改查操作 不能操作文件内容, 不能对于文件进行读写操作 -- IO流内容1.2 路径问题相对路径 以及当前路径为参照物 针对当前工作目录, 去往其他目录最短路径 . 当前工作目录 .. 当前工作目录的上级目录绝对路径 唯一的明确的路径 Windows操作系统绝对路径是从当前盘符开始 Linux macOS Unix根目录 / 所有的路径都是从根目录开始

2020-05-19 21:04:57 138

原创 Day 26 学习分享 - Map 和 匿名内部类

1. Map1.1 Map概述Map 是一个双边队列形式储存为底层结构的接口Map双边队列中对于数据储存类型 有限制 存储数据类型在创建Map双边队列时进行约束, 保证数据类型一致化 也没有限制 Map可以满足任意类型 Map使用了两个泛型! Map<K, V>1.2 Map整体结构和常用APIinterface Map<K, V>--| class HashMap<K, V> 底层储存数据结构使用的方式是哈希表方式, 储存数据是根据当前存储K

2020-05-18 18:20:59 412

原创 Day 25 学习分享 - LinkedList 和 Set

1. LinkedList1.1LinkedList概述LinkedList是一个双向链表结构的底层数据储存手段 自行车链子 -- 生活中的链表结构, 环环相扣, 替换拆除非常方便1.2 LinkedList独有方法 LinkedList使用的方法都是从List接口实现而来的方法,需要了解的是LinkedList特有方法: boolean addFirst(E e); 在当前链表开始位置加元素 boolean addLast(E e); 在当前链表末尾添加元素 E getFir

2020-05-17 15:58:17 82

原创 Day24 学习分享 - 项目再优化和List集合

1. 项目再优化1.1 情况分析目前问题: 数据存储是数组形式, 数据类型明确, 复用度较低 需求: Student操作使用的代码, StudentManager不管更换什么数据类型都可以直接使用 解决方法: 1. 泛型 2. 数组不能使用泛型, 但是这个数组又需要保存各式各样的数据 使用Object类1.2 使用泛型和Object数组优化项目2. List接口2.1 List接口概述List接口特征: 1. 数据存储可重复 2. 有序, 添加顺序和保存顺序一致-

2020-05-15 18:15:17 139

原创 Day23 学习分享 - 项目优化和集合

1. 项目优化1.1 目标1. 完成数据展示过滤功能2. 完成数据的字符串处理过程1.2 使用接口完成按照条件过滤展示数据的方式分析: for(遍历保存数据的数组) { if (条件过滤) { 展示 } } 返回值类型: boolean 方法名: accept 形式参数列表: 一个Student学生类对象interface StudentFilter { boolean accept(Student stu);}package com.qfedu

2020-05-14 20:37:55 155

原创 Day 22 学习分享 - 泛型和学生管理系统项目进阶

1. 泛型1.1 泛型概述 泛型其实是一种归纳总思想的提升, 对于数据处理的范围, 参数的类型, 方法操作的数据 进行了二次剥离 代码中使用泛型之后, 可以极大的提高对于代码的复用性, 可以执行, 可操作性1.2 泛型格式Java中泛型规定: <自定义无意义英文大写单字母占位符> 一般常用: <T> Type <E> Element <K> Key <V> Value泛型可以约束 方法 类 接口1.3

2020-05-13 20:10:48 176

原创 Day 21 学习分享 - 异常处理和String类

1. 异常处理1.1 Exception的两种处理方式概述【捕获】 有能力处理就捕获, 自己的问题也捕获【抛出】 没有办法处理就抛出, 或者, 不是自己的问题,和自己无关因别人导致的错误也抛出1.2 捕获异常1.2.1 基本格式格式: try { // 有可能出现问题的代码 } catch (异常类型) { // 对应当前异常类型的处理方式 }1.2.2 细节问题和注意事项1. 代码中出现异常, JVM会终止代码运行, 如果使用try catch捕获处理异常, JVM会

2020-05-12 20:31:41 155

原创 Day20 Object类和异常处理

1. Object类1.1 object类概述 面向对象语言中都会有一个类是作为所有类的基类, 万物之根本! Object是Java中所有类的基类, 根类. Object类是任何一个类的直接父类或者间接父类 Object提供了一些可以让任何一个Java中类型使用的方法 toString方法 equals方法 hashCode方法 还存在一些和线程相关的方法 wait(); notify(); notifyAll(); sleep(); Object作为一种数据类型,

2020-05-11 19:30:35 137

原创 Day 19 学习分享 - 学生管理系统项目

1.6.6 改【最讨厌的方法】需求: 真实修改数组中保存的学生对象数据。 需要找到对应学生对象,修改其中指定的数据方法分析: 权限修饰符: public 是否需要static修饰 不需要 返回值类型: Student boolean √ 检测方法运行状态,如果出现问题,返回false 方法名: modify 形式参数列表: int id方法声明: public boolean modify(int id)static补充 1. static修饰静态成员

2020-05-10 15:14:09 106

原创 Day 18 学习分享 - 学生管理系统项目

学生管理系统项目1. 学生管理系统项目尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的方法 1. 根据学生的ID,找到对应的学生对象【完成】 2. 完成方法,添加新学生 3. 完成方法,删除指定ID的学生 4. 完成方法,展示数组中所有的学生信息 5. 根据学生成绩,完成降序排序1.1 包结构划分包名规范: 1. 所有的单词全部小写 2. 不同的单词直接使用 .

2020-05-08 19:24:36 90

原创 Day17 学习分享 - 构造代码块和static案例,接口以及多态

1. 构造代码块 static案例1.1 分析过程计数器: 记录用户的登录次数, 当前网站的访问人数自动生成用户ID号 会员ID号不可重复, 而且是在申请时自动生成 分析: 1. 程序不退出, ID号始终处于一种记录状态, 保存下一个用户的ID号 2. 用户不管提供多少数据, 都要给予一个对应的ID号 解决: 1. ID号始终处于一种记录状态 这里需要一个变量来保存ID...

2020-05-07 19:57:45 75

原创 Day16 学习分享 - static 和 代码块概述

1. static 概述static 关键字可以修饰方法static 关键字可以修饰成员变量【没有对象】2. static修饰成员变量2.1 代码需求定义一个Person类 成员变量: 姓名,年龄,国籍class Person { private String name; private int age; private String country;...

2020-05-06 19:10:44 240

原创 Day15 学习分享 - 继承, 重写重载, abstract,this,super以及final关键字

1. 继承有其父才有其子2. 继承带来的问题2.1 父类的方法不一定适合子类 开发中父类的方法继承给子类使用, 但是子类使用不太符合子类的情况, 如果子类方法重新定义, 重新命名, 又会导致代码冗余, 开发压力较大2.2 重写 【Override】前提条件 1. 重写是存在于继承中子类, 或者【遵从中的实现类】 2. 重写情况下要求子类中的方法和父类中的方法, 方法声明完全一致...

2020-05-04 13:12:15 182

原创 Day14 学习分享 - 多类合作, 匿名对象和继承

Day14 学习分享 - 多类合作, 匿名对象和继承1. 多类合作1.1 PC类屏幕 屏幕可以看做是一个类 成员变量: 品牌 尺寸 键盘 键盘也可以看做是一个类 成员变量: 品牌 按键个数PC电脑类 成员变量: 键盘类对象 屏幕类对象 成员方法: 换屏幕 换键盘1.2 屏幕类代码实现package com.qfedu.a.compu...

2020-04-29 18:52:02 131

原创 Day13 学习分享 - 构造方法, 封装, this 关键字 和 多类合作

1. 构造方法1.1 作用在开发的过程中创建对象使用创建对象目前格式: new 类名(有可能用到的参数)类名 (可能用到的参数); ==> 这就是构造方法 Constructor他能[初始化]当前创建对象中的成员变量数据!!!1.2 格式格式: public 类名(所需初始化参数列表) { 初始化语句; } 细节: 1. 构造方法的名字必须是类名, 并且...

2020-04-28 19:13:14 119

原创 Day12 学习分享 - 面向对象

1. 生活中的面向对象需求: 我想吃烤羊排A. 找一个烧烤店吃 1. 选店铺 2. 找座位并点餐 3. 等待烤制 4. 吃 5. 结账走人B. 自己做着吃 1. 买羊排, 买材料 2. 准备材料 3. 做羊排, 放入烤箱 4. 取出 5. 吃 6. 洗锅洗碗生活中面向对象和面向过程 面向对象: 找合适的人做合适的事 面向过程: 亲力亲为, 自力更生,...

2020-04-27 17:45:01 87

原创 Day11 学习分享 - 数组操作

1. 选择排序算法推导1.1 找出数组中最大值,和下标为0的元素互换位置int[] arr = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};/* * 1. 找出数组中的最大值下标位置 */ ...

2020-04-26 21:54:18 101

原创 Day10 学习分享 - 数组地址转移和数组作为方法参数

1. 数组地址转移问题 【难点】1.1 例子:class Demo1 { public static void main(String[] args) { int[] arr1 = new int[10]; int[] arr2 = new int[10]; arr1[0] = 10; arr2[0] = 20; Sys...

2020-04-24 18:00:27 141

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除