自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秦怀杂货店

纵然缓慢,驰而不息。

  • 博客(285)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mybatis从零开始学习系列

项目日志:Log4j与Log4j2日志记录详解(一)Mybatis入门之第一个程序Mybatis一定需要commit才能够成功修改数据么Mybatis关于创建SqlSession源码分析(二)Mybatis多个mapper文件以及namespace命名问题(三)Mybatis使用工具类读取配置文件以及从属性读取DB信息(四)关于Mybatis别名定义(五)Mybatis增删改查demo(六)Mybatis插入数据返回主键id(七)Mybatis如何知道增删改是否成功执行(八)Mybat.

2020-10-11 01:06:46 293

原创 关于作者

关于文章一个好文章不是要写完所有的知识点,也不是细致到不能再细致,而是定位清楚,详略得当,在定位 力所能及之处画一个圈子,分轻重。个人认为,一篇好的文章可以参考三点,解惑,拓展,思考。思路应该是把整体框架讲一遍,让读者有个大概的印象,然后开始细致的讲解,开始拓展,不断提出疑问,提出那些大多数人读到此刻可能有的疑问,然后把知识圈子再拓展远一些,不再那么细致的讲,然后收住。毕竟一篇文章是讲不完所有的东西的,权当是抛砖引玉。(世上大佬遍地走,除了我菜鸟)最后比较重要的一点,是梳理前面的知识,因为大多数人读到

2020-10-08 22:41:35 248

原创 聊聊Go里面的闭包

聊聊Go里面的闭包......

2022-11-21 01:23:31 115

原创 设计模式【15】--从审批流中学习责任链模式

已经来到了责任链模式,各位客官听我瞎扯…责任链模式是什么责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。(百度百科)责任链模式是一种行为型设计模式,也就是重点是处理数据,假设我们有一份数据,需要经过很多个节点处理,那么就会是以下这个样子:一个节点处理完之后,交给下一.

2022-02-16 09:08:14 299

原创 设计模式【14】-- 从智能音箱中学习命令模式

开局还是那种图,各位客官往下看…张无忌学太极拳,忘记了所有招式,打倒了"玄冥二老",所谓"心中无招"。设计模式可谓招数,如果先学通了各种模式,又忘掉了所有模式而随心所欲,可谓OO之最高境界。命令模式是什么?在面向对象程式设计的范畴中,命令模式(Command Pattern)是一种设计模式,它尝试以物件来代表实际行动。命令模式是一种行为型模式,它将请求以命令的形式包裹在对象里面,传递给调用对象,调用对象寻找匹配该命令的对象,将命令给该对象执行。也就是分为了三步:1、命令被包裹在请求对象.

2022-02-11 09:08:16 136

原创 设计模式【13】-- 模板模式怎么弄?

开局还是那种图,各位客官往下看…张无忌学太极拳,忘记了所有招式,打倒了"玄冥二老",所谓"心中无招"。设计模式可谓招数,如果先学通了各种模式,又忘掉了所有模式而随心所欲,可谓OO之最高境界。模板模式是什么?模板模式,同样是一种行为型模式,也就是关于对象做什么或者怎么做的设计模式。模板模式的本质需要定义操作中的算法的框架,但是有一些步骤,又不需要具体的实现,而是不同的子类各自实现。子类不能修改流程框架,但是部分的步骤可以做定制化的实现。主要要解决一个问题:一些通用的方法,但是每一个子类却都重新写.

2022-02-10 08:36:25 143

原创 设计模式【12】-- 最近大火的策略模式

开局还是那种图,最近策略模式貌似很火,各位客官往下看…策略模式到底是什么?前面我们其实已经将结构型模式讲解完了,剩下的全都是行为型模式,三种模式的区分:创建型模式:如何创建一个对象结构型模式:对象内部的构造是如何构造的行为型模式:对象是如何运行(可以做什么)而提到策略模式,我们该如何理解呢?从北京到上海,可以坐飞机,也可以坐动车,也可以坐绿皮,甚至可以骑自行车,这些不同的方式,就是策略。一件商品,可以直接打 5 折,也可以加 100 再打 6 折,也可以打 5.5 折之后返回现

