• 全部
  • 正则表达式 5
  • 设计模式38
  • Halo1
  • Linux5
  • Java37
  • Android51
  • Mac3
  • 算法31
  • Flutter8
  • 写作5
  • Java

    synchronized 与 Lock锁

    synchronized 与 Lock锁 lock是synchronized的升级版 wait 时记得使用while判断,以免虚假唤醒 其中lock需要手动释放 lock的等待唤醒对应 await(),single() lock可以设置公平锁 可以拥有多个condition去await和single

  • Java

    线程状态

    线程状态 public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread.

  • Java

    线程池的使用

    线程池的使用 线程并发时加锁,一般需要锁住被修改的变量 线程池使用案列: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,

  • Java

    多线程注意点

    多线程注意点 Thread.sleep() 1.不对释放对象锁 2.线程异常时抛中断异常 Thread.yield() 1.重新调度CPU,CPU有一半的概率还是调度自己 Thread.join() 自己线程执行了其他线程的join方法,让join的线程先走 setPriority()设置优先级,默

  • Java

    多线程之实现Calladle接口

    多线程之实现Calladle接口 需要使用线程池,ExecutorService的submit执行 public class CallableClient implements Callable<Boolean> { private String name; private Str

  • Java

    GC回收机制

    GC回收机制 1.引用计数法 当堆里面的对象被引用了,这计数器+1,引用失效了则-1,扫描Eden Space中的对象,干掉引用等于0的对象 缺点:需要维护计数器 JVM一般使用可达性分析算法判断是否可以被回收 可达性分析算法:GC Root 的对象为起点,从这些节点向下搜索,类似就是遍历树,没有在

  • Java

    OOM

    OOM public static void main(String[] args) { long mix = Runtime.getRuntime().maxMemory(); long total = Runtime.getRuntime().totalMemor

  • Java

    类实例的过程

    类实例的过程 双亲委托机制,类被类加载器加载初始化时,一步一步向上委托寻找,在一级一级往乡下找 sun.misc.Launcher$AppClassLoader@73d16e93 应用本身编译的class文件 sun.misc.Launcher$ExtClassLoader@15db9742 \jr

  • Java

    JVM

    JVM JVM运行在操作系统之上 Jvm的结构体系 沙箱安全机制 堆:存放正在的对象 栈:存放对象地址,8个基本数据结构,实例方法,通过栈帧存着 方法区:存放 static,final,Class,常量池,被线程共享,属于堆 native Method: 声明了一些c++,c的一些方法,通过本地方法

  • Java

    类的加载

    类的加载 1.加载 当程序引用到类时,会把class文件加载到内存中 2.链接, 为static变量赋默认的初始值 讲常量放入常量池 3.初始化 合并静态代码块与静态变量赋值语句 调用静态代码块里面的内容 注意:引用常量不会进行初始化步骤 public class Client { publ

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 2023-08-13

    建站天数

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 首页
  • 关于我
  • 控制面板
请您轻一点,我是很昂贵的机器人哦! O.O