随笔分类 -  Java

摘要:基于SpringBoot ,自定义注解清除缓存 1、pom.xml 添加依赖 <!-- 开发自定义注解的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-ao 阅读全文
posted @ 2020-01-09 15:34 逆水行舟,平原走马 阅读(3485) 评论(0) 推荐(0)
摘要:根据数据结构,List 可以分为 数组 和 链表 两种 类型( ArrayList 和 LinkedList ) ArrayList 适合 集合元素的只读操作 LinkedList 适合 集合元素的增减操作 由于,一般操作都只是查询遍历较多,查找指定位置的元素,LinkedList 比 ArrayL 阅读全文
posted @ 2019-12-27 15:23 逆水行舟,平原走马 阅读(165) 评论(0) 推荐(0)
摘要:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 使用场景: 1、客户端不需要知道系统 阅读全文
posted @ 2019-10-21 17:29 逆水行舟,平原走马 阅读(184) 评论(0) 推荐(0)
摘要:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。 这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 举个例子 食街新开了一家奶茶店,店长需要考虑怎么加工制作奶茶比较好。奶茶有多种(原味、烧仙草、焦糖),在这基础上可以加的材料也有多种 阅读全文
posted @ 2019-10-17 11:00 逆水行舟,平原走马 阅读(139) 评论(0) 推荐(0)
摘要:组合模式(Composite Pattern),又叫部分整体模式,属于结构型模式,是用于把一组相似的对象当作一个单一的对象。 组合模式其实需要解决的问题是:能让客户以一致的方法来处理个别对象以及对象组合的。 简单理解就是:组合模式解决的问题是我们可以忽略对象组合与个体对象之间的差别的。 参考: 组合 阅读全文
posted @ 2019-10-16 18:06 逆水行舟,平原走马 阅读(157) 评论(0) 推荐(0)
摘要:这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。 这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 举例: 场景:中国移动有很多营销活动,而参加这些营销活动的对象是有要求的,有的需要判断在网时长,有的需要有最低套餐要求等。 实现:制定不同的规 阅读全文
posted @ 2019-10-15 10:58 逆水行舟,平原走马 阅读(377) 评论(0) 推荐(0)
摘要:桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 简单点说,就是处理 包含 与 被包含 两部分的解耦关系(“包含”说得也不是很准确,暂时想不到合适的词,就先用这个词),就像 手机和手机 阅读全文
posted @ 2019-10-15 10:35 逆水行舟,平原走马 阅读(183) 评论(0) 推荐(0)
摘要:关于JDK是否收费,我也有过疑问,查了一些资料,就在这里做一个简要的说明。 首先要明白JDK的发布模型。两年多以前,2017年9月21日,伴随着JDK9的发布,JDK就开启了新的发布模式(如下图所示)。JDK分为OracleJDK、OpenJDK。 OpenJDK OpenJDK的lience是GP 阅读全文
posted @ 2019-10-11 10:51 逆水行舟,平原走马 阅读(15419) 评论(1) 推荐(1)
摘要:在日常软件系统开发中,某些对象的创建new即为复杂,而且我们需要使用多个相同的实例。这样如果我们依旧使用new去进行创建。就会增加系统的复杂度和增加代码之间的耦合度。但是我们使用前面介绍的工厂模式的话,随着产品类型的增多,子类也会随之增多。维护代码的难度也就会越来越大,所以这里暂时不适合使用工厂模式 阅读全文
posted @ 2019-10-07 16:17 逆水行舟,平原走马 阅读(179) 评论(0) 推荐(0)
摘要:抽象工厂模式 在工厂模式的基础上,加了 “产品族”的概念,较复杂点。 举例(下面例子中鼠标,键盘,耳麦为产品,惠普,戴尔为工厂) 抽象工厂模式也就是不仅生产鼠标,同时生产键盘。 也就是 PC 厂商是个父类,有生产鼠标,生产键盘两个接口。 戴尔工厂,惠普工厂继承它,可以分别生产戴尔鼠标+戴尔键盘,和惠 阅读全文
posted @ 2019-10-07 15:00 逆水行舟,平原走马 阅读(188) 评论(0) 推荐(0)
摘要:工厂模式是简单工厂模式的进一步改进,主要是增加了 抽象工厂类那部分。 共同学习,共同进步,若有补充,欢迎指出,谢谢! 阅读全文
posted @ 2019-10-07 14:53 逆水行舟,平原走马 阅读(107) 评论(0) 推荐(0)
摘要:对于Java开发,现在Spring已成为一种生态,使用Spring成为一种享受,Spring的使用让开发变得更加便捷。 而Spring好用归好用,若不清楚里面的工作原理,使用的时候难免会踩到一些坑。 问题描述 在这里就说一下 注解的使用 ,相信有不少人遇到下面类似的问题: “ @Autowired 阅读全文
posted @ 2019-09-20 11:54 逆水行舟,平原走马 阅读(2479) 评论(0) 推荐(0)
摘要:遵循正确的设计原则,能在一定程度上保证程序、软件架构的整体质量,从而具备高可靠性、高稳定性。 而经过开发的漫漫长路,广集大智慧,程序猿们已经总结出了程序乃至架构开发的一些设计原则,并得到了广泛的认可。 只有站在巨人的肩膀上,才能走能更远。掌握这些原则,则是一个优秀的程序员的必经之路。 SOLID 原 阅读全文
posted @ 2019-09-18 13:04 逆水行舟,平原走马 阅读(665) 评论(0) 推荐(0)
摘要:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 其实质是由一个工厂类 阅读全文
posted @ 2019-09-18 09:46 逆水行舟,平原走马 阅读(233) 评论(0) 推荐(0)
摘要:Redis是一个高性能的key-value数据库,它的出现很大程度补偿了memcached这类key-value存储的不足。虽然它是一个数据库系统,但本身支持MQ功能,完全可以当做一个轻量级的队列服务器使用。 不过,Redis只是提供一个高性能的、原子操作内存键值队,具有高速访问能力,虽可用做消息队 阅读全文
posted @ 2019-09-17 21:50 逆水行舟,平原走马 阅读(15524) 评论(1) 推荐(1)
摘要:SpringMVC 和 SpringBoot 都是基于Spring的,两者推出的时间相差不大,只不过是SpringMVC推出早点。 关于两者,最近看到一个比较通俗的讲法: Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC 阅读全文
posted @ 2019-09-16 23:11 逆水行舟,平原走马 阅读(1451) 评论(0) 推荐(0)
摘要:今天写一个前后端交互的websocket , 本来写着挺顺利的,但测试的时候蒙了,前端websocket发的连接请求竟然连接不上 返回状态Status 报了个404 ,然后看后台onError方法也没触发 只是报了下面几条警告信息 WARN o.s.web.servlet.PageNotFound 阅读全文
posted @ 2019-09-10 14:25 逆水行舟,平原走马 阅读(11555) 评论(4) 推荐(0)
摘要://创建XMLHttpRequest()对象 var request = new XMLHttpRequest(); ...... 今天写一个ajax , 明明是有结果返回的,但得到的request.status却一直都是0 ,而 request.responseText也一直都为空,很纳闷! 后来 阅读全文
posted @ 2019-09-09 17:27 逆水行舟,平原走马 阅读(4031) 评论(0) 推荐(0)
摘要:前段时间,在搞Netty TCP 通信,踩了一些坑,今天就在这篇总结一下 Netty通信失败原因 Netty TCP 通信失败的可能原因: 1、服务端或客户端,其中一端没有正常启动 2、是否在正确的位置上监听对应的路径( 如:在哪里设置、启动监听、实例化,这些都会有影响 ) 3、两者是否连接成功,是 阅读全文
posted @ 2019-09-09 10:59 逆水行舟,平原走马 阅读(1260) 评论(0) 推荐(0)
摘要:今天 在 run 一个 project 的时候,没启动成功,报了 “错误: 找不到或无法加载主类” 的提示 一般 跑个project ,编译没问题的话,都会输出运行的一些信息,但这次只是报了这样一行错误 “错误: 找不到或无法加载主类” ,应该是编译出现了问题 不过前几天都还能运行得好好,今天出现了 阅读全文
posted @ 2019-09-09 10:15 逆水行舟,平原走马 阅读(17702) 评论(3) 推荐(1)