![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机
文章平均质量分 77
北冥有瑜
这个作者很懒,什么都没留下…
展开
-
设计模式
设计模式观察者模式二级目录三级目录观察者模式要点:观察者模式定义了对象之间一对多的关系。主题(subject,可观察者)用一个共同的接口来实现observer(观察者)。主题subject和观察者observer之间用松耦合方式结合,subject不知道observer的细节,只知道观察者实现了观察者接口。使用观察者模式时,你可以被观察者推(push)或拉(pull)数据。有多个观察者时,不可以依赖特定的通知次序。Java有多种观察者模式的实现,包括了通用的java.util.Observ原创 2021-05-17 00:05:26 · 59 阅读 · 0 评论 -
锁底层实现及锁膨胀
Java锁底层实现及锁膨胀背景堆内存java内存模型缓存Synchronized原理Synchronized锁升级过程锁优化锁消除锁粗化二级目录三级目录背景堆内存jvm中,对象在内存中的布局分为三块:对象头:存储对象的哈市Code或锁信息,对象类型数据的指针和数组的长度等。实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐。填充数据:由于虚拟机要求对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐。原创 2021-05-13 20:43:09 · 72 阅读 · 0 评论 -
Head First 设计模式
Head First 设计模式设计原理二级目录三级目录设计原理找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化对代码混在一起。针对接口编程,而不是针对实现编程。多用组合,少用继承二级目录三级目录...原创 2021-04-16 12:39:58 · 80 阅读 · 0 评论 -
NIO编程
NIO编程1、流1.1、 java.io下的字符流和字节流1.1.1、字符流1.1.2、字节流1.2、装饰器模式2、Socket2.1、通过Socket发送数据2.2、通过Socket读取数据3、BIO模型4、NIO模型5、NIO多人聊天室1、流1.1、 java.io下的字符流和字节流1.1.1、字符流字符流更加的方便我们使用,一般字符都是由多个字节来形成的,若我们使用字节流传输,则还需要我们自己将其转换为字符,若我们直接使用字符流的话,这样就能直接读取与输出字符。1.1.2、字节流字节原创 2021-04-05 14:14:37 · 113 阅读 · 1 评论 -
智力题
智力题排序问题1、100G 数据,只有 100M 内存,怎么排序?大数据处理问题智力题排序问题1、100G 数据,只有 100M 内存,怎么排序?思路:使用多路归并排序100G 数据,按照 100M 内存拆分,然后排序有序的数据,然后写入到 file1,file2…file100。多路归并:每次取出当前所有文件中的最小值,存入最终的大文件中。第一回合:从 file1,file2,file3……file100.取出第一个数。及最小的。所有的初始指针都是第一行。 min1=min(min1=min原创 2021-03-29 18:46:48 · 533 阅读 · 0 评论 -
高频算法
高频算法215. 数组中的第K个最大元素思路:使用堆,建立一个K个元素的小顶堆,当元素比堆顶元素大时,入堆,否则不入堆。最后弹出堆顶元素即为第K个最大的元素。import java.util.PriorityQueue;public class Solution { public int findKthLargest(int[] nums, int k) { int len = nums.length; // 使用一个含有 k 个元素的最小堆原创 2021-03-24 21:19:31 · 630 阅读 · 0 评论 -
ThreadLocal
ThreadLocalThreadLocal简介ThreadLocal原理ThreadLocal特性ThreadLocal简介ThreadLocal类主要解决的就是让每个线程绑定自己的值,可以将ThreadLocal类形象的比喻成存放数据的盒子,盒子中可以存储每个线程的私有数据。如果你创建了一个TheadLocal变量,那么访问这个变量的每个线程都会有这个变量的本地副本。他们可以使用get()和se()方法来获取默认值或将其值更改为当前线程所存的副本的值,从而避免了线程的安全问题。ThreadLoc原创 2020-12-04 11:14:22 · 74 阅读 · 0 评论 -
代码简洁之道
代码简洁之道clean code命名规范函数注释格式错误处理类并发编程clean code神在细节之处。命名规范函数函数应该做一件事。做好这件事,只做这一件事。注释别给糟糕的代码加注释----重新写吧。格式错误处理使用异常而非返回码先写Try-Catch-Finally语句依调用者需要定义异常类别返回null值类类应该短小并发编程对象是过程的抽象,线程是调度的抽象。基础定义:...原创 2020-10-10 11:28:28 · 112 阅读 · 0 评论