Java基础面试(1)

String、StringBuffer、StringBuilder之间区别 String:不可变字符串; StringBuffer:可变字符串、效率低、线程安全; StringBuilder:可变字符序列、效率高、线程不安全; Java异常 Throwable是所有Java程序中错误处理的父类,有两


JVM2——类加载详解

类加载过程 类的生命周期 类的完整生命周期大致如下 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结构。 加载.class文件方式 从本地系统中直接加载 网


Java基础面试(2)——JVM初步了解

JVM内存区域 运行时数据区域 线程私有的: 程序计数器 虚拟机栈 本地方法栈 线程共享的: 堆 方法区 直接内存 (非运行时数据区的一部分) 程序计数器 线程私有的,每一个线程都有一个自己的计数器,可以看作是当前线程所执行的字节码的行号指示器。 记录命令执行到第几行,记录代码执行位置。 通过改变这


Spring事务的一些理解

关于事务的一些理解 事务就是逻辑上的一组操作,要么都执行,要么都不执行 拜个大神 Spring的共同创始人Juergen Hoeller,Spring事务的源码几乎都是他写的,膜拜大神。 事务的ACID 原子性:事务是最小的执行单位,不可分割;一个事务中的所有操作,要么全部完成,要么全部不完成;发生


Spring理解1

Spring Spring是什么 spring就是一个容器,Bean是基本单位,管理和应用Bean的配置和生命周期。自动创建,自动销毁。 IOC IOC:控制反转。就是把bean创建的控制权交给容器,当我们需要某个bean时不用自己new一个,容器自动创建


RSS

万物皆可RSS 为什么需要RSS订阅,有没有发现,我们每天接收的无论是朋友圈等好友分享的,还是像今日头条等聚合阅读工具里的文章,依靠推荐算法,它们总能带来「你可能感兴趣的内容」,换言之就是他推什么你看什么。想看的 ≠ 需要的 ≠ 对自己有益的,而且还会造成信息茧房,久而久之信息主动检索能力降低,形成


手写Spring——AOP

AOP 面向切面编程,将业务逻辑的各个部分进行隔离,使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性 Joinpoint(连接点)指那些被拦截到的点,在 Spring 中,可以被动态代理拦截目标类的方法。 Pointcut(切入点)指要对哪些 Joinpoint 进行拦截,即被拦截的连接点。A


RPC

RPC原理 让我们回到 RPC 最初的目的,要想实现调用远程方法像调用本地方法一样简单,至少要解决如下问题: 如何获取可用的远程服务器 如何表示数据 如何传递数据 服务端如何确定并调用目标方法 图中服务端启动时将自己的服务节点信息注册到注册


手写Spring——IOC

Spring IoC 主要是以下几个步骤。 初始化 IoC 容器。 读取配置文件。 将配置文件转换为容器识别对的数据结构(这个数据结构在Spring中叫做 BeanDefinition) 利用数据结构依次实例化相应的对象 注入对象之间的依赖关系 BeanFactory工厂类接口 public int


Git基本命令

新建仓库 git init 克隆仓库 git clone [url] directoryname 检查当前文件状态 git status 添加提交 三部分: 工作目录:有实际文件 暂存区:缓冲区域,临时保存改动 HEAD:指向最后一次提交结果 添加暂存区 git add filename git a