2022-01-24 08:33:03 124

原创 2021小结暨2022打脸计划

2021 年过去了,但是疫情还没有完全好,甚至于今年春节能否回家都是比较悬的事情。期望大家健健康康,疫情早日退散。本来不想写,但是今晚又立了 2022 年的打脸计划,新年早就开启了,那计划也得写下来。可惜人总爱幻想,于是乎回溯过去的一年。过去的一年,很多东西我都记不太清了,但是稍微影响计划节奏的事情,只有两件,一件是换了工作,第二件事还是一样穷(第2点比较重要)。想起《有无收成都是一年》中的一句话:“有无收成都是一年,生活也是”。工作变动上一家公司携程,包括实习,待了三年多,我大三开始实习了,写过

2022-01-17 09:11:24 161

原创 带你漫游数据结构世界

数据结构是什么?程序 = 数据结构 + 算法是的,上面这句话是非常经典的,程序由数据结构以及算法组成,当然数据结构和算法也是相辅相成的,不能完全独立来看待,但是本文会相对重点聊聊那些常用的数据结构。数据结构是什么呢?首先得知道数据是什么?数据是对客观事务的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号总称。那为何加上**“结构”**两字?数据元素是数据的基本单位,而任何问题中,数据元素都不是独立存在的,它们之间总是存在着某种关系,这种数据元素之间的关系我们称之为结构.

2022-01-12 08:23:47 160

原创 无聊的周末用Java写个扫雷小游戏

周末无聊,用Java写了一个扫雷程序,说起来,这个应该是在学校的时候,写会比较好玩,毕竟自己实现一个小游戏,还是比较好玩的。说实话,扫雷程序里面核心的东西,只有点击的时候,去触发更新数据这一步。Swing 是过时了,但是好玩不会过时,不喜勿喷源码的地址:https://github.com/Damaer/Game/tree/main/SweepMine下面讲讲里面的设计:数据结构设计视图和数据尽可能分开点击时候使用BFS扫描判断成功失败数据结构设计在这个程序里面,为了方便,使用了全局

2022-01-11 09:00:00 277

原创 java集合【13】——— Stack源码分析走一波

前言集合源码分析系列:Java集合源码分析前面已经把Vector,ArrayList,LinkedList分析完了,本来是想开始Map这一块,但是看了下面这个接口设计框架图:整个接口框架关系如下(来自百度百科):原来还有一个漏网之鱼,Stack栈的是挂在Vector下,前面我们已经分析过Vector了,那么顺便把Stack分析一遍。再不写就2022年了:Stack介绍栈是一种数据结构,并不是Java特有的,在Java里面体现是Stack类。它的本质是先进后出,就像是一个桶,只能不断的放在上面,

2022-01-10 08:36:07 304

原创 设计模式【10】-- 顺便看看享元模式

开局还是那种图,各位客官往下看…享元模式是什么?享元模式(FlyWeight),是结构型模式的一种,主要是为了减少创建对象的数量,减少内存占用以及提高性能。说到这里,不知道你是否会想到池技术,比如String 常量池,数据库连接池,缓冲池等等,是的,这些都应用了享元模式。比如,有一些对象,创建时候需要资源比较多,创建成本比较高,内存开销比较大,如果我们一直创建,机器吃不消,那么我们就想到了池化技术,把创建好的对象放在里面,需要时,去池子里面取就可以了,也就是大家共享了池子里面的对象,这就是共享。听.

2022-01-09 15:18:45 377

原创 设计模式【9】-- 外观模式?没那么高大上

