• 动态规划-递归到记忆化搜索

    基础DP爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 123456输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶 递归 dfs(i)表示从0爬到第i阶楼梯一共有多少种方法。最后一步可以爬1阶或者2阶,...
  • Netty实现RPC框架实战

    深入NettyByteBufNetty并未使用NIO中的ByteBuffer来作为缓冲区,而是自定义了一个ByteBuf,相比于ByteBuffer有如下区别: 写操作完成后无需filp 比ByteBuffer响应更快 动态扩容 1234567public abstract class AbstractByteBuf extends ByteBuf { ... in...
  • NIO

    同步异步同步(Synchronous):同步任务按顺序执行,一个任务完成后才开始下一个任务。调用方在等待任务完成时会被阻塞,直到任务结束并返回结果。 异步(Asynchronous):异步任务可以同时执行,不必等待前一个任务完成。调用方在任务开始后立即返回,可以继续执行其他任务,不会被阻塞。结果通常通过回调、事件或Promise等方式处理。 阻塞、非阻塞阻塞:当一个线程在等待某个条件满足(如...
  • 注解与反射

    注解标记某个被注解的东西(类, 方法等),让其他程序根据这个东西上面的注解信息来执行对他的操作 元注解 Target Retention Documented:表示注解是否被 javadoc 工具记录,默认情况下注解是不包含在 javadoc 中的。 Inherited:表示注解是否可以被继承,默认情况下注解是不会被子类继承的。 123456789101112131415161...
  • JVM

    JVM体系结构 实例 123456789101112131415161718class Dog { private String name; private static final int age = 23; public Dog(String name, int age) { //构造方法也是方法,存储在方法区 this.name = ...
  • HashMap源码分析

    HashMap源码分析虽然在学习CS61B的时候自己动手写了一个简易版的HashMap,但是跟实际的完全没有可比性,最近开始深入底层,遂记录。 初始参数123456static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static final int MAXIMUM_CAPACITY = 1 << 3...
  • JUC并发编程

    JUC并发编程进程一个程序,wechat.exe。每个进程都有自己独立的一块内存空间 线程进程中的一个执行任务,同类的多个线程共享进程的堆区和方法区,每个线程有独立的PC,虚拟机栈和本地方法栈 java是不能开启线程的,Thread的start()方法通过调用本地方法private native void start0();来启动线程。 1thread.join();//主线程等待threa...
  • Redis

    RedisLinux下登录Redis1redis-cli -h 127.0.0.1 -p 6379 -a YourPassword --raw //raw显示原数据 使用Docker启动redis12345678docker run -d \ --name redis \ -p 6379:6379 \ -v /docker/redis/conf/redis.conf:/etc/red...
  • HTTP总结

    HTTP基本概念一个完整的HTTP请求长什么样子?123456789101112131415+---------------------------------------------------------------+| 请求行 (Request Line) ||-----------------------...
  • Lambda表达式和String类的compareTo方法

    Lambda表达式可以将Lambda表达式理解为一个匿名函数; Lambda表达式允许将一个函数作为另外一个函数的参数; 我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码作为实参),也可以理解为函数式编程,将一个函数作为参数进行传递。 实例 12345678910111213public class TestLambda { public static ...
12345