摘要:
1 、newCahcheThreadPool : 可根据需要创建线程的线程池,如果线程没有可用了,这时候有新任务来了,就创建一个新的线程加入到线程池里。对于在线程池中超过60s未使用的线程,会回收掉资源 2、newSigleTreadPool: 创建一个单线程的线程池,也就是这个线程池中只有一个线程 阅读全文
摘要:
java 锁 ,sync locksync java的关键字,锁的是方法,lock 是个接口sync 缺点会一直等待,竞争激烈的话lock优于sync锁的种类:可重入锁 :两个方法方法以调用方法二只用加一个锁可中断 sync 不可,lock 可中断 公平锁 sync 没有锁公平性,lock 默认没有 阅读全文
摘要:
1、netty 3大特点 (1) 高并发:由于nio的特点支持高并发的请求 (2)传输快: 零拷贝,用户态之间的 buffer的逻辑聚合 (3)封装性:代码结构清晰简单 阅读全文
摘要:
对象在内存中分为三个区域:1 对象头(Header) 2 实例数据(Instance Date) 3 对齐填充(Padding) 1 对象头: 1) 存储自身运行时的数据,如Hascode ,GC 分代年龄,锁状态标记,线程持有锁,偏向线程id,偏向时间戳。数据存放在32bit 和64bit 机中分 阅读全文
摘要:
1 对类加载进行检查,之后分配内存大小(大小是在类加载的时候就确认的了)具体的分配内存的方式有两种(原因是由于不同的垃圾回收策略造成的) 1)由于使用Serial,ParNew ,带有Compact过程的收集器时对内存的处理是规整的,所以对内存分配可以使用”指针碰撞“的方式 2)使用cms这种基于m 阅读全文
摘要:
1.@classmethod 是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。 类方法的第一个参数cls,而实例方法的第一个参数是self,表示该类的一个实例。 2.普通对象方法至少需要一个self参数,代表类对象实例 3.类方法有类变量cls传入,从而可以用cls 阅读全文
摘要:
Arraylist实现是数组,Linkedlist的实现是链表,这样就能知道他们各自的优缺点 可考虑的场景: i.删除的时候 ii.查询的时候 iii.添加的时候 在这些时候我们可以考虑根据数组还是链表来讨论那个比较好: 其他 (1)对于ArrayList和LinkedList, size() is 阅读全文