文章 134
评论 37
浏览 113647
设计模式学习笔记之建造者模式

设计模式学习笔记之建造者模式

前言 这是一篇学习笔记,内容很多是来源于网上的资料,然后按照自己学习情况进行的总结。 我的个人博客:海加尔金鹰 什么是建造者模式 在Java当中,当需要构建一个对象,并且这个对象的某些属性在构建好后有默认值或者自定义的值,通常有三种方法。 方法一:直接给属性一个默认值。缺点:不够灵活 方法二:通过构造器赋值。缺点:构造器的传参过多,不好分辨。 方式三:通过set方法赋值。缺点:如果需要设置的参数较多需要一个一个设置。 个人感觉的实际场景: 淘宝购物买电脑时经常看见的套餐,套餐一:鼠标+键盘,套餐二:鼠标+键盘+保护膜等很多的套餐。只需要选择套餐几就可以了,不需要一个一个选择。然后你觉得套餐里面的某个东西不喜欢,想换成其他的,还可以联系客服换。 然后就有了建造者模式。 1、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 2、主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。 3、如何使用:用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来) 4、解决的问题: (1)、方便用户.....

七月再见,八月你好

七月再见,八月你好

不知不觉,七月将过,八月将至。感觉一个月的时间好短啊! 七月再见 这个月有很多需要记录下来的东西 拖欠工资对工作效率和工作热情的影响: 这个月工资又没有发,五险一金的公积金这个月也没有缴纳,也不知道六 月份的工资八月份能否发放。 工作上的热情已经没有了,效率自然也就谈不上了,摸鱼已经成为日常了。 成都第N次入夏失败 这个月,成都的温度刚升上来,马上就是倾盆大雨,总之温度目前来说还是比较宜人的。不好的就是这段时间感冒的人比较多,我也是其中一个。 香港的暴乱 这个月有很多的社会新闻,但是都比不上香港发生暴乱,暴乱不可怕,可怕的是在新闻上看到外国媒体的无良报道。看来断章取义的报道,不仅国内有,国外也是有很多的。 突然联想到网上看到的一些关于其他国家的报道,也不知道真实性有几分。 自我认识的提升 以前看朋友圈,看抖音,看到好玩的地方,好看的风景总是想着自己也要去玩一玩。非常羡慕别人。 现在对这些慢慢的无感了,想来是因为以前的自己一个人在成都孤独,渴望热闹的原因吧! 最近这段时间回老家的次数有点多,孤独也就没有了,自然也就不在追求这些东西了,吾心安处是故乡。 奋斗,进步,努力工作这些无非都是为了....

四月再见,五月你好

四月再见,五月你好

不知不觉四月将过,记下四月的生活和感受,写下五月的理想 四月再见 关于新工作 从1号到30号,入职新公司刚好一个月了,差不多965的工作时间,不过一天8个小时的工作时间,至少有7个小时是在工作。有点压迫感,但觉得还是很合适的,毕竟工作强度不能太大,也不能过于放松。 工作环境还是可以的,就是工作条件太难受了,公司配置的笔记本电脑,还没有我16年买的5千块的笔记本好用。 公司周围的饭馆也基本上吃了个遍。每到饭点,为午饭发愁哎。 关于996 996.icu这个网站火了,996工作制这个话题也火了。自己也认真思考过这个话题,也和朋友谈论过这个话题,也在知乎,csdn等网站看过很多的评论。 996对于员工来说,不是福报,是剥削,因为很多时候,员工的付出和收获是不成正比的。但是对于老板来说,是奋斗,是梦想实现的必经之路,作为一名老板,他付出多少和他收获多少绝大多数情况下都是成正比的。 关于生活 技术博客没怎么写了,充实的工作让我下班之后更想放松一下,看看电视,玩玩游戏。 说好的锻炼只能说比三月份锻炼的次数要多一些。 成都的天气是真的热起来了,但是属于那种不开空调觉得热,开了空调....

九月再见,国庆你好

九月再见,国庆你好

九月再见 九月五日晚十点过五分,终为人父。 不为人父,不知养儿带女的辛苦。 十月你好 街道上挂满了红旗,建国七十周年终于来了。虽然祖国还有很多不好的地方,但是至少幼有所养,老有所依。只要自己不懒惰,总究还是能吃饱穿暖,比世界上绝大 多数国家要好得多了。 不养娃不知道压力,真的是要努力挣奶粉钱了啊。 九月份没怎么学习,接下来要加油了,争取在年底之前把设计模式学完。 认认真真的读一本好书。

设计模式学习笔记之桥接模式

设计模式学习笔记之桥接模式

