自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自学菜鸡CyanLiuCY的博客

自学菜鸡的学习随笔

  • 博客(24)
  • 收藏
  • 关注

原创 Java强化笔记 泛型与可变参数

1.什么是泛型 1.1 概述 JDK5引入的新特性,所操作的数据类型变成了一个参数。将原来的具体类型参数化,然后在调用时再传入具体的类型,这种参数类型用在类,方法和接口中,就成了泛型类,泛型方法,泛型接口。 1.2 泛型定义格式 <> <type1,type2> 1.3 GenericDemo的朝阳经 问题:一个Collection类对象,里面可以储存任意类型元素,在其中放入String类型元素,输出时类型强转为String,正常输出。但是当里面加入了整数型元素,再强转输出就会出现类

2022-07-29 00:50:58 390

原创 Java学习笔记 Map集合

1.Map集合概述 Map集合是键值对(key-value)集合 使用场景:购物车信息中<商品,购买数量>的键值对 2.Map的特点 是个泛型接口,Map集合key是无序不重复的,而value是可以重复的,重复key对应的value会覆盖原来的value HashMap 无序,无索引,不可重复 LinkedHashMap 有序,无索引,不可重复 TreeMap 3.Map的API 是非常常用的,比collection的API更常用!!!所以需要记住这些API 用父类接口来接收为什么可以体现多

2022-07-29 00:48:59 457

原创 Java学习笔记 File类

学习需要掌握的东西 1.File类 1.1 File类是个啥 之前的数据都存储在内存中,一旦断电就没了 File类可以定位文件,对文件进行删除,获取文件本身信息 但是不能读写文件内容 读写文件数据要通过IOStream来对硬盘文件进行读写 1.2 File类的概述 在java.io.File包里面代表了操作系统的文件对象 功能:定位文件,获得文件信息,删除文件,创建文件/文件夹 创建文件对象:构造方法 1.3 File的常用API 1.3.2 File类创建删除文件的功能 1.3.3 File类的

2022-07-22 23:15:35 265

原创 Java学习笔记 异常与异常处理

1.啥是异常 异常是编译时或者程序运行时出现的错误 异常如果不加以处理,一旦发生就会导致jvm退出,程序终止 2.异常的体系 Error是系统级异常,例如JVM退出,代码无法控制 Exception是程序可以处理的问题 运行时异常继承了RuntimeException或者其子类,在编译阶段不会出现 编译时异常Java编译成class文件时必须处理的异常,而运行字节码出现的情况,强烈,在方法是要抛 3.异常的处理 3.1 常见运行时异常 直接继承自RuntimeException或者其子类,编译阶段是不会报

2022-07-22 00:03:16 655

原创 【GTB-2022】First dubugging under coach‘s instruction

第一次在项目中debug,虽然问题不大,但是是一种思路

2022-06-13 11:21:50 120

原创 Java学习笔记 List集合

List集合特点 1.有序,可重复,可索引 2.方法围绕着这些特性提出 List独有api 主要是围绕可索引这一特性提出 List的遍历方式 1.Collection集合的三种遍历方式:迭代器,foreach(增强for),lambda表达式 2.利用索引遍历,list.size() List实现类的底层原理 ArrayList底层 基于数组实现,特点就是查询快,增删比较慢 第一次创建集合并添加首个元素是,创建一个默认大小为10的数组,size记录了当前元素个数,同时也是下一个插入位置 ArrayList的

2022-01-08 00:49:43 198

原创 Java学习笔记 集合之Collection

集合与数组 集合类提供了空间可变的储存对象的容器,集合只能存储引用类型,如果存储基本类型要用包装类 集合分为Collection单列集合接口和Map双列集合(键值对)接口两种 Collection下有分为可重复的List接口还有不可重复的Set接口 List下有ArrayList类与LinkedList类等 Set下有Hashset和Treeset类 Map下重点关注HashMap类 集合和数组都是容器, 从功能上:集合功能更强大,可以适用于元素个数不固定,大小可变的情况,适用于做增删操作的场景 集合的体系

