NIO 同步异步同步(Synchronous):同步任务按顺序执行,一个任务完成后才开始下一个任务。调用方在等待任务完成时会被阻塞,直到任务结束并返回结果。 异步(Asynchronous):异步任务可以同时执行,不必等待前一个任务完成。调用方在任务开始后立即返回,可以继续执行其他任务,不会被阻塞。结果通常通过回调、事件或Promise等方式处理。 阻塞、非阻塞阻塞:当一个线程在等待某个条件满足(如I 2024-07-01 NIO #NIO
注解与反射 注解标记某个被注解的东西(类, 方法等),让其他程序根据这个东西上面的注解信息来执行对他的操作 元注解 Target Retention Documented:表示注解是否被 javadoc 工具记录,默认情况下注解是不包含在 javadoc 中的。 Inherited:表示注解是否可以被继承,默认情况下注解是不会被子类继承的。 123456789101112131415161718 2024-06-28 Java #Java进阶
JVM JVM体系结构 实例 123456789101112131415161718class Dog { private String name; private static final int age = 23; public Dog(String name, int age) { //构造方法也是方法,存储在方法区 this.name = nam 2024-06-26 Java #JVM
HashMap源码分析 HashMap源码分析虽然在学习CS61B的时候自己动手写了一个简易版的HashMap,但是跟实际的完全没有可比性,最近开始深入底层,遂记录。 初始参数123456static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static final int MAXIMUM_CAPACITY = 1 << 30;s 2024-06-22 Java #源码分析
JUC并发编程 JUC并发编程进程一个程序,wechat.exe。每个进程都有自己独立的一块内存空间 线程进程中的一个执行任务,同类的多个线程共享进程的堆区和方法区,每个线程有独立的PC,虚拟机栈和本地方法栈 java是不能开启线程的,Thread的start()方法通过调用本地方法private native void start0();来启动线程。 1thread.join();//主线程等待thread这个 2024-06-20 并发编程 #JUC
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/redis/ 2024-06-17 数据库 #Redis
HTTP总结 HTTP基本概念一个完整的HTTP请求长什么样子?123456789101112131415+---------------------------------------------------------------+| 请求行 (Request Line) ||-------------------------- 2024-05-16 计算机网络 #HTTP
Lambda表达式和String类的compareTo方法 Lambda表达式可以将Lambda表达式理解为一个匿名函数; Lambda表达式允许将一个函数作为另外一个函数的参数; 我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码作为实参),也可以理解为函数式编程,将一个函数作为参数进行传递。 实例 12345678910111213public class TestLambda { public static voi 2024-05-16 Java #Java基础
equals和==的区别 基本数据类型和引用数据类型基本数据类型 double(8), long(8), int(4Byte), float(4),short(2),char(2),byte(1), boolean() 引用数据类型 类, 接口, 数组 equals和==的区别== 比较值是否相等 作用于基本数据类型的变量,则直接比较其存储的值是否相等 作用于引用类型的变量,则 2024-05-12 Java #Java
树的子结构 题目描述 123456789101112131415161718192021222324252627282930/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN 2024-05-11 算法 #递归