前言 这是一篇学习笔记,内容很多是来源于网上的资料,然后按照自己学习情况进行的总结,有些是自身的感受,有些是网上比较好的资料的引用。 如果有人看到我写的笔记有不对的地方欢迎留言指出来,是真的欢迎指出来,因为我可能会错很久,然后才发现。学习技术不能闭门造车,要多交流,多讨论,多思考才能成长的快,学的快。 我的个人博客:海加尔金鹰 什么是桥接模式? 桥接模式的定义与用意 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 桥接模式的用意 : 抽象化        将不同事物当中抽取出共同的特性的过程就是抽象化的过程。例如西瓜、香蕉、梨、 葡萄等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象化的过程。通常情况下,一组对象如果具有相同的特征,那么它们就可以通过一个共同的类来描述。如果一些类具有相同的特征,往往可以通过一个共同的抽象类来描述。   实现化        抽象化给出的具体实现,就是实现化。.....

设计模式学习笔记之享元模式

设计模式学习笔记之享元模式

前言 这是一篇学习笔记,内容很多是来源于网上的资料,然后按照自己学习情况进行的总结,有些是自身的感受,有些是网上比较好的资料的引用。 如果有人看到我写的笔记有不对的地方欢迎留言指出来,是真的欢迎指出来,因为我可能会错很久,然后才发现。学习技术不能闭门造车,要多交流,多讨论,多思考才能成长的快,学的快。 我的个人博客:海加尔金鹰 什么是享元模式 享元模式的定义与意义 Use sharing to support large numbers of fine-grained objects efficiently. 使用共享对象可有效地支持大量的细粒度的对象。 在面向对象的过程当中,对象的创建是很常见的事情,当对象的的数量过多时,就会带来运行性能下降的问题(消耗了太多的内存)。 享元模式主要用来避免系统创建多个重复对象,达到减少内存消耗的目的。 享元对象能做到共享的关键是区分内部状态和外部状态,内部状态指的是对象创建不会在发生变化的属性,外部状态是指会发生改变的属性。 比较金典的例子说明:围棋游戏当中,存在大量的黑子和白子,每个黑子除了落点位置不同之外,其他的大小颜色都相同。通过享元模式......

十月再见,十一你好

十月再见,十一你好

人生的旅途中,会有一段路需要自己走,一些事需要自己扛。 十月再见 这个月发生了不少的事情,九月份的计划一个都没有实现。 十月一日 举国同庆,可惜人在路上,看不到直播。也给自己定下了一个目标,30年后,祖国百年华诞,如果自己身体健康,经济允许,一定要去天安门现场看看。 十月五日 闺女满月啦,吃饭的时候,表妹和她男朋友打算腊月份结婚,很可能明年我就是表舅了!! 十月十四日 这一天,算是这个月噩梦的开端吧,组长告知,公司回款不顺利,工资又要拖欠了,到现在也没有发,估计只有等十一月份了。 十月十五日 测试人员测出数据校验系统效率低下,然后组长让我去修改完善。这一改,改到我心态爆炸。 十月十七日 表妹打电话给我借钱急用,原因是舅舅在乡下被天雷蜂给蛰了。周末回去看望了下舅舅,人比较清醒,就是输液要输很久,早上8点到晚上9点差不多。医生说要把毒素给排出来。 十月二十日 不是一家人不进一家门,爷爷和我老婆同一天的生日。中午过完,下午有匆匆的坐火车回成都。 十月二十二日 看着这难以入目的代码,有见过直接New 抽象类的么? 有见过在try Catch里面return fals....

记录——JAVA动态加载外部JAR,并调用方法以及卸载关闭打开的外部JAR

记录——JAVA动态加载外部JAR,并调用方法以及卸载关闭打开的外部JAR