2021-12-31 23:48:44 243

原创 SpringMVC学习笔记

文章目录啥是SpringMVCSpringMVC是干啥的SpringMVC要怎么用(速通)SpringMVC的执行流程 啥是SpringMVC SpringMVC是基于Java实现MVC设计模型的请求驱动类型的轻量级Web框架,是SpringFrameWork的后续产品。 可以用注解就实现处理请求与控制,不必要使用任何的接口 SpringMVC是干啥的 SpringMVC实现前后端之间的通信 可以理解为SpringMVC来处理服务器中Servlet对象的共有行为部分 SpringMVC要怎么用(速通)

2021-12-10 17:41:00 326

原创 Cookie and Session 学习笔记

Cookie 将数据存到客户端浏览器中 什么是Cookie 客户端会话,将数据保存到了客户端,每次请求都携带了Cookie数据来进行访问服务器 Cookie的使用(写个Cookie demo) 1.创建Cookie对象 Cookie cookie 2.发送Cookie respoonse.addCookie(cookie); 3.获取Cookie Cookie cookies = request.getCookies; 实现了在一次会话的两次请求中数据共享 Cookie的原理 Cookie的实现是基于

2021-12-08 18:33:26 223

原创 并发编程学习笔记1

1. 进程与线程 进程和线程都是个啥 线程的运行 Linux查看线程常用命令 ps top 线程运行的原理 线程栈帧(结合JVM) 每一个线程有自己对应的一个栈空间,一个栈有一组栈帧,每个栈帧对应一次方法的调用,方法执行完,栈帧就被释放掉 线程运行的流程 1.类加载:将字节码放到方法区内存中 2.启动main主线程的线程栈和程序计数器,为main方法分配栈帧内存,在栈帧分配时就会把局部变量表,返回地址等等准备好 3. 线程上下文切换 是指cpu不再执行当前的线程从而转向另一个线程的情况 上下文切换到情况:

2021-12-02 01:01:26 566

原创 Spring之AOP学习笔记

文章目录1. 什么是Spring框架1.1 什么是IoC:Inverse Of Control 反转的是Bean的创建权1.2 什么是AOP:A 1. 什么是Spring框架 官方:Spring是分层的JavaSE/EE应用的full-stack轻量级开源框架,以IoC和AOP为内核 可见要理解Spring框架,其一是要学会Spring在开发中的使用,其二是要理解IoC和AoP两个概念, 1.1 什么是IoC:Inverse Of Control 反转的是Bean的创建权 参考了这篇大神的文章:https:

2021-11-30 14:08:26 272

原创 结构型模式之代理模式笔记

文章目录1. 结构型模式1.1 什么是结构型模式1.2 结构型模式的分类2.代理模式2.1 代理模式的小栗子2.2 什么是代理模式2.3 代理模式的分类2.4 代理模式的结构2.5 静态代理2.5.1 静态代理小栗子2.6 JDK动态代理2.6.1 JDK动态代理的使用2.6.2 JDK动态代理类代码2.6.3 动态代理类的执行2.6.4 遇到的问题2.7 CGLib动态代理2.7.1 CGLib是个啥2.7.2 CGLib代理怎么用2.8 JDK动态代理与CGLib动态代理的对比2.9 代理模式的优缺点2

2021-11-29 18:21:12 238

原创 MVC与三层架构模型笔记

文章目录MVC什么是MVC为什么要MVC项目的三层架构表现层 User Interface layer业务逻辑层 Business Logic Layer数据访问层 Data Access Layer为什么要有三层架构MVC和三层架构的关系 写在最前面的一些胡扯:之前直接对SSM进行了一个霸王硬上弓,导致很多东西不慎理解,今天对MVC和三层架构这些东西来补补课 MVC 什么是MVC MVC是一种分层开发的框架模式,将开发分为三个模块 M: Model, 指的是业务模型,用来处理业务的业务逻辑 V: Vie

