![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 64
natsuiroginga
这个作者很懒,什么都没留下…
展开
-
消息队列简介
消息队列是一种进程间通信或同一进程的不同线程间的通信方式。消息队列是消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。原创 2023-06-06 09:36:29 · 698 阅读 · 0 评论 -
快慢指针(Fast-slow Pointers)
解题思路:快慢指针,如果有环,快指针(fast)一定会追上慢指针(slow)。所以, 如果链表有环, 快指针一定会追上慢指针, 二者相遇。题目描述:给定一个单向链表的头指针,判断链表中是否有环。原创 2023-03-03 09:51:53 · 2534 阅读 · 0 评论 -
NIO中Selector, Channel和Buffer的关系
数据的读写通过buffer, 这个和BIO不同, BIO中要么是输入流, 要么是输出流, 不能双向, 但是NIO的buffer是可以读也可以写, 需要flip方法转换.channel是双向的, 可以反应底层操作系统的情况, 比如linux, 底层的操作系统通道就是双向的。selector对应一个线程, 一个channel连接多个线程。selector根据不同的事件,在各个通道上转换。buffer就是一个内存块, 底层是一个数组。程序切换到哪个channel是由事件决定的。, 底层的操作系统通道就是双向的。原创 2022-10-02 10:43:19 · 378 阅读 · 0 评论 -
设计模式之工厂模式
:优点:缺点::优点:用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程;在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则。缺点::优点:当一个产品族中的多个对象被设计在一起工作时,它能保证客户端始终只使用同一个产品族中的对象。当产品族中需要增加一个新的产品的话,所有的工厂类都需要进行修改。...原创 2022-06-15 14:51:56 · 67 阅读 · 0 评论 -
设计模式之单例模式
:优点: 这种写法比较简单,就是在类装载的时候完成实例化。避免了线程同步问题。缺点:在类装载的时候就完成实例化,没有达到lazy loading的效果。如果从始至终从未使用过这个实例,则会造成内存的浪费。结论:这种单例模式可用,可能造成内存浪费。:这种方式和上面的方式其实类似,只不过将类实例化的过程放到了静态代码块中,也是在类装载的时候,就执行静态代码块中的代码,初始化类的实例,优缺点和上面一样。结论:这种单例模式可用,但是可能会造成内存浪费。:起到了lazy loading的效果,但是只能在单线程下使原创 2022-06-14 20:14:33 · 62 阅读 · 0 评论 -
设计模式七大原则
对类来说, 即一个类型只应该负责一项职责.降低类的复杂度, 一个类只负责一项职责提高类的可读性, 可维护性降低变更引起的风险通常情况下, 应该遵守单一职责原则, 只有逻辑足够简单, 才可以在代码级违反单一职责原则, 只有类中方法数量足够少, 可以在方法级别保持单一职责原则.客户端不应该依赖它不需要的接口, 即一个类对另一个类的依赖应该建立在最小的接口上.高层模块不应该依赖底层模块, 二者都应该依赖其抽象抽象不应该依赖细节, 细节应该依赖抽象依赖倒转的中心思想是面向接口编程设计理念: 相对于细节的多变性, 抽原创 2022-06-13 19:28:26 · 99 阅读 · 0 评论