- 博客(904)
- 资源 (44)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)
设计模式(Design Pattern)代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。那么,使用设计模式究竟有哪些好处呢?看一看下面就知道了,其实还远不止这些好处。可重用代码。保证代码可靠性。使代码更易被他人理解。······毫无疑问,设计模式于己、于人、于系统都是多赢的。设计模式之于程序员,就好比圣经之于耶稣信徒一样,意义可想而知!什么是GoF?谈及设计模式,必然离不开GoF。GoF:Gang of Four,也称为"四人组",即EErich Gamma、Richard
2021-10-10 22:42:19
4130
23
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 呕心沥血整理出的史上最简单的IntelliJ IDEA教程,快来看哟!
前言IntelliJ IDEA(简称IDEA),是Java语言开发的集成环境,IDEA在业界被公认为是最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(Git、SVN、GitHub等)、JUnit、CVS整合、代码分析和创新的GUI设计等方面的功能都值得称道。之前,笔者一直在用Eclipse做Java后台的开发,现在是时候该拥抱IntelliJ IDEA了,不然就太out了。因此,撰写本系列文章的目的也很简单,就是想把自己的经验整理记录下来,当然,如果能够在
2021-04-15 17:53:55
2104
10
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 历时三个月,史上最详细的Spring注解驱动开发系列教程终于出炉了,给你全新震撼
写在开头从2020年11月27日到今天(即2021年3月21日)为止,历时接近三个月,我写的「史上最详细的Spring注解驱动开发系列教程」终于新鲜出炉了!好嗨哟!我实在是太开心了,因为每一篇文章我都花费了大量的时间、精力和心血,一篇文章写下来,少则3、4个小时,多则3、4天,我实在是太难了!整个系列教程,我是总共分为了五大部分,分别是:IOC容器、AOP切面、声明式事务、扩展原理和web相关。大部分内容都是以实战为主,期间我也适当的讲解了Spring的底层原理和源码相关的知识。尤其是在研究AOP底层原
2021-03-21 18:27:14
27534
47
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 一个淘淘商城项目送给你,愿你有一个灿烂的前程!
今天是2020年6月23日,星期二,天气晴。2020年已过一半,回想一下,这真是一个多灾多难的年份啊!可生活依然要继续,活着的人依然要继续前行。这是没道理的事情。好了,回到主题,说说写这篇文章的目的。我相信,很多人都知道淘淘商城这个项目是某个培训机构的项目,而且还是很多年之前的一个项目,我首次写这个项目时,还是3年前,即2017年5-6月份。我相信很多人会说,就这么一个老项目,有必要值得做吗?对于那些具有1~2年工作经验的人来说,确实没什么必要,不过我们也需要考虑一下那些初学Java的小白们,或者马上要出
2020-06-23 09:38:08
5276
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 小子!看你骨骼精奇。有气冲破天灵,定是编程奇才,我就卖你套《SSM系列教程》。不收你钱!
为了方便读者阅读以及自己回顾,我分别对Spring、MyBatis以及SpringMVC这三个实际开发中非常常用的框架做了一个详细的总结,照着我总结的这套SSM系列教程,相信你一定能如鱼得水!Spring框架快速入门《Spring入门第一讲——Spring框架的快速入门》《Spring入门第二讲——在编写Spring框架的配置文件时,标签无提示符的解决办法》《Spring入门第三讲——S...
2019-11-16 16:59:45
5086
7
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 这里是一个简单的CRM客户关系管理系统的开发教程,你值得拥有哟!
为了方便读者阅读以及自己回顾,我总结了一个简易CRM客户关系管理系统的系列开发教程,大家一起来学习吧!搭建开发环境CRM客户关系管理系统开发第一讲——搭建开发环境...
2019-10-27 11:29:02
8821
1
原创 数据结构与算法(Java版) | 教你如何使用环形数组来模拟队列
上一讲,我们就已经分析过了,使用数组来模拟队列的这种实现方式隐藏着一个很大的问题,即数组使用过一次之后便不能再使用了,也就是说压根就没有达到复用的效果。而要想解决这个隐患问题,那我们就得让数组能再次被复用了,也就是说如果我们从这个数组里面取出一个东东之后,那么空出的这个空间还能再次被使用。
2024-08-14 07:57:30
137
原创 数据结构与算法(Java版) | 详解十大经典排序算法之一:插入排序
首先,我们来看下插入排序的基本介绍。插入排序,其属内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以便达到排序的目的。
2024-04-26 12:00:58
457
1
原创 数据结构与算法(Java版) | 详解十大经典排序算法之一:选择排序
首先,我们来看下选择排序的基本介绍。选择排序,它同样也属于内部排序,具体而言,就是从欲排序的数据中,按照指定的规则选出某一元素,然后再依照规定交换位置,以便达到排序的目的。
2023-12-08 21:57:27
459
原创 数据结构与算法(Java版) | 详解十大经典排序算法之一:冒泡排序
当然,如果你连听都没听说过,那我也不会说你啥,没听说过有啥关系,学就完了,对不!所以,冒泡排序,你要学会学明白,你就得来看我写的这篇文章,因为这篇文章费了我老鼻子劲了,花了好多时间才精心写就,可以这样说,只要是个人,看了他就得说好,毕竟在网上你几乎就见不到讲冒泡排序还有人讲得比我详细的了。我想,恐怕也未必吧,虽说你之前是会冒泡排序,但经过这么长时间的洗礼,恐怕难说你还记得多少,毕竟遗忘是人类的天性嘛,这点我不能责怪大家,就拿我本人来说,我也经常性遗忘前面所学的知识。
2023-11-12 22:53:36
748
6
原创 数据结构与算法(Java版) | 算法的空间复杂度简介
而且,大家也都知道,随着计算机的迅猛发展,硬件这一块的成本其实是在不断降低的,所以,做算法优化的时候,一般来讲,用空间来换时间在公司里面都是被允许的。实际上,在我们做算法优化的时候,本身就需要能够用空间来换时间,你也不想想平时业务开发的时候为什么不直接去查数据库,而非要去做什么二级缓存、三级缓存?其实,做二级缓存、三级缓存的目的就是让数据先加载到缓存,然后我们再直接从缓存中取,虽然这样做会占用一些额外的存储单元,但是速度却变得更快了。至此,关于算法空间复杂度的基本介绍,我就给大家讲完了。
2023-11-11 11:36:46
268
原创 数据结构与算法(Java版) | 万字详解算法的时间复杂度
下面我们用一个问题来引出算法的时间复杂度这一概念。该问题是,怎么去衡量一个程序(或者算法)的执行时间呢?就拿我们刚刚讲的排序算法来说,排序算法这么多,你又如何知晓哪一个排序算法执行的时间谁长谁短呢?要想搞清楚该问题,那我们就不得不知道度量一个程序(或者算法)执行时间的两种方法了。
2023-11-05 09:53:55
345
原创 数据结构与算法(Java版) | 排序算法的介绍与分类
首先,我先给大家对排序算法作一个基本的介绍。排序也称排序算法(Sort Algorithm),指将一组数据,依照指定的顺序进行排列的一个过程。
2023-11-04 10:27:46
834
原创 数据结构与算法(Java版) | 数组模拟队列的思路分析与代码实现
上一讲我们讲过,队列既可以用数组来实现,也可以用链表来实现,但由于我们比较熟悉数组这种结构,所以这里我会先给大家讲一下数组这种实现方式,至于链表这种实现方式,那就以后有机会再说吧!队列,它本身就是一个有序列表,且其若是使用数组这种结构来存储它里面的数据的话,则队列数组的声明就应该是如下图所示的这个样子,其中maxSize就是该队列的最大容量。上面这张示意图,大家应该还有些印象吧,你可千万别跟我说不熟悉啊,因为我上一讲就给大家讲过了。从以上示意图中,我们。。。
2023-05-10 10:53:06
792
4
原创 数据结构与算法(Java版) | 队列的应用场景和介绍
队列,听其名而知其义,相信大家应该都在现实生活中见过,比如在火车站排队买票,或者在麦当劳排队买吃的等等,这些场景你应该很熟悉吧!既然队列在现实生活中随处可见,那么我就要问一下大家了,队列有什么特点呢?恰好之前我用Java写了一个银行排队叫号系统的小项目,还记得当初写这个小项目就是为了让大家更好地去理解队列,这不,现在就用上嘛,废话不多说,下面就让我给大家运行一下这个小项目,让大家看看效果吧!给大家介绍完稀疏数组这种数据结构之后,接下来我再来给大家介绍一下另外一种数据结构,即队列。
2023-05-07 10:58:44
694
原创 向刘邦同志学习
最近在知乎闲逛,无意中看到一个问题,即,顿时觉得这个问题很有趣,于是就留心多翻了一些回答,发现其中有一个叫张福来的用户的回答深得我心,遂果断记录下来,以飨读者。为什么偏偏是刘邦?因为他值得我们学习,就连毛主席都说他是封建皇帝里边最厉害的一个,可见其厉害之处,反正我本人对刘邦非常佩服,且常有效仿之意,但始终不得其门而入。以下便是知乎用户张福来对这个问题的回答!
2023-04-16 12:09:47
741
1
原创 如何进行日常写作训练?
最近我感觉写一篇文章真的是太费劲了,就感觉写得都快死了,头发也挠下来了不少,现在我是终于感受到了那种挠头也写不出文章的痛苦了,那种痛苦就像周遭的黑暗一样向人铺天盖地地袭卷而来,令人想躲却无处可躲!我似乎陷入了一种巨大的漩涡中而不能自拔!痛苦,现在唯有这两个字才能形容我此刻的感受,然而扪心自问一下,这一切的始作俑者是谁呢?
2023-02-22 22:03:05
488
2
原创 数据结构与算法(Java版) | 稀疏数组的一个实际应用案例
通过上一讲的学习,我们知道了使用稀疏数组即可保存类似下面的二维数组,当然,现在大家可能都知道了该二维数组是由五子棋棋盘映射而来的,但是在实际应用中,它也有可能是由一个地图而映射来的哟!于是,现在我就要问大家了,如果说现在有这样一个需求,即:将稀疏数组存盘,并且希望可以重新恢复为原来的二维数组,那么请问你会怎么去分析呢?
2023-02-22 12:22:24
275
原创 数据结构与算法(Java版) | 稀疏数组的应用场景
关于稀疏数组,大家首先需要知道的一点是,当一个数组中大部分元素为0,或者为同一个值时,我们就可以使用稀疏数组来保存该数组了。记录数组一共有几行几列,有多少个不同的值。说白了,就是稀疏数组的第一行会记录原先二维数组的行数、列数以及一共有多少个不同的值。关于这一点,大家现在不理解也没关系,因为马上你就会知道稀疏数组长啥样了,到时你自然便能理解这一点了。把具有不同值的元素的行、列及值记录在一个小规模的数组中,从而缩小程序的规模。而这个所谓的小规模的数组,就是我们所说的稀疏数组。
2023-02-19 18:32:04
325
原创 数据结构与算法(Java版) | 线性结构和非线性结构
之前,我们说过,数据结构是算法的基础,因此接下来在这一讲我就要给大家来重点介绍一下数据结构了。首先,大家需要知道的是,数据结构包括两部分,即线性结构和非线性结构。知道这点之后,接下来我就要分别来为大家进行详细介绍了,下面咱们不妨先来看一下线性结构。
2023-02-17 18:49:41
338
原创 数据结构与算法(Java版) | 就让我们来看看几个实际编程中遇到的问题吧!
上一讲,我给大家简单介绍了一下数据结构,以及数据结构与算法之间的关系,照理来说,接下来我就应该要给大家详细介绍线性结构和非线性结构了,但是在此之前,我决定还是先带着大家看几个实际编程中遇到的问题,看完之后咱们再说。
2023-02-14 10:53:30
700
原创 数据结构与算法(Java版) | 数据结构与算法的关系
从这一节起,咱们就要开始进入到第二章(即数据结构与算法的介绍)的学习中了,总的来说,第二章要讲解的内容其实也不是特别的多,内容也多偏理论,相信大家学起来也比较轻松愉快。接下来,就请大家跟随着我开始第二章(即数据结构与算法的介绍)的学习之旅吧!
2023-02-13 11:05:45
1046
原创 数据结构与算法(Java版) | 本套系列教程的课程亮点和授课方式
接下来,在这一讲,我会花一点点时间给同学们达成一个共识,就是我们这套系列教程在讲述的时候,究竟是以一种什么方式来讲述的。我希望,经过我的讲解,大家能够形成如下这样一个统一共识,如此就不枉费我的一片苦心了。
2023-02-05 08:13:08
330
原创 数据结构与算法(Java版) | 数据结构与算法的重要性
通过前几讲我给大家介绍的几个经典的算法面试题,相信大家现在应该对数据结构与算法有了一个很浓烈的学习兴趣,嘻嘻🤭,数据结构与算法学起来还是非常有意思的,不骗你!激起大家的学习热情之后,接下来,我们就要正式步入数据结构与算法的学习旅程中了。首先,我们来看一下数据结构与算法的重要性究竟体现在哪些方面。
2022-12-15 22:54:43
481
3
原创 数据结构与算法(Java版) | 关于以上几个经典算法面试题的一个小结
为了让大家明白算法的重要性,以上我就举了几个经典的算法面试题,我的目的也很简单,就是希望引起大家对算法的一个兴趣。之所以在正式讲解数据结构与算法之前引出这几个经典的算法面试题,是因为我想告诉大家如下三点。而且,从目前的情况来看,不会算法的程序员迟早会被逐渐淘汰,所以大家一定要对算法重视起来,对它要有一个足够的认识。而正是鉴于此,我才在前两讲中给大家列举了那几个经典的算法面试题。接下来,我们不妨对前两讲中介绍的几个经典算法面试题做一个总结,复习复习一下。
2022-12-12 22:06:20
472
原创 数据结构与算法(Java版) | 几个经典的算法面试题(下)
上一讲,我给大家介绍了两个经典算法面试题,即字符串匹配问题和汉诺塔游戏,这一讲,我再来给大家介绍两个经典算法面试题,它们就是八皇后问题和马踏棋盘算法,注意,马踏棋盘算法也被称为骑士周游问题哟!接下来,我就先来给大家介绍一下八皇后问题这个经典算法面试题吧!
2022-12-08 21:57:29
701
原创 数据结构与算法(Java版) | 几个经典的算法面试题(上)
大家好啊,我是你们的李阿昀,好久不见了,甚是想念大家!这不,从今儿个开始,我又要给大家开个坑了,从本文的标题大家就能看出来,这次我要给大家讲的就是数据结构与算法(Java版),而且我还特地汇总成了一套系列教程,我有理由相信,本套讲述有关数据结构与算法的教程将有可能会是东半球最系统全面的一套教程,如若不信,则就请大家拭目以待吧!关于本套系列教程,有两点我需要向大家说明一下,第一点就是本套系列教程主要讲解的是有关数据结构与算法方面的内容,而且还是基于Java语言来进行讲解的,这一点相信我不说,大家也应该都知道了
2022-12-05 18:00:35
700
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:双亲委派机制的工作原理及演示
一提到双亲委派机制,大家的第一印象可能是觉得该机制理解起来应该会比较复杂,实则不然啊,它理解起来其实还算是简单的了。此外,有一点不得不提一下,就是双亲委派机制在面试中经常会被问到,可能你面试的时候面试官就会问你,你能不能介绍一下什么是双亲委派机制啊?又或者你能不能说一下它的工作原理啊?如果你从来都没接触过,那么你怎么回答啊,你不一脸懵逼才怪呢!前面我给大家介绍完了所有的类加载器,相信它们之间的关系以及具体使用细节大家也已经掌握了,但掌握这些还不够,接下来我们还得了解并掌握一个新的知识,即双亲委派机制。
2022-11-15 19:55:52
335
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:ClassLoader的常用方法及其获取方法
经过前面一系列的讲解,我就算是给大家介绍完了所有的类加载器,相信大家现在都知道了,除了启动类加载器之外,其他的类加载器都直接或间接地继承于类。因此,关于这个类,接下来咱们就有必要好好地来了解一下了。
2022-11-14 11:06:28
533
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:为什么需要用户自定义类加载器以及其具体实现
首先,我想说明的一点是,关于用户自定义类加载器,在本篇(即内存与垃圾回收篇)我并不会过多展开来讲解,具体的内容得等到大家真的步入下一篇(即字节码与类的加载篇)的学习中之后我才会给大家具体展开来讲解,比方说用户该怎样去自定义一个类的加载器。而在这里,我则主要只想说明两个问题,第一个问题是什么时候我们才会需要去自定义类的加载器,第二个问题是如果真想自定义一个类的加载器,那么你觉得其简单实现步骤又会是怎样的呢。
2022-11-08 09:24:13
938
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:引导类、扩展类以及系统类加载器的使用和演示
接下来,咱们就具体来展开说一说这几类不同的类加载器。
2022-11-05 00:54:43
404
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:几种类加载器的使用体会
前面,我给大家仔细讲解了类的加载过程的三个阶段,为了给大家讲清楚,我可是花费了大量的时间和精力,只要你看过,你就会发现在整个中文互联网上确实是没有人比我讲得更清楚了,我这可不是在王婆卖瓜,自卖自夸,只有你看过了,你才知道事实的真相,毕竟实践是检验真理的唯一标准!好了,回到本文的正题,从本讲开始,接下来咱们就要步入类的加载器的学习旅程中了。想必一谈起类的加载器,大家立马就都知道了它可以被分成好几类的这一事实,所以接下来咱们就从这个角度出发来开始对类的加载器的学习。
2022-11-02 09:42:07
347
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:类的加载过程之三:Initialization
介绍完类的加载过程的第二个阶段(即链接阶段)以后,我们再来看一下类的加载过程的第三个阶段,即Inilization阶段,翻译过来便是初始化阶段。),关于它,大家之前可能没有听说过,没听说过也没关系啊,大家只要知道它不等同于类的构造器就行,它俩不是一回事,注意,类的构造器就是虚拟机视角下的。然后,大家需要知道的一点就是此方法不需定义,它是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来的。)是怎样生成的之后,接下来我便要通过一个例子的演示来让大家对它有一个比较直观的印象了。
2022-10-28 10:05:22
680
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 番外篇:教你如何在自己的电脑上去安装一些专门解读字节码文件的工具
首先,大家要知晓其官网地址,即,在GitHub首页大家就能看到它的介绍、安装以及使用了,不过这里我想再给大家详细介绍一遍。
2022-10-20 19:26:53
280
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:类的加载过程之二:Linking
经历过类的加载过程的第一个阶段(即加载阶段)以后,接下来,我们就要来看一下类的加载过程的第二个阶段了,即Linking阶段,翻译过来便是链接阶段。
2022-10-18 19:43:12
1519
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:类的加载过程之一:Loading
首先,我们来看一下类的加载过程的第一个阶段,即Loading阶段,翻译过来便是加载阶段了。注意,这里大家一定要区分清楚这样一个概念,就是我们这里提到的类的加载过程它是一个宏观上的概念,只不过它又分为了具体的三个阶段而已,而恰恰好其中第一个阶段就是加载,很明显,此处的加载就是一个狭义上的概念。想必大家都知道字节码文件极有可能就是物理磁盘上的一个文件,而在上一讲我们也讲过了,物理磁盘上的字节码文件加载到内存当中就是以二进制流的方式来进行加载的,关于流,我想大家应该是再熟悉不过了。先来看第一个说明,即。
2022-10-16 09:46:13
477
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:概述类的加载器及类加载过程
在这一讲,我就要来给大家说一下具体的类加载器以及类的一个加载过程了。首先,我们得从整体上对类加载器子系统有一个认识,如下图所示,相信大家对下图应该是非常熟悉了,因为在上一讲我们就看过了,而且经过我上一讲的讲解,相信大家此时已经对类加载器子系统有了一个整体了解。既然都初步认识了类加载器子系统,那么问题也就接踵而来了,这个问题便是类加载器子系统的作用是什么。于是,接下来我们就要探讨该问题的答案了。
2022-10-10 10:28:17
197
原创 我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:内存结构概述
其实,上一章节还提供了一幅类似这样的图,如下所示,只不过这幅图是我从网上找的,大家看着或许会比较眼熟一些,比较亲切一些,而上面那幅图则是我亲自手绘的,关于这点相信大家都能看得出来。回到我亲自手绘的简图中,相信大家都知道Class文件我们是称之为叫字节码文件吧!在讲这一章节之前,大家不妨先来看一下如下这样一幅描述JVM架构的简图,相信大家对于该图并不会陌生,因为在上一章节我们就已经看过该图了。第一章节讲解完毕之后,接下来我便要来给大家讲解第二章节了,即类加载子系统这一章节。
2022-10-07 23:35:01
323
教你一天玩转JavaScript(四)——使用JavaScript实现定时弹出广告定时隐藏广告
2017-05-02
Spring4.2.5+Hibernate4.3.11+Struts2.3.24整合开发
2016-10-23
Spring提供的CharacterEncoding和OpenSessionInView功能
2016-10-23
Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案二
2016-10-22
Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
2016-10-22
教你一天玩转JavaScript(七)——使用JavaScript完成复选框的全选和全不选的效果
2017-05-05
教你一天玩转JavaScript(六)——使用JavaScript完成后台数据展示表格的隔行换色
2017-05-04
教你一天玩转JavaScript(五)——使用JavaScript完成注册页面表单提示及校验
2017-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人