摘要: 上节,我们介绍了Java中的标准序列化机制,我们提到,它有一些重要的限制,最重要的是不能跨语言,实践中经常使用一些替代方案,比如XML/JSON/MessagePack。 Java SDK中对这些格式的支持有限,有很多第三方的类库,提供了更为方便的支持,Jackson是其中一种,它支持多种格式,包括 阅读全文
posted @ 2020-03-23 23:46 Ivy_Xu 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 在前面几节,我们在将对象保存到文件时,使用的是DataOutputStream,从文件读入对象时,使用的是DataInputStream, 使用它们,需要逐个处理对象中的每个字段,我们提到,这种方式比较啰嗦,Java中有一种更为简单的机制,那就是序列化。 简单来说,序列化就是将对象转化为字节流,反序 阅读全文
posted @ 2020-03-23 23:18 Ivy_Xu 阅读(240) 评论(0) 推荐(0) 编辑
摘要: docker可以构建私有PaaS,k8s提供容器的编排功能。docker基于PaaS产生的,k8s基于docker产生的。可以说,它们是PaaS的衍生品。 docker用作自动化应用打包、部署,自动化测试和持续集成,构建私有PaaS PaaS核心解决代码完成后部署、运行、运维、监控一系列事情。(持续 阅读全文
posted @ 2020-03-23 22:42 Ivy_Xu 阅读(1353) 评论(0) 推荐(0) 编辑
摘要: 容器虚拟化操作系统,容器间共享同一套操作系统资源。虚拟机虚拟硬件,在其上运行一个完整操作系统。 docker定义 容器平台 自动执行重复性任务,例如搭建和配置开发环境 便于创建和使用容器,把应用放在容器 进行版本管理,复制,分享,修改 docker优势 一致的运行环境。docker镜像提供完整的运行 阅读全文
posted @ 2020-03-23 20:31 Ivy_Xu 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 总结排序算法前,先对排序算法中出现的术语进行说明。 1.术语说明 稳定与不稳定:a在b前,若a=b,排序后a一定还在b前,这就说明稳定 内外排序:基于内存排序,就是内排序 时间复杂度:算法耗费的时间 空间复杂度:耗费内存的大小 2.算法分类 下面详细介绍算法。 1.冒泡排序 这是最常见的排序。从第一 阅读全文
posted @ 2020-03-23 19:59 Ivy_Xu 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 类加载机制 class文件加载到内存 数据校验,解析,初始化 可被jvm直接使用的java类型 类加载方式: 隐式。程序运行过程中碰到new等方式生成对象,隐式调用类加载器加载对应的类到jvm 显示。利用反射,class.forname显示加载 类加载器类型: bootstrap加载器:java核心 阅读全文
posted @ 2020-03-23 16:34 Ivy_Xu 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收算法: 标记-清除算法 标记无用对象,再进行清除回收 无法清除垃圾碎片,不需要移动对象 复制算法 按容量划分2个相等的内存区域。当一块用完,将活着的对象复制到另一块上,再对当前使用区域清除 每次只使用一个区域,内存使用率不高。对于存活率高的对象频繁复制 标记-整理算法 标记无用对象,让活着的 阅读全文
posted @ 2020-03-23 16:11 Ivy_Xu 阅读(292) 评论(0) 推荐(0) 编辑
摘要: continue:跳出当层循环 break:跳出上层循环 return:结束当前方法,返回。不执行return下面的代码 标记:跳出多层循环。在循环体外定义一个标记,然后在里层循环体使用带标记的break语句 阅读全文
posted @ 2020-03-23 15:00 Ivy_Xu 阅读(2615) 评论(0) 推荐(0) 编辑
摘要: 常见的优化数据库结构方法: 字段多的表分解多个表,分库分表 中间表 适当增加冗余字段 接下来具体说下分库分表。 1、垂直分表 表的相关性拆分不同的表,表现形式一张列比较多的表拆分多张子表。 特点: 多张子表需要主键,所以主键出现冗余 这种场景使用元表中,尤有些列常用,有些列不常用 查询所有数据要jo 阅读全文
posted @ 2020-03-23 14:29 Ivy_Xu 阅读(492) 评论(0) 推荐(0) 编辑