自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java系列笔记第十章: Junit、反射、注解

本文目录第十章 Junit、反射、注解1. Junit1.1 Junit简介1.2 Junit的使用1.3 `@Before` 注解1.4 `@After` 注解2. 反射2.1 反射的概念2.2 获取Class对象的三种方式2.2.1 在源代码阶段2.2.2 在类对象阶段2.2.3 在运行时阶段2.3 获取Filed2.3.1 获取公有成员变量2.3.2 获取所有成员变量2.3 获取构造方法2.4 获取成员方法2.5 获取类名2.6 反射的案例3. 注解3.1 简介3.2 JDK 预定义的注解3.3 自定

2020-06-20 14:28:47 213

原创 Java系列笔记第九章:Stream流与方法引用

本文目录第九章:Stream流与方法引用1. Stream流1.1 Stream简介1.2 获取流1.3 流的常用方法1.3.1 forEach方法1.3.2 filter方法1.3.3 map方法1.3.4 count方法1.3.5 limit方法1.3.5 skip方法1.3.6 contract方法1.4 Stream注意事项2. 方法引用2.1 简介2.2 语义分析2.3 通过对象名引用成员方法2.4 通过类名引用静态成员方法2.5 通过super引用父类成员方法2.6 通过this引用本类的方法2

2020-06-18 23:39:01 237

原创 Java系列笔记第八章:函数式编程

本文目录第八章 函数式编程1. 函数式接口简介1.1 概念1.2 格式1.3 `@FunctionalInterface`注解1.4 lambda 的小例子2. 函数式编程2.1 lambda的延迟执行2.1.1 性能浪费的日志案例2.2 函数式接口的使用2.2.1作为方法的参数。2.2.2 作为方法的返回值3. 常用的函数式接口3.1 Supplier接口3.2 Consumer接口3.3 `Predicate`接口3.3.1 接口的使用3.3.2 接口中的三个默认方法3.4 Function接口第八章

2020-06-17 20:59:30 174

原创 Java系列笔记第七章:Java基础网络编程

本文目录第七章 : Java基础网络编程1. 网络编程入门1.1 软件结构1.2 网络通信协议1.3 网络编程三要素2. TCP通信程序2.1 概述2.2 TCP客户端代码实现2.3 TCP服务端代码实现3. 文件上传示例3.1 文件上传3.2 文件上传的阻塞问题4. 文件上传的多线程优化4.1 文件名称4.2 服务端多线程监听并接收客户端的套接字5. 模拟B/S结构的服务端第七章 : Java基础网络编程1. 网络编程入门1.1 软件结构C/S结构与B/S结构。1.2 网络通信协议专注于研究传

2020-06-16 21:19:33 198

原创 Java系列笔记第六章:文件与流

本文目录1. 文件File类1.1 File类静态成员变量1.2 File类的构造方法1.3 File类的常用构造方法1.3.1 File类用来获取的方法1.3.2 File类用来判断的方法1.3.3 创建删除功能1.3.4 目录遍历2. 递归2.1 递归概述2.2 递归遍历多级文件夹2.3 文件过滤器3. IO流3.1 字节输出流3.1.1 字节输出流简介3.1.2 文件字节输出流3.2 字节输入流3.2.1 通用方法3.2.2 FileInputStream 文件字节输入流3.3 字符输入流3.3.1

2020-06-15 21:25:01 329

原创 Java系列笔记第五章:异常、多线程、lambda、函数式编程

本文目录1. 异常1.1 异常的类型1.2 异常的产生过程1.3 异常的处理1.3.1 throw1.3.2 throws1.3.3 try-catch 异常捕获1.4 Throwable类1.5 finally代码块1.6 多个异常捕获的注意事项1.6.1 多个异常分别处理1.6.2 多个异常一次捕获多次处理1.6.3 多个异常一次捕获一次处理1.6.4 子类父类抛出异常1.7 自定义异常2. 多线程2.1 并发与并行2.2 多线程与多进程2.2.1 线程调度2.3 主线程2.4 创建线程的第一种方法 :

2020-06-15 21:23:00 308

原创 Java系列笔记第四章:高级数据结构进阶

本文目录1. List2. ArrayList3. LinkedList4. Vector5. HashSet5.1 使用5.2 遍历6. 哈希表原理6.1 哈希值6.2 哈希表6.3 Set存储不重复元素的原理6.4 Set存储自定义类型元素7. LinkedHashSet 插入有序集合8. 可变参数(变长参数表)9. Collections工具类9.1 shuffle9.2 addAll9.3 sort10. Map1. List继承自Collection有序带索引可以存储重复元素常用方法

2020-06-15 21:19:45 172

原创 Java系列笔记第三章:高级数据结构入门

