java开发两年,你知道StringBuffer的扩容原理吗?来看看阿里大牛是怎么讲的吧
前言 在Java中,String是一个常量,一旦创建其值后不能更改但可以共享。 如果我们把多个字符串进行连接(拼接)操作,就会开辟很多空间,从而造成了大量内存空间的浪费。 为了解决这个问题,我们需要用到StringBuffer类和Strin...
前言 在Java中,String是一个常量,一旦创建其值后不能更改但可以共享。 如果我们把多个字符串进行连接(拼接)操作,就会开辟很多空间,从而造成了大量内存空间的浪费。 为了解决这个问题,我们需要用到StringBuffer类和Strin...
成员方法 类成员主要包括成员变量和成员方法。 带参数的成员方法 带参数的成员方法可以接受用户输入的内容。创建带参数的方法时定义的参数叫形式参数,即形参;调用方法时传入的参数叫实际参数,即实参。 语法结构: // 有参方法 [访问修饰符] 返...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
一、线程基础 线程概述: 线程是程序运行的基本执行单元,当操作系统执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须建立一个线程(这个线程称为主线程)来作为程序的主入口点,进程和线程是操作系统中必不可少的运行模型,在操作系统中可以...
微服务 微服务架构是单体应用的演进,由于互联网行业高速发展,应运而生的一种架构体系,它具有独立解耦、高可用、扩展性强、易部署等好处,搭配敏捷开发,使得产品的开发上线效率得到很大的提升。微服务在带来一系列好处的同时,也带来了架构的复杂性。应用...
前言 Java程序员都知道如何创建对象,不就是一个Person person = new Person()的语句就解决了么?然而,我们只知道new,却对于底层如何实现对象的创建、如何存储到内存中去、又如何被访问的知之甚少。 对象的创建 #&...
反射的定义 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 java.lang.Class:反射的源头 java.l...
前言 LinkedHashMap 内部通过双向链表来维护节点的顺序, 可以按插入先后顺序来获取节点的值。 在实现上,它是继承于HashMap的,覆写了其中的部分方法。 1. LinkedHashMap 的构造方法 构造方法基本是和HashM...
一、首先看一个简单的JVM整体运行原理 简单说,首先是”.java”代码文件编译成”.class”字节码文件,然后类加载器把”.class”字节码文件中的类加载到JVM...
转载刚哥的一篇文章深夜,聊聊架构设计,对自己很有启发。 之前写过架构设计的文章,最近一直在看《从0开始学架构》这个技术专栏,有一些自己的思考,分享给大家,如果在面试中被问及这个问题,大家就可以按照这个思路来回答。 很多读者都是移动端开发,而...
一、概述 所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件,多个事件在同一时间间隔发生。 1.并发和多线程联系 并发与多线程之间的关系就是目的与手段之间的关系。并发的反面是串行。串行好比多个车辆行驶在一股车道...