- 博客(56)
- 收藏
- 关注
原创 JAVA学习笔记25——JUC
JUC Lock锁 Lock接口 ReentrantLock:可重入锁 ReentrantReadWriteLock.ReadLock:读锁 ReentrantReadWriteLock.WriteLock:写锁 public ReentrantLock() { sync = new NonfairSync(); } /** * Creates an instance of {@code ReentrantLock} with the * giv
2021-05-07 10:09:11
212
原创 JAVA学习笔记24——SpringBoot
SpringBoot 微服务架构 把每个功能元素独立出来,把独立出来的功能元素动态组合,需要的功能元素才去拿来组合,需要多一些时可以聚合多个功能元素,所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制 优点 节省了调用资源 每个功能元素的服务都是一个可替换的,可独立升级的软件代码 原理 pom.xml spring-boot-dependencies:核心依赖在父工程中 我们在写或者引入一些springboot以来的时候,不需要指定版本,因为有版本仓库 启动器 springboot启动场景 spr
2021-05-06 09:20:50
1350
5
原创 算法笔记01——回溯
1. 基本模板 class Solution { public List<List<元素类型>> 方法名(参数列表){ //返回answer容器集合 List<List<元素类型>> ans = new ArrayList<>(); if (返回空集合条件) return ans; //返回answer容器集合子集 List<元素类型> path =
2021-01-25 13:45:28
266
原创 JAVA学习笔记23——Spring
Spring 1. 概述 1.1 简介 Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。 1.2 优势 方便解耦,
2020-12-26 22:20:13
296
1
原创 JAVA学习笔记22——Maven,Mybatis
Maven 1. Maven简介 Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 2. 优势 1. 依赖管理 依赖是指: 一个java项目可能需要使用到第三方的jar包才能运行,那么我们说这个java项目依
2020-11-24 15:09:56
321
原创 JAVA学习笔记20——过滤器与监听器,JQuery
过滤器与监听器 1. Filter过滤器 1.1 作用 当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能 1.2 快速入门 @WebFilter("/*") public class Demo1Filter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) th
2020-10-31 16:45:41
198
原创 JAVA学习笔记19——会话技术,MVC,三层架构
会话技术 一次会话中包含多次请求和响应。一次会话指浏览器第一次给服务器资源发送请求,会话建立,直到一方断开 功能:在一次会话范围内,共享数据 客户端会话技术:Cookie 服务器端会话技术:Session 1. Cookie 1.1 基本概念 客户端会话技术,将数据保存到客户端 1.2 快速入门 使用步骤: 1.创建Cookie对象,绑定数据 new Cookie(String name,String value) 2.发送Cookie对象 response.addCookie(Cookie cookie)
2020-10-29 12:15:07
159
1
原创 JAVA学习笔记18——Tomcat,Servlet
Tomcat web服务器软件 1. 基本操作 1.1 配置 部署项目方式: 1.直接将项目放到webapps目录下即可 简化部署:将项目打成一个war包,再将war包放置到webapps下 2.配置conf/server.xml文件 在Host标签体中配置 < Context doBase=“项目存放路径” path=“虚拟目录”/ > 3.在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写 < Context doBase=“项目存放路径” >
2020-07-22 20:58:02
1482
原创 JAVA学习笔记17——JavaScript,BootStrap,XML
JavaScript 1.JavaScript基础 基本概念 JavaScript是一门客户端脚本语言 运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎 脚本语言:不需要编译,直接就可以被浏览器解析执行 基本功能 增强用户和HTML页面交互过程,可以来控制html元素,让页面有一些动态效果,增强用户体验 2.ECMAScript 2.1 基本语法 2.1.1 与html结合 内部JS <script> alert("HelloWorld") &
2020-07-18 19:20:28
381
原创 JAVA学习笔记16——HTML,CSS
HTML 1.基本概念 软件架构 1.C/S架构:客户端/服务器端 优点:用户体验更好 缺点:安装部署维护麻烦 2.B/S架构: 浏览器/服务器 优点:安装部署维护简单 缺点:如果应用过大,用户体验会受到影响,对硬件要求过高 BS架构 资源分类: 1.静态资源 静态网页开发技术,HTML,CSS,JavaScript 如果用户请求静态资源,那么服务器会直接将静态资源发送给浏览器,用户得到的资源一样 2.动态资源 使用动态网页及时发布的资源 所有用户访问,得到的结果可能不一样 jsp/servlet 基本概念
2020-07-13 21:25:42
172
原创 JAVA学习笔记15——JDBC
JDBC 1.基本概念 Java DataBase Connectivity:Java数据库连接 本质:定义了一套操作所有关系型数据库的规则,即接口 2.快速入门 导入驱动jar包 MySQL连接数据库mysql-connector-8.0 jar包使用注意: https://blog.csdn.net/qq_37137348/article/details/83790382 public class JDBCDemo01 { public static void main(String[] ar
2020-07-12 15:24:48
205
原创 JAVA学习笔记14——Junit单元测试,反射,注解
Junit单元测试 1.基本概念 单元:在Java中,一个类就是一个单元 单元测试:用来对某个类中的某个方法进行功能测试或业务逻辑测试 Junit单元测试框架作用: 用来对类中的方法功能进行有目的的测试,以保证程序的正确性和稳定性 能够独立的测试某个方法或者所有方法的正确性 2.使用步骤 1.模拟业务代码 2.写测试类。测试类命名以Test结尾,以业务类类名开头 3.在测试类中些方法。测试方法的命名以test开头,以业务方法结尾 4.测试方法注意事项:必须是public修饰,没有返回值,没有参数,必须用@T
2020-07-08 17:24:03
354
原创 JAVA学习笔记13——Stream流,方法引用
Stream流 1.使用Stream流遍历集合 public class Demo01 { public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("Kobe"); list.add("James"); list.add("Jordan"); list.add("Curry");
2020-07-07 19:53:16
333
原创 JAVA学习笔记12——函数式接口
函数式接口 1.基本概念 有且仅有一个抽象方法的接口 函数式接口,即适用于函数式编程场景的接口。而Java中的函数是编程体现就是Lambda,所以函数式接口是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利进行推导 语法格式: 修饰符 interface 接口名称{ public abstract 返回值类型 方法名称(可选参数信息); } @FunctionalInterface注解 作用:可以检测接口是否是一个函数式接口 2.函数式接口的使用 一般可
2020-07-07 11:12:27
165
原创 JAVA学习笔记11——网络编程
网络编程 1.软件结构 C/S结构:客户端和服务器结构 B/S结构:浏览器和服务器结构 2.网络通信协议 应用层:HTTP,FTP,TFTP,SMTP,SNMP,DNS 传输层:TCP,UDP 网络层:ICMP,IGMP,IP,ARP,RARP 数据链路层:由底层网络定义的协议 ...
2020-07-06 15:44:50
196
原创 JAVA学习笔记10——属性集,缓冲流,转换流,序列化,打印流
属性集 1.Properties类 Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载 Properties集合是一个唯一和IO流相结合的集合 可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储 可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用 属性列表中每个键及其对应的值都是一个字符串。 Properties集合是一个双列集合,key和value默认都是字符串 构造方法: p
2020-07-04 16:13:53
154
原创 JAVA学习笔记09——文件类,IO流
文件类与IO流 1.构造方法 public File(String pathname):通过给定的路径字符串转换为抽象路径名来创建新的File实例 public File(String parent,String child):从父路径名字符串和子路径名字符串创建新的File实例 public File(File parent,String child):从父抽象路径名和子路径名字符串创建新的File实例 ...
2020-07-01 10:03:41
187
原创 JAVA学习笔记08——多线程
多线程 1.基本概念 并发:两个或者多个事件在同一时间段内发生 并行:两个或者多个事件在同一时刻发生 进程:一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序依此执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建运行到消亡的过程 线程:进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程,一个进程中是可以有多个线程的 2.主线程 所有的线程对象都必须是Thread类或者其子类的实例。每个线程的作用是完成一定的任务,
2020-06-23 21:57:38
155
原创 JAVA学习笔记07——异常
异常 1.异常的概念与体系 异常:程序在执行过程中,出现的非正常的情况,最终导致JVM的非正常停止 Throwable体系: Error:严重错误Error,无法通过处理的错误 Exception:异常,异常后程序员可以通过代码的方式纠正,使得程序继续运行 2.异常的处理 抛出异常throw 作用: 在指定的方法中抛出指定异常 语法: throw new xxxException; 注意: 1.throw关键字必须写在方法内部 2.throw关键字后边new的对象必须是Exception或者Exceptio
2020-06-22 21:09:27
198
原创 JAVA学习笔记06——集合
集合 1.Collection boolean add(E e):添加元素 boolean remove(Object o):从集合中移除指定元素 void clear():清空集合中的元素 boolean contains(Object o):判断集合中是否存在指定元素 boolean isEmpty():判断集合是否为空 int size():集合中元素个数 迭代器iterator 迭代:Collection几何元素的通用获取方法。在取元素之前先要判断集合中是否有元素,如果有,就把这个元素取出来,继续
2020-06-22 19:16:39
332
原创 JAVA学习笔记05——API(2)
API 1.Object类 equals方法:比较两个对象地址值是否相等 public class demo01 { public static void main(String[] args) { Person p1=new Person("Kobe",24); Person p2=new Person("James",23); p2=p1; System.out.println(p1.equals(p2)); //true
2020-06-20 15:00:58
121
原创 JAVA学习笔记04——继承与多态
继承与多态 1.继承 基本语法: public class 子类名称 extends 父类名称{…} 成员变量访问特点: 在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式: 直接通过子类对象访问成员变量: 等号左边是谁,就优先用谁,没有则向上找 间接通过成员方法访问成员变量: 方法属于谁,就优先用谁,没有则向上找 成员方法访问特点: 创建的对象是谁,就优先用谁,如果没有则向上找 构造方法访问特点: 1.子类构造方法当中有一个默认隐含的super()调用,所以一定先调用父类构造,再执
2020-06-17 21:10:29
192
原创 JAVA学习笔记03——API
API 1.Scanner 实现键盘输入 语法: Scanner sc=new Scanner(System.in); int i=sc.nextInt(); 使用步骤: 1.导包 import 包路径.类名称; 如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。 只有java.lang包下的内容不需要导包,其他都需要导包import。 2.创建 类名称 对象名=new 类名称(); 3.使用 对象名.成员方法名; import java.util.Scanner; public cla
2020-06-15 21:53:07
147
原创 JAVA学习笔记02——面向对象
面向对象 1.类的声明 public class 类名{} public class Student { String name; int age; public void study(){ System.out.println("学习"); } } 2.对象的创建与使用 创建: 类名 对象名=new 类名(); 使用: 对象名.属性; 对象名.方法(参数); public class demo01Student { public static vo
2020-06-15 21:11:45
142
原创 JAVA学习笔记01——基础语法
数组 1.动态初始化 在创建数组的时候,直接指定数组当中的元素个数 语法: 数据类型[] 数组名称=new 数据类型[数组长度]; int[] array = new int[100]; 2.静态初始化 在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定 语法: 数据类型[] 数组名称=new 数据类型[数组长度]{数组内容}; int[] array = new int[]{1,2,3,4,5}; 3.省略格式 int[] array = {1,2,3}; 注意事项: 1.静
2020-06-15 11:10:37
127
原创 MySQL数据库基础学习笔记05——TCL
TCL 事务控制语言 1.事务 事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行要么全部不执行。如果单元中某条sql语句一旦执行失败或产生错误,整个单元会回滚。所有受到影响的数据将返回到事务开始以前的状态。如果单元中的所有sql语句均执行成功,则事务被顺利执行。 事务的属性: 1.原子性(atomicity) 事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 ...
2020-05-01 15:43:33
238
原创 MySQL数据库基础学习笔记04——DDL语言
DDL语言 数据定义语言,库和表的管理 库与表的管理: 创建、修改、删除:create、alter、drop 库的管理 1.创建 create database (if not exists)库名 2.修改 rename database 原库名 to 新库名 3.删除 drop database (if exists)库名 表的管理 1.创建 create table 表名( 列名 类型...
2020-04-30 21:49:19
212
原创 MySQL数据库基础学习笔记03——DML语言
DML语言 1.插入 insert into 表名(列名1,...) values (值1,...) 插入的值得类型要与列的类型一致或兼容 不可以为null的列必须插入值 列数和值得个数必须一致 可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致 insert into 表名 set 列名=值,... 2.修改 修改单表: update 表名 set 列=新值,... where 筛选条...
2020-04-30 20:16:19
220
1
原创 MySQL数据库基础学习笔记02——DQL语言
DQL语言 1.基础查询 select 查询列表 from 表名 查询列表:表中字段、常量值、表达式、函数; 起别名: select 查询列表 as 别名 from 表名; 其中as可以省略 去重: select distinct 查询列表 from 表名; 拼接: select concat(列表1,列表2) as 别名 from 表名; 2.条件查询 select 查询列表 from ...
2020-04-30 18:52:51
249
原创 MySQL数据库基础学习笔记01——基本概念
1. 基本概念 DB:数据库(database)。存储数据的仓库,保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器。 SQL:结构化查询语言(Structure Query Language)。专门用来与数据库通信的语言。 ...
2020-04-29 20:03:06
163
原创 python基础学习笔记09——异常
1. 异常 语法: try: 可能发生错误的代码 except: 如果出现异常执行的代码 1.1 捕获异常 注意: 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常 一般try下方只放一行尝试执行的代码 1.2 捕获指定异常 语法: try: 可能发生错误的代码 except 异常类型: 如果出现异常执行的代码 1.3 捕获多个指定异常,捕获异常描述信息,捕获所有异常 当捕获多...
2020-03-23 17:26:11
157
原创 python基础学习笔记08——类和对象 继承 多态 类属性和实例属性 类方法和静态方法
1. 类和对象 1.1 定义 语法: class 类名(): 代码 1.2 创建对象 语法: 对象名 = 类名() class Animal(): def func(self): print("animal") animal = Animal() animal.func() 1.3 属性 类外添加对象属性: 语法: 对象名.属性 = 值 类外获取对象属性: 语法: 对象...
2020-03-23 16:53:16
279
原创 python基础学习笔记07——文件
1. 文件 1.1 文件操作步骤 打开: 语法:open(name,mode) name:要打开的目标文件名的字符串 mode:设置打开文件的访问模式:只读,写入,追加 写: 语法:文件对象.write(“内容”) 读: read(): 语法:文件对象.read(num) num表示要从文件中读取的数据的长度,如果没有传入num,则表示读取整个文件 readlines(): 按照行的方式把整个文件...
2020-03-22 21:15:27
143
原创 python基础学习笔记06——拆包 交换变量 数据类型 lambda表达式 高阶函数
1. 拆包 元组: def func(a,b): return a,b num1 , num2 = func(10,20) 字典: dict1 = {'姓名':'Ray','年龄':18} key1 , key2 =dict1 print(key1) print(key2) # 拆包得到的是key值 print(dict1[key1]) print(dict1[key2]) # 姓名 ...
2020-03-22 16:51:41
399
1
原创 python基础学习笔记05——函数
函数 1. 定义 def 函数名(参数): 函数体 2. 多函数执行流程 a = 100 def test01(): print(a) def test02(): global a # global关键字代表全局变量 a = 10 print(a) 3. 返回值 def func(a,b): return a,b print(func(24,23)) 注...
2020-03-21 21:47:50
252
原创 python基础学习笔记04——公共操作 公共方法 推导式
1. 公共操作 1.1 运算符 +(合并):字符串,列表,元组 *(复制):字符串,列表,元组 in(元素是否存在):字符串,列表,元组,字典 2. 公共方法 len():计算容器中元素个数 del或del():删除 max():返回容器中元素最大值 min():返回容器中元素最小值 range(start,end,step):生成从start到end的数字,步长为step,供for循环使用。[s...
2020-03-21 20:54:27
210
原创 python基础学习笔记03——列表 元组 字典 集合
1. 列表 1.1 格式 [数据1,数据2,数据3…] 列表为可变数据类型 1.2 操作 1.2.1 查找 list1 = ["Tom","Jerry","Jack"] for i in range(3) : print(list1[i],end=" ") index():返回指定数据所在位置下标,如果不存在则报错 语法: 列表序列.index(数据,开始位置下标,结束位置下标) cou...
2020-03-21 16:20:38
606
原创 python基础学习笔记02——字符串
1. 字符串 str1 = "name" str2="""name class""" 字符串输出: name = "Tom" print(f'My name is {name}') 字符串输入: name = input("请输入姓名:") print(f'My name is {name}') 2. 切片 切片是指对操作的对象截取其中一部分的操作。字符串,列表,元组都支持切片操作。 语法:...
2020-03-20 20:14:03
365
原创 python基础学习笔记01——输入 输出 运算符 循环
1. 输出 1.1 基本输出 age = 18 name = "Tom" stu_id=1 print("I'm %d" %age) print("My name is %s,I'm %d years old" %(name,age)) # 输出 print("My id is %03d" %stu_id) # %03d不足位数用0补全 f-格式化: age = 18 name = "...
2020-03-20 16:05:43
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