本文目录1. Object类1.1 toString()方法1.2 equals()方法1.3 Objects类2. 日期类2.1 Date类的空构造函数2.2 Date类的带参数构造函数2.3 Date.getTime()方法3. DateFormat类4. Calendar类4.1 Calendar类的方法5. System类5.1 public static long currentTimeMillis()5.2 arraycopy()6. StringBuilder类6.1 构造函数6.2 常用函

2020-06-15 21:18:03 278

原创 Java系列笔记第二章:面向对象(OOP)

第二章 : 面向对象(OOP)成员变量和局部变量的区别作用域不同:局部变量只能在方法体内使用,成员变量能在整个类内使用。定义的位置不同:局部变量在方法体内定义,成员变量在类内定义。初始值不同:局部变量使用必须手动初始化,成员变量如果不手动初始化,会被自动初始化为默认值。内存中的位置不一样:局部变量在JVM栈中,成员变量在堆中。生命周期不同:局部变量随方法结束被回收,成员变量随对象被回收而结束。OOP三大特征:封装继承和多态1. 封装1.1 什么是封装两种封装性的体现:方法 : 对

2020-06-15 21:15:42 335

原创 Redis系列笔记第一篇----Redis基础

Redis学习系列第一篇笔记,学习了Redis五种数据类型及其基本操作,学习了Redis的key的通用命令及数据库的通用命令,还学习了如何用Java通过Jedis库来操作Redis数据库。

2020-06-03 21:40:55 469 2

原创 Redis系列笔记第二篇----Redis高级

Redis笔记第二篇—Redis高级Redis学习系列第二篇笔记,将学习Redis持久化、Redis事务、Redis删除策略、Redis配置文件以及高级数据类型。1. Linux环境的Redis安装1.1 从Redis源码编译安装$tar -xvf redis-VERSION.tar.gz$cd redis-VERSION$make install1.2 从指定端口号启动#服务端从6380端口启动$redis-server --port 6380#客户端从6380端口连接$re

2020-06-30 16:47:14 437

原创 剑指 Offer 47. 礼物的最大价值(动态规划 / DFS)

剑指 Offer 47. 礼物的最大价值在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入: [ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物提示:0 < grid.length <

2020-06-28 10:28:52 401

原创 剑指 Offer 42. 连续子数组的最大和(动态规划)

剑指 Offer 42. 连续子数组的最大和输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100注意

2020-06-27 17:23:00 539 2

原创 剑指 Offer 30. 包含min函数的栈(辅助栈&&对象的相等判断)

剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top()

2020-06-27 09:23:09 135

原创 剑指 Offer 27. 二叉树的镜像(递归)

剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]限制:0 <= 节点个数 <= 1000分析镜像二叉树,需要递归地将每个

2020-06-27 08:45:55 265

原创 剑指 Offer 12. 矩阵中的路径(回溯&&DFS)

剑指 Offer 12. 矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符

2020-06-26 19:25:53 118

原创 剑指 Offer 07. 重建二叉树(递归&&二叉树遍历的性质)

剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000分析先序遍历是先根,再左,再右,中序遍历是先左,再中,再右。先序根

2020-06-26 19:14:37 112

原创 力扣295. 数据流的中位数(排序/大顶堆+小顶堆求中位数)

力扣295. 数据流的中位数中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例:addNum(1)addNum(2)findMedian() -> 1.5addNum

2020-06-23 20:51:28 418

原创 面试题 16.18. 模式匹配(解方程)

力扣面试题 16.18. 模式匹配分析主方法里就是遍历数字解方程,x*countA+y*countB = valueLen找到可行解后就可以根据解来判断是否能匹配。当然,在解方程之前先把特殊情况解决掉,比如字符串为空、a或者b代表空字符串的情况。排除掉这几种特殊情况后,解方程里a和b的数量肯定是都超过1了。思路全在注释里了。代码class Solution { public boolean patternMatching(String pattern, String value) {

2020-06-22 10:42:37 496

原创 力扣3. 无重复字符的最长子串(滑动窗口+双指针)

3. 无重复字符的最长子串题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是

2020-06-21 23:20:57 257

原创 力扣5. 最长回文子串(标准动态规划)

力扣5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"分析1. 暴力法。时间复杂度O(n³),超时。2. 动态规划。既然是回文字符串,那么如果内层的字母是回文的,并且外层的也是回文,整个字符串就是回文字符串。我们就得到了这么一个关系:从短到长,第i个字母到第j个字母的状态dp[i][j

2020-06-21 18:07:35 198

原创 力扣124. 二叉树中的最大路径和(递归+类似DP)

力扣124. 二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 20 / \ 15 7输出: 42分析这道题应该从叶子节点往上看,既然

2020-06-21 17:50:41 216

CheatEngine6.7中文版

CheatEngine6.7是一款修改内存数据的软件,功能极其强大。

2018-01-03

空空如也

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

TA关注的人

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