- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 JDK1.8常用数据结构
一篇文章整理一下java常用数据结构 > 常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 导言 接口 Collection List 扩展自 Collection Set Queue Map Vector Stack List AbstractList 实现了List的部分接口 ,如果除了在末尾外不能在其他位置插入或者删除元素,那么ArrayList效率更高,如果需要经常插入或者删除元素,就
2021-03-09 23:51:17
238
原创 从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
280
原创 对所有对象都通用的方法-----EffectiveJava
对所有对象都通用的方法 Object是一个具体类 equals/hashCode/toString/clone/finalize都有明确的通用约定,因为是被设计成要覆盖掉的。 finalize 方法见上一篇文章 这里还会讨论Comparable, compareTo 10.覆盖equals时遵守通用约定 如果没有覆盖,就默认每个类的实例都是不同的 如果超类已经覆盖了equals方法,就不用再,Set、List、Map继承了AbstractSet。。。 类私有的,equals永远不会被调用的情况下,就不用
2021-02-05 00:14:25
74
原创 java创建和销毁对象-----(Effective Java)
创建和销毁对象 何时创建,如何避免创建,如何保证销毁,如何管理必要的清理动作 用静态工厂代替构造器 public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE; } 静态工厂方法并不直接对应设计模式的工厂方法 优势 静态工厂可以返回有名称的类,可以区分 静态工厂可以使用预先构建好的实例,缓存起来,还可重复利用,比如Boolean.valueOf(boolean),还可以多次返回重复对象,保证享
2021-02-04 21:11:07
92
原创 AIO Proactor和 NIO Reactor
NIO AIO NIO 同步不阻塞 AIO 异步不阻塞 概念 I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。 都是IO复用下的事件驱动模型 { 作者:wuxinliulei 链接:https://www.zhihu.com/questi
2021-01-31 15:03:13
113
原创 redis-conf详解及常用配置
Redis配置文件样例 Note on units: when memory size is needed, it is possible to specifiy it in the usual form of 1k 5GB 4M and so forth: 1k => 1000 bytes 1kb => 1024 bytes 1m => 1000000 bytes 1mb => 1024*1024 bytes 1g => 1000000000 bytes 1gb =>
2021-01-31 14:39:38
171
原创 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
174
原创 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
56
原创 Redis 主从复制
概念 解决读写分离 设置redis集群 info replication 展示当前redis主机的信息 ps -ef | grep redis 临时配置 但是启动之后,所有节点还是都是主节点 配置从机即可 认谁为主人,自己为奴隶 永久配置 再kconfig/redis.conf 中查找 如果主机有密码 配置上主机的密码即可 主从复制 特殊结构 主节点 == > 从节点 === > 从节点 当第一个主节点set k1 v1 第一个从节点可以 get k1 从节点的从节点也可以get
2021-01-30 12:41:33
54
原创 Redis持久化 rdb机制和aof机制
Redis 是内存数据库,必须持久化 RDB Redis DataBase 注意kill命令之后,不会再次产生dump.rdb aof Append Only File 重写规则 aof文件如果异常 无法连接启动redis 默认appendonly 是no 需要修改 vim kconfig/redis.conf appendonly yes aof文件可以使用指令自动修复 aof的优点和缺点 ...
2021-01-30 11:15:07
58
原创 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
62
原创 分布式一致性协议
CAP原理 C 强一致性 最终一致性 A P 一致性协议 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wK7lgsIF-1611971865554)(ZooKeeper+Dubbo.assets/1611483345460.png)] 2PC 二阶段提交 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-untLcCzZ-1611971865556)(ZooKeeper+Dubbo.assets/1611483357790.png)]
2021-01-30 09:58:44
76
原创 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
421
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人