原题地址:https://leetcode.cn/problems/interval-list-intersections/
题解每次用area1和area2两个指针维护当前区间,若area1和area2有交集,则有
交集左边界必然是area1和...
原题地址:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/
题解思路源自官方题解
开一个selled数组,selled[n]表示第n天卖出时的最高成交价
用一个min记录下遍...
原题链接:https://leetcode.cn/problems/count-subarrays-with-median-k/
题解基本思路:对于求中位数而言,我们可以先将比k大的数字转换成1,比k小的数字转换成-1;k转换成0,此时当子数组的中...
悲观锁
悲观锁总是假设最坏的情况,即:共享资源只要被多线程访问就必定会出问题,因此保证同一时间永远只有一个线程在操作该资源
悲观锁适用于写操作较多的情况下
对于悲观锁而言,只有当前线程使用完毕并释放了该资源,该资源才会被转让给其他线程
在Java...
原题链接:https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/
题解方法1:双指针左指针和右指针从数组两边开始遍历当和小于target时左指针++,反之右指针–
1234567...
原题链接:https://leetcode.cn/problems/rotate-array/
题解方法1:写一个循环右移索引的函数,让pos不断右移k位,每次移位和begin交换位置,直到pos回归到begin为止
这种情况会有遍历不完全的情况,...
创建线程
在一个Java程序中创建线程有如下几种方式:
继承Thread类
123456class MyThread extends Thread { @Override public void run() { ...
注解注解概念
注解(Annotation)是在JDK1.5加入的特性,是一种特殊的注释,和注释不同的是,在编译时注解会被一同编译进Class文件中,并且可以由其他类通过反射来调用Class对象的注解内容。简单地说:注解是一种可以被其他类读取的标注
无...
JVM中对象的构造过程new的过程
当我们首次调用一个类时(调用静态方法也好、实例化对象也好),JVM经过了以下几个步骤
加载JVM检查该类的Class对象是否已经被加载,如果Class对象已被加载,则在运行时常量池中通过对应的符号引用获取Class...
代理模式
代理模式是一种设计模式,旨在不干涉原核心代码的基础上对原代码的功能进行增强。通常分为动态代理的静态代理两种实现。其中Spring AOP主要就是基于动态代理实现的切面功能。
动态代理(Dynamic Proxy)提供了一个实现方式,使得我们...