- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 JDK1.8常用数据结构
一篇文章整理一下java常用数据结构 > 常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap导言接口CollectionList 扩展自 CollectionSetQueueMapVectorStackListAbstractList 实现了List的部分接口 ,如果除了在末尾外不能在其他位置插入或者删除元素,那么ArrayList效率更高,如果需要经常插入或者删除元素,就
2021-03-09 23:51:17 252
原创 从slab到slob再到slub
为了准备冲刺秋招、提前批准备从今天开始每天更新一些技术,一部分可能来自粘贴,但是都保证看过一遍内存管理函数是 kmalloc 和 kfree 函数。这两个函数的原型如下:void *kmalloc( size_t size, int flags );void kfree( const void *objp );kmalloc 和kfree 使用了类似于前面定义的函数的 slab 缓存。kmalloc没有为要从中分配对象的某个 slab 缓存命名,而是循环遍历可用缓存来查找可以满足大小限制的缓存。找
2021-03-09 21:37:17 318
原创 对所有对象都通用的方法-----EffectiveJava
对所有对象都通用的方法Object是一个具体类equals/hashCode/toString/clone/finalize都有明确的通用约定,因为是被设计成要覆盖掉的。finalize 方法见上一篇文章这里还会讨论Comparable, compareTo10.覆盖equals时遵守通用约定如果没有覆盖,就默认每个类的实例都是不同的如果超类已经覆盖了equals方法,就不用再,Set、List、Map继承了AbstractSet。。。类私有的,equals永远不会被调用的情况下,就不用
2021-02-05 00:14:25 87
原创 java创建和销毁对象-----(Effective Java)
创建和销毁对象何时创建,如何避免创建,如何保证销毁,如何管理必要的清理动作用静态工厂代替构造器public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE;}静态工厂方法并不直接对应设计模式的工厂方法优势静态工厂可以返回有名称的类,可以区分静态工厂可以使用预先构建好的实例,缓存起来,还可重复利用,比如Boolean.valueOf(boolean),还可以多次返回重复对象,保证享
2021-02-04 21:11:07 122
原创 AIO Proactor和 NIO Reactor
NIO AIONIO 同步不阻塞AIO 异步不阻塞概念I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。都是IO复用下的事件驱动模型{ 作者:wuxinliulei 链接:https://www.zhihu.com/questi
2021-01-31 15:03:13 118
原创 redis-conf详解及常用配置
Redis配置文件样例Note on units: when memory size is needed, it is possible to specifiyit in the usual form of 1k 5GB 4M and so forth:1k => 1000 bytes1kb => 1024 bytes1m => 1000000 bytes1mb => 1024*1024 bytes1g => 1000000000 bytes1gb =>
2021-01-31 14:39:38 200
原创 NIO零拷贝
零拷贝 mmap 和 sendFile零拷贝是服务器网络编程的关键,任何性能优化都离不开。在 Java 程序员的世界,常用的零拷贝有 mmap 和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?本文将简单聊聊 mmap 和 sendFile 这两个零拷贝。File file = new File("index.html");RandomAccessFile raf = new RandomAccessFile(file, "rw");byte[] arr = new b
2021-01-31 13:44:54 188
原创 JavaIO模型
网络编程IO模型对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,它会经历两个阶段: 1 等待数据准备 (Waiting for the data to be ready) 2 将数据从内核拷贝到进程中 (Copying the data from the kernel to the process)BIO 同步并且阻塞一个
2021-01-31 12:20:06 62
原创 Redis 主从复制
概念解决读写分离设置redis集群info replication 展示当前redis主机的信息ps -ef | grep redis临时配置但是启动之后,所有节点还是都是主节点配置从机即可认谁为主人,自己为奴隶永久配置再kconfig/redis.conf 中查找如果主机有密码配置上主机的密码即可主从复制特殊结构主节点 == > 从节点 === > 从节点当第一个主节点set k1 v1第一个从节点可以 get k1从节点的从节点也可以get
2021-01-30 12:41:33 63
原创 Redis持久化 rdb机制和aof机制
Redis 是内存数据库,必须持久化RDBRedis DataBase注意kill命令之后,不会再次产生dump.rdbaofAppend Only File重写规则aof文件如果异常无法连接启动redis默认appendonly 是no需要修改vim kconfig/redis.confappendonly yesaof文件可以使用指令自动修复aof的优点和缺点...
2021-01-30 11:15:07 67
原创 Dubbo+Zookeeper入门
Dubbo[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f4zb5xc1-1611971970399)(ZooKeeper+Dubbo.assets/1611568179075.png)]Zookeeper数据结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9bqAsGYM-1611971970401)(ZooKeeper+Dubbo.assets/1611571009950.png)][外链图片转存失败,源站可能有防盗链机制
2021-01-30 10:00:54 73
原创 分布式一致性协议
CAP原理C强一致性最终一致性AP一致性协议[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wK7lgsIF-1611971865554)(ZooKeeper+Dubbo.assets/1611483345460.png)]2PC 二阶段提交[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-untLcCzZ-1611971865556)(ZooKeeper+Dubbo.assets/1611483357790.png)]
2021-01-30 09:58:44 89
原创 Springcloud 微服务常用组件
Spring-Boot+微服务Java-web: 开发MVC三层架构网站SSM: 框架,简化开发流程,配置较为复杂 -> war包 在tomcat中和运行Spring-Boot + 微服务架构 :- jar包- 内嵌tomcat- yaml 配置- 数据库 Druid- 核心:自动装配原理- 分布式开发 : Dubbo (RPC) + zookeeper- swagger:接口文档- 任务调度:Spring-Boot- Spring-Security : Shiro
2021-01-30 09:57:06 444
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人