开局一张图,剩下全靠写…外观模式是什么外观模式,其实是用来隐藏系统的复杂性的,屏蔽掉了背后复杂的逻辑,向用户提供简单的可以访问系统的接口,也是属于结构型模式的一种 。举个例子,比如我们的Java 三层MVC架构,对外提供的是controller,但是controller内部可能调用了很多service,service又调用了一些mapper,反正就是内部很复杂,但是对外只是一个接口,一个门面,外部看起来是简单的,外观很好看,实际上,你都懂。再举个栗子,我们用的电脑,其实内部也是极其复杂的,但是我.

2022-01-07 08:38:56 206

原创 设计模式【8】-- 手工耿教我写装饰器模式

装饰器模式前面学习了好几种设计模式,今天继续…装饰器模式,属于结构型模式,用来包裹封装现在的类对象,希望可以在不修改现在类对象和类定义的前提下,能够拓展对象的功能。调用的时候,使用的是装饰后的对象,而不是原对象。,提供了额外的功能。不知道大家有没有看手工耿的自制钢琴烤串车视频【https://www.bilibili.com/video/BV1334y1Z7kq?spm_id_from=333.999.0.0 】, 本来是一个钢琴,但是为了边弹琴,边烤串,改造装饰了一下,变成了特殊的钢琴,提供了.

2022-01-06 08:41:22 214

原创 设计模式【7】-- 探索一下桥接模式

设计模式,写代码必备神器…桥接模式是什么?桥接模式是把抽象化和实现化解耦,让两者可以独立,该设计模式属于结构性设计模式。何为将抽象化和实现化解耦,可以理解为将功能点抽象出来,功能的实现如何取决于不同的需求,但是抽象的功能点(接口)已经被桥接到原本的类型上,只用关注与实现。原本的类型变化,和抽象的功能点可以自由变化,中间的桥梁已经搭建起来了。桥接模式其实就是不单单使用类继承的方式,而是重点使用类聚合的方式,进行桥接,把抽象的功能点,聚合(注入)到基类里面。桥接模式的好处一般用于解决什么问题呢?主

2022-01-05 08:19:47 192

原创 数据库批量插入这么讲究的么?

