- 博客(70)
- 收藏
- 关注
原创 强缓存和协商缓存
强缓存就是本地缓存。浏览器请求资源后,会把不常更改的资源,比如图片、CSS文件,存到本地缓存。那么下次请求的时候,浏览器会首先获取header信息,根据Cache-Control和expires判断本地缓存是否过期。没过期就直接从缓存中取,过期了就再向服务器请求资源再缓存。expires是相对时间,就是可以人为改。Cache-Control是绝对时间,优先级更高。
2024-03-11 10:17:53
439
原创 ArrayList源码
1.ArrayList创建时,是一个容量为10的数组2.扩容1.5倍,速度最快3.直接在数组末尾添加元素,所以有序、可重复4.查询时直接通过下标,所以快5.增删时需要自己复制自己,所以慢6.转数组其实是复制到新数组返回。
2024-02-28 11:49:14
434
原创 InnoDB的锁
自增锁是一种特殊的(table-level lock),专门针对事务插入的列。最简单的情况,如果一个事务正在往表中插入记录,所有其他事务的插入必须等待,以便第一个事务插入的行,。
2023-12-04 16:17:39
118
原创 力扣7.整数反转
因为题目要求判断反转后的整数有没有溢出,又要求不许存long型的数。自己写的像屎山,虽然能通过,但多了很多不必要的代码。again,我写的真像屎,常回来看看!
2023-12-04 13:56:08
181
原创 力扣6.N字形变换
模拟轨迹,每当行数i到最顶(0),或者最底(numRows)的时候,就会反方向走。用flag来标记方向,在题解里看到,真的很巧妙5555!
2023-12-01 14:22:17
125
原创 新手村之SQL——分组与子查询
在使用时, HAVING 子句经常与 GROUP BY 联合使用,HAVING 子句就是对分组统计函数进行过滤的子句。GROUP BY 函数就是 SQL 中用来实现分组的函数,其用于结合聚合函数,能根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。筛选出同一国家的教师平均年龄大于所有教师平均年龄的国家,并获取这些国家的所有教师信息。本题将从教师表中查询到的美国教师作为内联表,再使用 WHERE 子句进行查询操作。1.先选出教师平均年龄大于所有教师平均年龄的国家。
2023-11-30 19:34:59
599
原创 力扣5.最长回文子串
1.能够反复利用已判断好的回文子串2.当子串s[i+1,j-1]是回文子串时,只要s[i]==s[j],那么s[i,j]也会是回文子串3.用好动态规划,具体解释在代码注释里。
2023-11-30 10:19:51
91
原创 新手村之SQL——函数&多表联结
IFNULL() 函数也用于判断字段是否为NULL,但是与 ISNULL() 不同的是它接收两个参数,第一个参数 column_name 为列名,第二个参数 value 相当于备用值。EXTRACT() 函数用于返回日期/时间的单独部分,如 YEAR (年)、MONTH (月)、DAY (日)、HOUR (小时)、MINUTE (分钟)、 SECOND (秒)。在使用 NOW() 和 CURTIME() 时,如果要精确的秒以后的时间的话,可以在()中加数字,加多少,就表示精确到秒后多少位。
2023-11-29 15:23:29
211
原创 新手村之SQL——增删改查&条件查询
当我们需要查询单个表条件过多时,就会用多个 ‘OR’ 连接或者嵌套,这会比较麻烦,现在我们有 ‘IN’ 能更方便的解决这一问题。2.在指定列中插入数据——INSERT。1.查询不同行——DISTINCT。DISTINCT 关键字需位于列名。5.过滤不满足条件的数据——NOT。7.查询空数据——IS NULL。3.更新数据——UPDATE。4.删除数据——DELETE。8.模糊查询——LIKE。6.查询多条件——IN。使用NOT IN排除。
2023-11-28 15:17:39
309
原创 多态的理解
举例:现实中,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现。java作为面向对象的语言,同样可以描述一个事物的多种形态。如student类继承了person类,一个student对象既是student,又是person多态体现为父类引用变量可以指向子类对象。定义格式:父类类型 变量名=new 子类类型();多态的理解:1.多态是同一个行为具有多个不同表现形式或形态的能力2.多态就是一个接口,使用不同的实例而执行不同的操作。
2023-07-05 21:40:08
179
原创 IO多路复用
1.IO多路复用是一种同步IO模型,一个线程可以监视多个文件句柄(文件句柄:就是给一个文件、设备、套接字或管道的一个名字,以便记住正在处理的名字,隐藏缓存等的复杂性。2.一旦某个文件句柄就绪,就能通知应用程序进行相应的读写操作3.没有文件句柄就绪就会阻塞应用程序,交出CPU多路是指网络连接,复用是指同一个线程。服务器采用单线程通过select/poll/epoll等系统调用获取fd列表,遍历有事件的fd进行accept/recv/send,使其能支持更多的并发连接请求。
2023-07-04 21:33:33
476
原创 【6.23】equals和hashCode重写
1.类中没有重写equals方法,比较的是地址值是否相等2.如果类中重写了equals方法,如String、Date、File类都重写了Object类里的equals方法。
2023-06-23 15:19:20
69
原创 Object类的常用方法
6.notify():随机选择一个在该对象上调用wait方法的线程,解除其阻塞状态。该方法只能在同步方法或同步块内部调用。同步方法和同步代码块:就是在方法或代码块前加上synchronized关键字,使其一次只能有一个线程进入,其它线程等待。7.notifyAll():解除所有在该对象上调用wait方法的线程的阻塞状态。只能在同步方法或同步块内部调用。3.equals():比较对象是否相等,比较的是值和地址,子类可以重写。5.toString():如果没有重写,将打印对象的地址值。只能在同步方法中调用。
2023-06-22 22:18:19
639
原创 【6.20】sleep()和wait()的区别
当某个线程获取到锁后,却还是不满足执行的条件,就可以调用对象锁的wait方法,进入等待状态。直到外在条件满足了,就可以由其它线程调用notify或者notifyAll方法,来唤醒这个线程。
2023-06-20 22:29:43
373
原创 selenium模块中的find_element_by_id方法无法使用
selenium模块中的find_element_by_id方法无法使用
2023-03-03 14:58:00
753
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人