2021-11-28 18:21:10 281

原创 Servlet学习笔记

文章目录Servlet是个啥Servlet的快速开发步骤1. 导入坐标:创建web项目,导入Servlet的依赖坐标2. 实现接口:创建一个类来实现Servlet接口3. 配置注解:使用@WebServlet配置Servlet的访问路径4. 启动服务:访问该Servlet资源Servlet的执行流程Q1. 谁创建了Servlet对象,谁使用了Servlet这些方法?Q2. 服务器中怎么知道Servlet中一定有service方法?Servlet的生命周期Servlet的体系结构HttpServlet是个嘛(

2021-11-28 14:12:26 3841

原创 设计模式介绍与单例模式笔记

什么是设计模式 是一种编程的套路与经验,具有普遍性并可以反复使用。是面向对象设计原则的实际运用,充分体现了类的封装性,继承性多态性与组合关系的充分理解。 P.S: 也是程序猿进阶要学的东西 设计模式的分类 创建型模式 描述了怎样创建对象,特点是把对象的创建与使用进行分离,创建型模式提供了单例,原型,工厂方法,抽象工厂,建造者等五种创建型模式. 结构型模式 什么是单例模式 提供了一种创建对象的最佳方式,单一的类只能创建单一的对象,这个类还提供了单一访问该对象的方式,可以直接访问而不用实例化。 单例模式的结构

2021-11-22 00:54:42 428

原创 剑指offer JZ77 之字形打印二叉树

这里写目录标题JZ77 之字形打印二叉树1.题目描述2.解题思路3.代码实现 JZ77 之字形打印二叉树 1.题目描述 2.解题思路 拿到这个题目,首先就发现这个题目和二叉树层序遍历非常像,但是存在区别,二叉树层序遍历是按照“从上到下,从左到右”的顺序一层层进行的。但是这个题目要求奇数层从左往右,偶数层从右往左。函数返回的结果是一个ArrayList<ArrayList>的对象,所以要考虑对偶数层次的遍历结果做一个反转,再add到返回的ArrayList里面。 反转的实现我自己的思路是这样的,

2021-10-27 12:38:44 155

原创 剑指Offer JZ8 二叉树的下一个结点

二叉树的下一个结点剑指Offer JZ8 二叉树的下一个结点1.题目描述思路分析:代码实现代码1:总结规律代码2:暴力解法 剑指Offer JZ8 二叉树的下一个结点 1.题目描述 思路分析: 输入的是一个二叉树的序列与一个结点,输出的该结点在中序遍历中的下一个点。拿到手有点蒙,想一下,练习里先不急着暴力解,肯定是有好方法的。但是直接看这个序列看不出什么规律,不如来看看例子,归纳一下从特殊到一般的规律。 归纳一下:1. 有中序遍历结点在右子树最左端点上的。2.有中序遍历下一个结点是parent的。3.中

2021-10-25 13:59:37 242

原创 剑指offer JZ7 重建二叉树 Java实现

剑指offer JZ7 重建二叉树1. 题目描述2.思路分析1.非法输入与空数组都要返回null2.左右子树在pre和vin中下标的问题:3.实现代码 1. 题目描述 2.思路分析 这道题在陈越姥姥的数据结构课上做过一道类似的题目TreeTraveralsAgain,那道题目是根据前序遍历的顺序和中序遍历的顺序来输出后续遍历,当时是看着姥姥的视频,采用分治法的思想进行解决,没有仔细考虑常规解法去重新生成一棵二叉树,再后序遍历。那么我想是不是那个的算法稍作改动可以解决这道题目呢? 没错,和那个题思路基本一毛

2021-10-24 00:57:18 175

原创 剑指offer JZ6 从尾到头打印链表 Java解法

这里写目录标题1. 题目描述2. 思路分析:代码1:利用Stack实现逆序输出代码2: 递归实现逆序输出(StackOverflowError)代码3: 利用Collections.reverse()方法 1. 题目描述 2. 思路分析: 一个简单的算法题,考察链表的基本使用。函数printListFromTailToHead返回的是一个ArrayList类型,那我就先new一个ArrayList类型的对象作为返回值。单向链表只能从头到尾访问,而要求从尾到头输出。逆序输出,第一个考虑到利用栈。马上想到st

2021-10-23 22:09:24 1532

原创 关系型数据库进阶食用指南

MySQL深入学习关系型数据库进阶食用指南Part 1《MySQL技术内幕》Chapter 1(重点)Chapter 2 InnoDB引擎(重点)Chapter 3Chapter 4Chapter 5 InnoDB 索引与算法(重中之重)Chapter 6 事务和锁Chapter 8 数据库的备份与恢复(重点)Chapter 9 性能调优Chapter 10 源码(没时间别看了)Part 2《高性能MySQL》要结合真实的CASE去理解怎么优化,看博客Chapter 1 总览(要看看)Chapter 2Ch

2021-10-23 12:02:41 174

原创 《Redis设计与实现(第二版)》食用指南

《Redis》设计与实现(第二版)食用指南《Redis》设计与实现(第二版)食用指南Chapter 1 简单动态字符串Chapter 2 Redis里的链表Chapter 3 哈希表Chapter 4 跳跃表Chapter 6 整数集合Chapter 7 压缩列表的结构Chapter 8 Redis对象Chapter 9 数据库9.5 过期删除策略Chapter 10 RDB持久化Chapter 11 AOF持久化Chapter 15 复制Chapter 16 集群(参考另一本书)Chapter 18 发布

2021-10-23 10:33:59 624

原创 《Java并发编程的艺术》食用指南V1.0

《Java并发编程的艺术》食用指南《Java并发编程的艺术》食用指南V1.0Chapter 1 并发编程的挑战Chapter 2 Java并发机制的底层实现原理2.1 volatile的应用2.2 synchronized的实现原理与应用2.3 原子操作的实现原理 了解一下Chapter 3 Java内存模型(JMM)final的内存语序Chapter 4 Java并发编程基础(这一章不错好好品)Chapter 5 Java中的锁Chapter 6 Java并发容器与框架Chapter 7 原子类Chapt

2021-10-22 22:10:53 86

原创 《实战Java高并发程序设计》食用指南V1.0

《实战Java高并发程序设计》食用指南《实战Java高并发程序设计》食用指南V1.0Chapter 1 走入并行世界Chapter 2 并行程序基础Chapter 3 JDK并发包 JUCChapter4 锁的优化Chapter5 单例模式Chapter 6 《实战Java高并发程序设计》食用指南V1.0 Chapter 1 走入并行世界 主要是要了解概念 同步异步 并发并行 临界区 阻塞与非阻塞 并发级别 JMM:原子性可见性有序性 Happen-Before 规则 Chapter 2 并行程序基础 线程

2021-10-22 20:54:46 147

原创 《深入理解Java虚拟机》食用指南 V1.0

章节重点食用指南《深入理解Java虚拟机》食用指南闲扯Chapter 1 走近Java1.4.2 Sun HotSpot1.5.4 Java的新特性Chapter 2 Java内存区域与内存溢出异常2.1 概述2.2 Java虚拟机的数据区域(面试重中之重)2.2.1 程序计数器2.2.2 虚拟机栈2.2.3 本地方法栈2.2.4 虚拟机堆2.2.5 方法区2.2.6 运行时常量池2.2.7 直接内存2.3 HotSpot虚拟机里的对象2.3.1 对象创建2.3.2 对象的内存捕2.3.3 对象的访问2.

2021-10-22 12:23:08 277

空空如也

空空如也

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

TA关注的人

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