正文 最近在工作当中需要通过JAVA代码去调用外部JAR里面的方法,而不是直接在项目当中直接引入对应的JAR。记录一下实现过程当中遇到的问题和具体实现的代码。 具体代码实现 第一步:创建一个测试类,然后把这个类打包成一个普通的jar包。打包方法: 记录——IDEA如何打普通JAR包 public class MyTest { public void show(String name){ System.out.println("参数是:"+name); } } 第二步:在其他项目当中调用刚才打包的jar里面的show方法 public class AddJar { public static void main(String[] args){ //外部jar所在位置 String path = "file:D:\Program File\IDEA\WorkSpase\Test20191015\out\artifacts\test191015\test191015.jar"; URLClassLoader urlClassLoader =null; Class<?&....

记录——IDEA如何打普通JAR包

记录——IDEA如何打普通JAR包

正文 习惯了用maven命令打包,有点忘记了如何打一个普通的jar包了,特此记录一下。 jar包分两种:一种是有main函数的可以直接执行的jar包,一种是没有main函数,不可以直接执行的jar包(通常是工具包) 普通JAR包(不可以直接执行的jar) 1 点击project structure 找到Artifacts 点击加号,选择jar --Empty 2 修改jar名字,并把右边的compile output拉到左边的jar里面 然后确定保存 3 点击build 选择build artifacts 进行build就可以了。 4 对应的jar就打包完成了。 可直接执行JAR包(有main函数) 重复上面1 2步操作 3 然后点击create Mainfest 选择项目目录,直接确定即可 4 点击jar名称,然后设置对应的main函数位置。设置完毕点击确定即可 5 点击build,选择对应的artifacts 进行build就可以了。 6 测试是否成功,不报错,正确执行main里面的代码就成功了。

JAVA基础复习之JDBC(配置动态数据源)

JAVA基础复习之JDBC(配置动态数据源)

复习原因 在项目的开发当中,之前数据库连接信息都是写死在配置文件当中。但是突然接到一个需求: 获取外部数据源信息,然后将某些数据通过Echarts绘制成折线图展示出来(ps:数据源需要用户手动设定) 有点懵,因为之前都是写死在配置文件当中的,然后在网上也找了一些资料,发现都不是自己想要的。 最后想到,既然是简单的获取数据进行展示,直接使用JDBC连接数据库获取就可以了啊。没有必要搞什么骚操作。 JDBC 一直使用的JPA或者mybatis进行数据库连接,很少使用JDBC进行数据库连接。 因此也复习一下JDBC,毕竟无论是JPA还是Mybatis都是对JDBC的一个封装。 什么是JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序(来源于百度百科) 如何使用JDBC 第一步 加载驱动 第二步 连接数据库 第三步 创建sql ....

springboot整合websocket技术

springboot整合websocket技术

什么是Webscoket 简单来说就是一个基于TCP的持久化的网络通信协议。主要作用就是:服务端可以主动推送信息给客户端,不需要客户端重复的向服务端发请求查询。 具体详细说明:https://www.zhihu.com/question/20215561 (PS:写的是真的简单易懂) springboot整合Webscoket 实现websocket有多种方式:最简单的H5, sockjs以及使用STOMP协议 开发环境 JDK版本1.8 springboot版本2.1.0 开发工具:IDEA MVAEN 基于H5的websocket实现 第一步 引入依赖 在springboot2.0版本之后,官方添加了Webscoket的依赖,因此只需要在pom当中引入 <!-- 引入websocket--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId&....

springboot整合quartz实现定时任务的动态修改,启动,暂停等操作

springboot整合quartz实现定时任务的动态修改,启动,暂停等操作

什么是Quartz? 一个定时任务调度框架,简单易用,功能强大可以使实现定时任务的。 在项目开发过程当中,某些定时任务,可能在运行一段时间之后,就不需要了,或者需要修改下定时任务的执行时间等等。 需要在代码当中进行修改然后重新打包发布,很麻烦。使用Quartz来实现的话不需要重新修改代码而达到要求。 springboot整合Quartz定时调度框架 开发环境 JDK版本1.8 springboot版本:2.1.0 开发工具:IDEA 实现一个简单的定时任务 第一步 引入对应的jar 在springboot2.0后官方添加了Quartz框架的依赖,所以只需要在pom文件当中引入 <!--引入quartz定时框架--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> 第二步 创建一个定时任务 由于spr....

About ME

About ME

About ME 一个 90 后 Java 后端程序猿! 老家:四川南充 现居:成都(欢迎来找我玩呀) 爱好:爱美食,爱美剧,爱美景,爱游戏!就是不爱运动! 头发:目前还没有秃头!!! 开源项目:还在慢慢学习技术的路上,什么时候学的差不多了,有想法了,什么时候写。 交流联系方式: 联系 QQ:921244819 联系邮箱hjljy@outlook.com 也可以在下方留言

友链交换

友链交换

欢迎各位大佬进行友链交换 注意事项: ①贵站文章符合学习、技术、分享等要求; ②贵站需要和海加尔金鹰个人博客做友情链接,请先在贵站做好海加尔金鹰个人博客的链接 本站内容如下: 博客名:海加尔金鹰 博客地址:https://www.hjljy.cn 博客图片地址:https://www.hjljy.cn/favicon.png 博客介绍:如野草般一岁一枯荣 联系方式: QQ号:921244819 邮箱:hjljy@outlook.com

一个菜鸟程序员的踩坑日记