最近新的项目写了不少各种 insertBatch 的代码,一直有人说,批量插入比循环插入效率高很多,那本文就来实验一下,到底是不是真的?测试环境:SpringBoot 2.5Mysql 8JDK 8Docker首先,多条数据的插入,可选的方案:foreach循环插入拼接sql,一次执行使用批处理功能插入搭建测试环境`sql文件:drop database IF EXISTS test;CREATE DATABASE test;use test;DROP TABLE IF

2022-01-04 08:36:38 710

原创 完蛋,我的事务怎么不生效?

前言事务大家平时应该都有写,之前写事务的时候遇到一点坑,居然不生效,后来排查了一下,复习了一下各种事务失效的场景,想着不如来一个总结,这样下次排查问题,就能有恃无恐了。那么先来复习一下事务相关知识,事务是指操作的最小工作单位,作为一个单独且不可切割的单元操作,要么全部成功,要么全部失败。事务有四大特性(ACID):原子性(Atomicity):事务包含的操作,要么全部成功,要么全部失败回滚,不会存在一半成功一半失败的中间状态。比如A和B一开始都有500元,A给B转账100,那么A的钱少了100,B的钱

2021-12-28 09:08:52 508

原创 如何用Docker Compose部署项目?

文章目录前言Docker Compose1. Docker Compose是什么?2. Docker Compose 的具体步骤3. 如何在IDEA项目里面使用Docker Compose启动可能出现的坑点前言之前我们用docker部署了springboot,redis,mysql的项目,但是是部署在三个不同的容器里,还需要先知道redis和mysql的ip地址,手动配置到springboot应用容器里,我只是想快速在本地进行测试啊,这样成本太高了,有没有什么办法,把他们集中管理呢?比如把它构建成为一

2021-12-21 08:56:57 559

原创 无快不破,在本地 docker 运行 IDEA 里面的项目?

文章目录前言Docker Compose1. Docker Compose是什么?2. Docker Compose 的具体步骤3. 如何在IDEA项目里面使用Docker Compose启动可能出现的坑点前言之前我们用docker部署了springboot,redis,mysql的项目,但是是部署在三个不同的容器里,还需要先知道redis和mysql的ip地址,手动配置到springboot应用容器里,我只是想快速在本地进行测试啊,这样成本太高了,有没有什么办法,把他们集中管理呢?比如把它构建成为一

2021-12-18 19:01:00 1753

原创 如何基于 Docker 快速搭建 Springboot + Mysql + Redis 项目

文章目录前言项目目录搭建项目1. docker安装启动mysql以及redis1.1 安装mysql1.2 安装redis2. 初始化数据库3.创建项目4.初始化代码4.1 全局配置文件以及启动类4.2 实体类4.3 Redis工具类4.4 Mysql 数据库操作4.5 Service层4.6 Controller 控制层4.7 pom依赖测试前言有时候我们需要快速启动一些项目,但是环境往往折腾了好久,因此弄一个可以重用的快速搭建的教程,docker简直就是这方面的神器,Docker 是一个开源的应用容

2021-12-17 00:26:23 1603 1

原创 设计模式【6.1】-- 初探适配器模式

设计模式文章集合:http://aphysia.cn/categories/designpattern开局一张图,剩下全靠写…介绍适配器模式(百度百科):在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。适配器模式的主要目的就是为了兼容性,把原来不匹配的两个类或者接口可以协同工作,它属于结构型模式,主要分为三种:类适配器,对象适配器,接口适配器。适

2021-12-14 08:42:31 355

原创 剑指Offer刷题全集 --V1 版本

文章目录前言1.二维数组中的查找题目描述思路 & 解答暴力破解比较查找法2.替换空格题目描述思路 & 解答调用API函数自实现c++实现3.从尾到头打印链表题目描述思路 & 解答借助栈实现递归调用头插法4.重建二叉树题目描述思路 & 解答5.旋转数组的最小数字题目描述思路 & 解答直接遍历二分法6.斐波那契数列题目描述思路 & 解答直接暴力重复利用结果(动态规划)7.跳台阶题目描述思路 & 解答暴力递归动态规划8.两个栈实现一个队列题目描述思路 &am

2021-12-12 00:31:27 201

原创 设计模式【5】-- 原型模式

开局一张图,剩下全靠写…设计模式文章集合:http://aphysia.cn/categories/designpattern前言接触过 Spring 或者 Springboot 的同学或许都了解, Bean 默认是单例的,也就是全局共用同一个对象,不会因为请求不同,使用不同的对象,这里我们不会讨论单例,前面已经讨论过单例模式的好处以及各种实现,有兴趣可以了解一下:http://aphysia.cn/archives/designpattern1。除了单例以外,Spring还可以设置其他的作用域,也

2021-12-11 09:57:37 485

原创 面试官说:你来设计一个短链接生成系统吧

引言相信大家在生活中,特别是最近的双十一活动期间,会收到很多短信,而那些短信都有两个特征,第一个是几乎都是垃圾短信,这个特点此处可以忽略不计,第二个特点是链接很短,比如下面这个:我们知道,短信有些是有字数限制的,直接放一个带满各种参数的链接,不合适,另外一点是,不想暴露参数。好处无非以下:太长的链接容易被限制长度短链接看着简洁,长链接看着容易懵安全,不想暴露参数可以统一链接转换,当然也可以实现统计点击次数等操作那背后的原理是什么呢?怎么实现的?让你实现这样的系统,你会怎么设计呢?【来自于

2021-12-04 15:34:38 197

原创 设计模式【4】-- 建造者模式详解

开局一张图,剩下全靠写…引言设计模式集合:http://aphysia.cn/categories/designpattern如果你用过 Mybatis ,相信你对以下代码的写法并不陌生,先创建一个builder对象,然后再调用.build()函数:InputStream is = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBu

2021-12-02 09:03:13 479

原创 雪花算法对System.currentTimeMillis()优化真的有用么?

前面已经讲过了雪花算法,里面使用了System.currentTimeMillis()获取时间,有一种说法是认为System.currentTimeMillis()慢,是因为每次调用都会去跟系统打一次交道,在高并发情况下,大量并发的系统调用容易会影响性能(对它的调用甚至比new一个普通对象都要耗时,毕竟new产生的对象只是在Java内存中的堆中)。我们可以看到它调用的是native 方法:// 返回当前时间,以毫秒为单位。注意,虽然返回值的时间单位是毫秒,但值的粒度取决于底层操作系统,可能更大。例如,许多

2021-11-30 21:51:03 203

原创 面试官:讲讲雪花算法,越详细越好

前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。SnowFlake算法据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子组成。在雪花形成过程中,会形成不同的结构分支,所以说大自然中不存在两片完全一样的雪花,每一片雪花都拥有自己漂亮独特的形状。雪花算法表示生成的id如雪花般独一无二。snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bi

2021-11-15 23:53:01 1149 1

原创 讲分布式唯一id,这篇文章很实在

分布式唯一ID介绍分布式系统全局唯一的 id 是所有系统都会遇到的场景,往往会被用在搜索,存储方面,用于作为唯一的标识或者排序,比如全局唯一的订单号,优惠券的券码等,如果出现两个相同的订单号,对于用户无疑将是一个巨大的bug。在单体的系统中,生成唯一的 id 没有什么挑战,因为只有一台机器一个应用,直接使用单例加上一个原子操作自增即可。而在分布式系统中,不同的应用,不同的机房,不同的机器,要想生成的 ID 都是唯一的,确实需要下点功夫。一句话总结:分布式唯一ID是为了给数据进行唯一标识。分布式

2021-11-09 22:31:43 1228

原创 设计模式【3.3】-- CGLIB动态代理源码解读

cglib 动态代理cglib介绍CGLIB 是一个开源项目,一个强大高性能高质量的代码生成库,可以在运行期拓展 Java 类,实现 Java 接口等等。底层是使用一个小而快的字节码处理框架 ASM,从而转换字节码和生成新的类。理论上我们也可以直接用 ASM 来直接生成代码,但是要求我们对 JVM 内部,class 文件格式,以及字节码的指令集都很熟悉。这玩意不在 JDK 的包里面,需要自己下载导入或者 Maven 坐标导入。我选择 Maven 导入, 加到 pom.xml 文件:<de.

2021-11-08 22:37:03 326

原创 设计模式【3.2】-- JDK动态代理源码分析有多香?

前面文章有说到代理模式:http://aphysia.cn/archives/dynamicagentdesignpattern那么回顾一下,代理模式怎么来的?假设有个需求:在系统中所有的 controller 类调用方法之前以及之后,打印一下日志。假设原来的代码:public class Person{ public void method(){ // 表示自己的业务逻辑 process(); }}如果在所有的类里面都添加打印方法,这样肯定

2021-11-06 21:00:47 186

原创 马拉车算法,其实并不难!!!

要说马拉车算法,必须说说这道题,查找最长回文子串,马拉车算法是其中一种解法,狠人话不多,直接往下看:题目描述给你一个字符串 s,找到 s 中最长的回文子串。例子示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"马拉车算法这是一个奇妙的算法,是1957年一个叫Manacher的人发明的,所

2021-10-10 18:27:08 178

原创 100台机器上海量IP如何查找出现频率 Top 100?

场景题有 100 机器,每个机器的磁盘特别大,磁盘大小为 1T,但是内存大小只有 4G,现在每台机器上都产生了很多 ip 日志文件,每个文件假设有50G,那么如果计算出这 100 太机器上访问量最多的 100 ip 呢?也就是Top 100。思路其实,一开始我有往布隆过滤器那边考虑,但是布隆过滤器只能大致的判断一个 ip 是否已经存在,而不能去统计数量,不符合该场景。那么一般这种大数据的问题,都是因为一次不能完全加载到内存,因此需要拆分,那怎么拆呢?ip是32位的,也就是最多就 232 个, 常

2021-10-08 23:59:25 185

原创 最长回文子串 -- 三种解答

题目描述给你一个字符串 s,找到 s 中最长的回文子串。例子示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring,著作权归领扣网络所

2021-10-08 22:11:07 163

原创 面试题 -- 如何设计一个线程池

以前,我总觉得的买一件东西,做一件事,或者从某一个时间节点开始,我的生命就会发生转折,一切就会无比顺利,立马变厉害。但是,事实上并不是如此。我不可能马上变厉害,也不可能一口吃成一个胖子。看一篇文章也不能让你从此走上人生巅峰,越来越相信,这是一个长期的过程,只有量变引起质变,纵使缓慢,驰而不息。文章目录如何设计一个线程池?三个步骤线程池是什么?为什么要用线程池?需要考虑的点线程池状态状态有哪些?如何维护状态?线程相关线程怎么封装?线程放在哪个池子里?线程怎么取得任务?线程有哪些状态?线程的数量怎么限制?.

2021-09-05 02:22:16 290

原创 线程与线程池的那些事之线程池篇(万字长文)

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如下:线程池的好处线程池,使用了池化思想来管理线程,池化技术就是为了最大化效益,最小化用户风险,将资源统一放

2021-06-21 17:24:00 232

原创 线程与线程池的那些事之线程篇

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如下(本文只涉及线程部分,线程池下篇讲):进程和线程从线程到进程要说线程池,就不得不先讲讲线程,什么是线程

2021-05-20 21:08:54 172

原创 【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)

前面我们已经讲过布隆过滤器的原理【实战问题】-- 缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢?文章目录布隆过滤器手写布隆过滤器Redis实现Google GUAVA实现关于作者布隆过滤器再念一次定义:布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在 1970 年提出的,它实际上是由一个很长的二进制向量和一系列随机hash映射函数组成(说白了,就是用二进制数组存储数据的特征)。譬

2021-05-13 14:23:45 375 4

原创 150页的剑指Offer解答PDF,它来了!!!

它来了!!!终于整理出了第一版剑指Offer的PDF,主要以Java语言为主,一共67道题,100多页。领取方式如下(无套路直接获取百度网盘的 ???? 链接,如果链接失效可以直接找我):【秦怀杂货店】公众号内发送:剑指Offer刷题仓库:CodeSolution ,具体的分类如下:数组剑指Offer(二)–二维数组中的查找剑指Offer(十三)–调整数组顺序使奇数位于偶数前面剑指Offer(十九)-- 顺时针打印矩阵剑指Offer(二十八)-- 数组中次数出现超过一半的数字剑指

2021-04-24 19:34:33 2284

原创 Java学习之路 -- Java怎么学?

文章目录java基础怎么学?学完基础学什么?几个常用框架学完学什么?MQJVM的知识跑不掉微服务等等其他数据结构和算法java基础怎么学?当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!推荐几本可以入门的书籍:Head First Java简单易懂,可以教你如何像一

2021-03-29 15:08:06 409

原创 剑指Offer(52)-- 正则表达式匹配(递归实现和动态规划)

题目描述请实现一个函数用来匹配包括’.‘和’*‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配示例1输入“aaa”,“a*a”返回值true思路以及解答这道题,仔细一想,感觉情况很多,很凌乱,此处介绍的是递归的做法,其实本题还可以使用动态规划。最重要的是需要分类讨论,原串定义为

2021-03-29 15:04:09 163

剑指Offer-V1.pdf

剑指Offer题目65题全集,V1版本只有Java解法!!!

2021-12-12

空空如也

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

TA关注的人

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