- 博客(72)
- 收藏
- 关注
原创 线程中断的一些理解
理解:线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。api:上面列出了与中断有关的几个方法及其行为,可以看到interrupt是中断线程。如果不了解Java的中断机制,这样的一种解释极容易造成误解,认为调用了线程的interrupt
2021-10-11 19:40:11
149
原创 动态规划_之_子序列问题
最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。解:设置子序列的问题==》十有八九是动态规划明确dp数组
2021-09-28 11:27:49
155
原创 Redis_3
目录标题分布式锁?背景:SETNX命令返回值使用SETNX实现分布式锁执行步骤死锁问题解决死锁Redis缓存雪崩和穿透?缓存击穿问题:背景:解决方法:缓存雪崩问题:Redis 与 MySQL双写一致性如何保证?一致性问题**三个经典的缓存模式**①Cache-Aside Pattern**旁路缓存模式**②Read-Through/Write-Through:读写穿透③Write-behind :异步缓存写入**操作缓存的时候,到底是删除缓存呢,还是更新缓存?****双写的情况下,先操作数据库还是先操作缓存
2021-09-23 21:24:11
108
原创 Redis_2
目录标题为什么Redis使用单线程模型而不是用多线程呢?IO多路服用模型?hash冲突怎么办?Redis如何实现持久化?down机了如何恢复数据?RDB:AOF:两者比较?混合持久化?Redis主从架构?哨兵模式?Cluster原理?参考微信公众号:码哥字节为什么Redis使用单线程模型而不是用多线程呢?首先,如果使用多线程的话必然会涉及到切换上下文,这种切换是十分耗费时间的。同时,引入多线程,对共享资源的并发读写都要进行一些保护,增加了实现的复杂度。其次,Redis是基于内存的数据库(相比较于传统
2021-09-23 20:46:23
130
原创 Redis_1
目录标题Redis为什么快?Redis数据类型和其底层的数据结构底层数据结构基本数据类型StringListSethashZset三大特殊数据类型geospatialHyperloglogBitmaps参考微信公众号:码哥字节。Redis为什么快?有多快:redis根据官方文档所说,Redis 的 QPS 可以达到约 100000(每秒请求数)。1.基于内存实现:Redis 是基于内存的数据库,跟磁盘数据库相比,完全吊打磁盘的速度。不论读写操作都是在内存上完成的,我们分别对比下内存操作与磁盘操作的
2021-09-23 20:10:39
121
原创 Callable、Future和FutureTask
目录标题Callable、Future和FutureTaskCallable与RunnableFuture实例:FutureTask示例Callable、Future和FutureTask原文:https://www.cnblogs.com/dolphin0520/p/3949310.htmlCallable与Runnable先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:public interface Runnable { publi
2021-09-23 15:32:44
185
原创 java中的进程与线程
目录标题进程和线程概念问题:Java中如何创建线程1.继承Thread类2.实现Runnable接口Java中如何创建进程ProcessBuilderRuntime进程和线程原文:http://www.cnblogs.com/dolphin0520/p/3913517.html概念问题:进程是java程序的一次动态执行过程,是系统运行程序的基本单位线程是比进程更小的进行单位,一个进程在执行的过程中可以产生多个线程。并且同类的线程共享方法区和堆,因此系统在产生一个线程或者在多个线程之间切换的时候,
2021-09-23 12:57:04
152
原创 static关键字
static关键字出处:http://www.cnblogs.com/dolphin0520/作者:Matrix海子static关键字的用途static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。简而言之:方便在没有创建对象的情况下来进行调用(方法/变量)。1)static方法static方法一般称作静态方法,由于静态方法不依赖于任何对象
2021-09-23 12:20:45
74
原创 java内部类
目录标题内部类成员内部类局部内部类匿名内部类实例1:不使用匿名内部类来实现抽象方法实例2:匿名内部类的基本实现实例3:在接口上使用匿名内部类实例4:Thread类的匿名内部类实现实例5:Runnable接口的匿名内部类实现静态内部类为什么成员内部类可以无条件访问外部类的成员?为什么局部内部类和匿名内部类只能访问局部final变量?内部类使用场景内部类参考:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html https://
2021-09-23 12:13:02
79
原创 final关键字
详细说说finnal关键字出处:http://www.cnblogs.com/dolphin0520/作者:Matrix海子在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。1.修饰类当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。2.修饰方法:以防任何继承类修改
2021-09-23 12:11:48
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人