- 博客(11)
- 收藏
- 关注
原创 Java学习笔记
一、MYSQL一、深入理解mysql索引底层数据结构与算法索引是帮助MySQL高效获取数据的排好序的数据结构查询数据主要是磁盘做交互,走I/O,不同数据存放位置不同,索引是将固定数据存放在数据结构中方便快速查找索引中的key-value指的是key:数据 value:数据存放在磁盘中的地址数据结构的址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html1、mysql为什么不用:**二叉树:**因为在逐级递增的数据中,二叉
2022-01-18 16:53:14
161
原创 Java23种设计模式(八)外观模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。外观模式个人认为是最容易理解的一种设计模式,理论通俗易懂,代码也如此,让我们往下看看吧假如我们在家中想做某一件事情,必须要一件一件的完成,但是如果有智能家居设备可以一件启动,这就算是使用了外观模式,就是将一些繁琐的操作统一在一个操作接口中。举个例子:组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为:
2020-09-22 17:30:20
235
原创 Java23种设计模式(七)组合模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。组合模式基本介绍组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。 这种类型的设计模式属于结构型模式。 组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象组合
2020-09-07 15:13:31
323
原创 Java23种设计模式(六)装饰者设计模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。这里讲到装饰者设计模式,装饰者模式在新手初学的时候总觉得和桥接模式没啥区别,甚至称他们两为相同的模式,但是仔细理解以后,他们两个还是有着本质上的区别,首先他们作用方面都是一样的,都是将同一个东西的两个共同组成属性抽出来,然后需要新添加东西的时候只需添加对应的属性就行了。但是桥接模式对应的是很严格的匹对,某样东西对应某种属性,某些东西对应不了这个属性。就用手机举例,很多手机品
2020-09-07 09:43:05
196
原创 Java23种设计模式(五)桥接模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。桥接模式给我最大的印象就是将抽象类和实现类的分离,最后解决了类爆炸的问题。举个例子,一般来说,具体定位一台手机,需要手机类型还有手机品牌,两者共同定位一部手机,画个图看看:每一个品牌都发布了不同类型屏幕的手机,但是如果要在这个基础上,从手机分类中增加一个屏下摄像头的类型,就要添加一个新的类型,然后每个类型下面继续添加不同的品牌,这样来说,保守估计都要新添加4个模块,如.
2020-09-04 11:17:26
156
原创 Java23种设计模式(四)适配器模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。适配器模式在我学习完以后,个人感觉比较好理解,而且实际代码中也应该经常用得上,话不多说,大致理解如下:目录1、类适配器模式2、对象适配器3、接口适配器大家都知道,不同国家不同地区的充电插头是不同的,如果你要出国旅游,必须要相对应的插座转换接口才行,而适配器模式就是类似于此,首先,被适配的东西就是外国的插座,因为那东西和你的不通用,所以必须被适配器适配;然后就
2020-09-03 16:30:54
295
1
原创 Java23种设计模式(三)原型模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。在传统方式思考,如果想要将一个类复制出很多相同的类,可能需要将这个类的信息重新注入到创建的新类中,如下://传统的方法Sheep sheep = new Sheep("tom", 1, "白色");Sheep sheep2 = new Sheep(sheep.getName(), sheep.getAge(), sheep.getColor()); Sheep s
2020-09-02 16:39:01
130
原创 Java23种设计模式(二)单例设计模式
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。众所周知,我们学习Java的时候第一个接触的可能就是单例设计模式,老师会仔细讲的应该也是单例模式;但是我们真的就很了解单例设计模式吗。首先,问问自己,单例设计模式有几种写法,映入大脑的就是饿汉式和懒汉式,但是这么强大的设计模式真的就只有这几种写法吗?其实并不是,单例设计模式有8种写法。如下所示:目录1、饿汉式(静态常量)2、饿汉式(静态代码块)3、懒汉式(线程不
2020-09-01 14:51:41
182
原创 Java23种设计模式(一)设计模式7大原则
这是本人学习Java23种设计模式期间总结和记录,主要听的课程是尚硅谷——韩顺平老师的课程,这个课程可谓是非常详细了,推荐学习。首先讲讲为什么要引入设计模式,设计模式最初是在建筑学的,高楼大厦的建造绝对不可能是无头绪的随便建造,提前一定要考虑成百上千种因素,最终融合设计师的思想进行设计到最终完成的。所以在Java中引入设计模式是站在软件工程师的角度,为将来代码可能产生的问题制定一系列的解决办法,所以小白在简易小demo中一般引入设计模式会觉得很繁琐,明明更少的代码量就能完成,为什么要用设计模式增加工
2020-08-27 17:04:11
294
原创 freemarker模板进行word导出表格,相同单元格合并,遍历数据批量导出
最近研究word文件导出,导出表格并且相同单元格合并,在数据量庞大的情况下性能较好首先有两种思想,一种是poi导出,一种就是freemarker模板导出。首先说说poi的缺点吧,poi等于是用Java代码制作word模板,而且最不方便的就是poi对word很不友好,excel的各种方法应有尽有,word的少的可怜;而且代码繁琐,数量庞大,如果有其他同事需要编写相同的功能,需要把所有poi方法全部学习一遍,实在是太过麻烦,最终选择了使用freemarker步骤1:创建模板模板在创建时固定数据不
2020-08-10 11:02:04
1589
原创 美团面试绝命7问答案以及解析Object 0 = new Object();
问题:关于Object o = new Object();1、解释一下对象的创建过程;2、DCL(double check lock)写法中需不需要添加volatile;3、对象在内存中的存储布局;4、对象头具体包括什么;5、对象怎么定位;6、对象怎么分配;7、Object o = new Object();在内存中占用多少字节;问题1:解释一下对象的创建过程;先看以下代码:public static void main(String[] args){ Objec
2020-07-29 17:59:34
1745
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