接触galgame之路
摘要:
接触galgame之路 终于找到一个安静且悠闲的时间,趁着还记得,记下来。虽然每当记录的时候都会担忧自己当前的状态是否能更全面客观记录以前的东西,是否会少记一些东西。这时就体现出来写作的重要性了。 此处galgame和视觉小说之类的作品大多一个意思。以剧情为主,剧情以恋爱情节为主,操作就是点点点,当
零拷贝
摘要:
零拷贝 Refs 用户缓冲区与内核缓冲区 sendfile DMA,映射,零拷贝, JavaNIO 传统IO cpu先从磁盘读取数据到内核缓冲区,然后拷贝到用户缓冲区。表现在代码中就是读取的时候先new一个buffer数组,然后读取进去。 如图,其中上下文切换和CPU拷贝是零拷贝主要优化的点。 一共
Java内部类与Lambda表达式
摘要:
Java内部类详解 详细解释内部内的一些使用规则的原因 概览 定义:在一个类的内部定义的类。它的定义位于另一个类的内部,并且可以访问外部类的成员,包括私有成员。 为什么要用 我觉得一个是为了符合OOP的封装原则,因为毕竟也可以直接把内部类函数和成员放到外面写。 另外就是既然可以写一个类,为什么要把它
JVM概要
摘要:
JVM概要 学前思考: JVM本质上是什么,是C/C++写的一个程序吗 JVM和操作系统有什么区别和联系 JVM为java程序提供哪些服务 概览 JVM由C/C++等可以和OS交互的语言编写,目的是在java程序运行时将字节码通过解释器或即时编译器转成对应平台的机器码,达到跨平台的作用。由此可以见J
Git学习
摘要:
Git学习 ref1(简洁) ref2(详细) ref3(撤销) ref4(stash) ref5(rebase) Git - Book (官方) git原理 理解原理之后亲手实践对遇到的各种问题才能更快解决。并且了解原理之后再去玩那个学习git的游戏,效果才会更好。Learn Git Branch
Java网络高并发
摘要:
Java网络并发编程 带着问题思考 如何提高集群系统的可用性 如何提高IO效率 如何提高分布式系统的数据一致性 网络高并发存在哪些问题,如何解决 负载均衡 通常有两种类型 四层负载均衡:基于IP端口进行转发。通常用LVS等技术实现 七层负载均衡:基于URL进行转发,又叫做内容负载均衡。更灵活,更细。
Java并发
摘要:
Java并发基础 并发:多个任务在同一时间段内交替执行 并行:多个任务在同一时刻同时执行 Java线程 创建方式 继承Thread和实现接口 继承Thread类并重写run,之后调用start方法启动线程,注意:调用run只是普通的方法调用,不会新开线程。例如如下匿名类继承Thread。 Threa
B,B+, 红黑树
摘要:
B, B+, 红黑树记录 都是用于加快查找的平衡树,应用场合和性质有所不同,需要理解使用他们的原因,以及他们各种奇怪的自平衡的方式。 B树 B,B+树主要用于数据库、文件系统索引。具体如何是实现? 主要长这样,一个节点存储的有多个数据和子节点索引。 b树对于每个节点中的数据和子节点索引的数量有如下限
SpringBean生命周期
摘要:
SpringBean生命周期 读源码小方法:先把所有代码块折叠,看整体,再逐步进入局部,忽略异常处理。写简单程序打断点调试。 本文主要ref 结论 生命周期主要的扩展点:实例化(doGetBean()->createBeanInstance()),注入(populate),初始化(initializ
Spring单例循环依赖分析
摘要:
Spring单例循环依赖分析 前置流程:getBean()之前,BeanDefinition已经被注册到容器中。然后是单例getBean的整体流程,以及出现循环依赖的解决方式。生命周期之类的函数不在本文范围内。文中可能有些东西解释的不准或者不对。 Reference 最初的简单疑惑 一开始看源码的一