使用ArrayList和HashMap遇到的一些问题(持续更新) 使用ArrayList和HashMap遇到的一些问题(持续更新) ArrayList和HashMap是日常开发中最常用的数据结构,当我们不了解它们时,我们并不知道使用它们需要注意哪些问题,也不知道为什么会造成一些奇怪的问题,影响到程序运行的性能。在这里将记录下实际开发中遇到的相关问题,并深入源码进行分析。 使用的机器配置 名称 属性 处理器 Intel® Core™ i7-107 2022-08-14 笔记 #Java #数据结构
MC Forge模组开发环境搭建 MC Forge模组开发环境搭建 很多人在玩过MC的模组之后,都会产生自己开发Mod的欲望,但是在MC的模组在国内的教程大多数仍然停留在1.12之前的版本,而且有一些API作了一些修改,文档更新不及时,看着文档进行开发也需要花许多时间去摸索,因此就想在此总结记录一下模组开发的思路。 环境准备 学习Java的成本相对于C++要低一些,不需要太过于担心内存管理的问题,所以采用Minecraft J 2022-08-06 笔记 #教程 #Minecraft
Minecraft mod开发 Minecraft mod开发 开发之前,可以在idea上安装minecraft开发插件,支持一键创建项目。 Forge 历史悠久,支持大多数版本,较为重量级,api较多,有大量的教程和mod可参考,但是其mcp组件版权不开放,更新速度较慢,且开发人员阻碍启动器自动下载forge,文档对中文支持不好,安装方便,被广泛支持,即使在服务器使用也有sponge可安装插件。 Forge官方文档翻译版本: 2022-02-17 笔记 #教程 #Minecraft
Java IO之路 Java IO之路 学习Netty之前,先回顾一下Java的IO,从BIO到NIO,再到1.7版本的AIO。IO是由操作系统支持的API,比如在Linux环境下使用的BIO是通过recvfrom实现的,下面回顾一下相关的知识。 同步、异步、阻塞和非阻塞 在回顾IO之前,先来复习一下这些概念,区分同步、异步、阻塞和非阻塞能够更好地理解不同种类的IO。首先来看看什么是同步和异步,同步与异步最根本的 2021-08-29 笔记 #Java #Netty
HTTP是如何工作的? HTTP是如何工作的? 上一次对计算机网络基础的分层模型与几个基础协议,现在来看看HTTP作为应用层协议是如何工作的? HTTP协议 HTTP是基于TCP的应用最广泛的一种网络协议,它是基于请求/响应模式的协议,并且默认端口是80。HTTP具有GET、POST、PUT、DELETE、OPTION等方法,每种方法与服务器交互的类型不同,现在常见的RESTful风格API正是运用了这些方法来达到同 2021-08-27 笔记 #计算机网络
计算机网络基础 计算机网络基础 近期迷上了一本书《Netty4核心原理与手写RPC框架实战》,在这本书的第一部分介绍了网络的一些相关知识,非常基础,但是这些知识确实学习Netty框架的重要根基。下面对第一部分的学习进行输出。 网络分层模型 OSI模型 记得当初学习计算机网络课程的时候,首先介绍的就是网络的分层模型,接着从底层往上介绍,每一层介绍其对应的一些协议是怎么样的?有什么作用?特点是什么?OSI参考模型 2021-08-24 笔记 #计算机网络
合并区间 合并区间 题目内容:给出一组区间,请合并所有重叠的区间。请保证合并后的区间按区间起点升序排列。很好理解,就是将给定区间中相交的区间进行合并,并且按照起点进行升序排列。 例子: 输入:[[10,30],[20,60],[80,100],[150,180]] 返回值:[[10,60],[80,100],[150,180]] 在做之前我们先思考一下,需要合并区间的情况有多少种(待扩张区间:我们将选中 2021-08-19 练习 #算法
分布式系统需要了解的概念 分布式系统需要了解的概念 互联网高速发展,大数据、AI成为时代的热门话题,智慧应用、云计算成为主流,分布式理论必须扎实,在这些理论的基础上学习和使用框架进行开发可以避免很多问题。 CAP理论 一致性、可用性、分区容灾性是分布式系统的三大问题,CAP理论在一个分布式系统中最多只能满足两项,即CA、CP或AP。 C:一致性,保证更新操作后,所有节点中的数据保持一致。 A:可用性,服务是可用的,和平 2021-08-10 笔记 #分布式系统
Java动态代理 Java动态代理 代理模式,目前应用广泛的一种设计模式之一,最熟悉的莫过于在Spring的AOP了,如此重要的设计模式,在Java中如何使用呢?又是怎么实现的呢?接下来将围绕着这两个问题来进行实验解析。 首先是如何使用?在使用它的动态代理之前,先实现一个简单的静态代理。创建两个类,分别是Person和PersonProxy,并让这两个类都实现Walkable接口,然后我们通过PersonProxy 2021-08-07 基础 #Java #代理
数据结构——链表 数据结构——链表 继上一章的数组后,介绍第二个线性结构链表,链表相对于数组来说,优于增删,数组优于查。下面就来看看这个链表的链在何处? 链式结构(链表),数组不好的地方在于它需要先申请一个固定大小的空间,没有动态性,在Java的数据结构中ArrayList实现了可变长的数组,实际上就是当长度不够的时候重新申请一块原空间1.5倍大小的新空间,再把当前的元素全部拷贝过去。链式结构在这里进行了改进, 2021-03-08 数据结构与算法 #数据结构