- 博客(29)
- 收藏
- 关注
原创 第3讲 谈谈final、finally、 finalize有什么不同?
垃圾回收主要根据可达性分析,判断一个对象是否可以被回收,当一个对象被判定为从GC ROOT不可达,也并非一定被回收。第一次标记:该对象从GC ROOT不可达(或者说不存在GC ROOT引用链)第二次标记:就会判断该对象是否实现或者被调用 finalize 方法。
2024-01-28 13:31:31
777
原创 CompletableFuture
不同的是 handle 是在任务完成后再执行,还可以处理异常的任务。thenCombine 会把 两个 CompletionStage 的任务都执行完成后,把两个任务的结果一块交给 thenCombine 来处理。两个CompletionStage,谁执行返回的结果快,我就用那个CompletionStage的结果进行下一步的转化操作。两个CompletionStage,谁执行返回的结果快,我就用那个CompletionStage的结果进行下一步的消耗操作。接收任务的处理结果,并消费处理,无返回结果。
2023-12-17 14:20:14
817
原创 BlockingQueue
如果可以在不超过队列容量的情况下立即插入指定的元素,成功后返回true,如果队列已满则抛出IllegalStateException,则在此队列的末尾插入指定的元素。这个函数比较有意思,是把当前队列中的元素复制到一个新数组中,并不是队列的容量大小,而是队列的真实元素个数。其实,我们知道,其实阻塞队列是基于条件队列实现的, 当 数组存储满的时候, notFull.await。clear 其实就是一种 出队列,因此,将 notFull 阻塞队列的元素唤醒。如果队列未满,则插入,如果已满,则返回 false。
2023-12-17 14:19:43
345
原创 AtomicIntegerArray
首先获取 index = i 的offestSet;然后根据array 找到对应偏移量的数值,作为expectValue。
2023-12-17 14:18:28
363
原创 AtomicInteger
每个 AtomicInteger 对象中都包含了 整数 value, 所以,该类利用 valueOffset 表示当前 value 在对象中内存首地址的偏移量。
2023-12-17 14:17:52
358
原创 AbstractQueuedSynchronizer
其实我们发现,每次创建阻塞节点 都不会改变 结点的 waitStatus, 只有在判断当前是否要插入阻塞队列的时候,也就是 调用的时候,会修改 waitStatus, 并且修改的是 前一个结点的 waitStatus, 这也是为什么 如果当前结点 waitStatus == Node.SIGNAL 的时候,说明有后置结点需要被唤醒。记住,只会改变前置结点只会改变前置结点只会改变前置结点当然除了, 还有会修改 结点的 waitStatus。
2023-12-17 14:17:19
361
1
原创 LockSupport
可以实现类似的功能,但是并不和交叉,也就是说unpark不会对wait起作用,notify也不会对park起作用。的使用不会出现死锁的情况blocker的作用是在dump线程的时候看到阻塞对象的信息并且在park 的时候出现中断,也不会抛出异常问题1: 还有一个地方需要注意,相对于线程的的先后顺序并不是那么严格。如果顺序反了,会出现死锁现象。而却不会。这又是为什么呢?还是看一个例子(为什么不会出现死锁)
2023-12-17 14:16:01
364
1
原创 WeakHashMap
基于哈希表的Map接口实现,具有弱键。当WeakHashMap中的一个条目的键不再正常使用时,它将自动被删除。更准确地说,给定键的映射的存在不会阻止该键被垃圾收集器丢弃,也就是说,使其可完成、完成,然后再回收。当一个键被丢弃时,它的条目将有效地从映射中删除,因此这个类的行为与其他映射实现略有不同。WeakHashMap正是由于使用的是弱引用,因此它的对象可能被随时回收。更直观的说,当使用 WeakHashMap 时,即使没有删除任何元素,它的尺寸、get方法也可能不一样。
2023-08-13 09:41:41
120
1
原创 ThreadLocal
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SyXNECV6-1691832575541)(\java_source_imgs/threadlocal_img.jpg)]
2023-08-12 17:29:55
71
1
原创 BlockingQueue
如果可以在不超过队列容量的情况下立即插入指定的元素,成功后返回true,如果队列已满则抛出IllegalStateException,则在此队列的末尾插入指定的元素。这个函数比较有意思,是把当前队列中的元素复制到一个新数组中,并不是队列的容量大小,而是队列的真实元素个数。其实,我们知道,其实阻塞队列是基于条件队列实现的, 当 数组存储满的时候, notFull.await。clear 其实就是一种 出队列,因此,将 notFull 阻塞队列的元素唤醒。如果队列未满,则插入,如果已满,则返回 false。
2023-08-12 17:29:25
93
1
原创 HashMap
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrZxJTzR-1691832408829)(java_source_imgs\1.png)]
2023-08-12 17:27:13
92
1
翻译 true、false、null 是不是关键字
转载: java 常见问题Question: In java, are true and false keywords?Answer:true, false, and null might seem like keywords, but they are actually literals. You cannot use them as identifiers in your progra...
2019-07-05 09:33:15
2237
转载 spring-boot JDBC 链接失败
spring-boot JDBC 链接失败com.mysql.cj.jdbc.Driver or com.mysql.jdbc.DriverLoading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is auto...
2019-07-04 10:36:01
473
转载 Spring Boot 访问templates下的html文件出现404或者500的错误
Spring Boot 访问templates下的html文件出现404或者500的错误转载: Spring Boot 访问templates下的html文件出现404或者500的错误可能就是依赖没有正常导入,需重新导入...
2019-06-24 15:36:09
3952
原创 常用app
常用app1-文本编辑TyporaVisual2-pythonpycharm3-javaidea4-网页制作Mocking(墨刀)5-window 链接ubuntuWinSCP(传送文件)SecureCRT (远程登陆)PuTTY(远程登陆)6- Node 和 VueWebStorm7-链接 mongodbRobo 3...
2019-04-24 10:36:25
233
转载 Warning:java: 目标值1.5已过时, 将在未来所有发行版中删除
详情:https://blog.csdn.net/duchao123duchao/article/details/71480106也可以通过修改 other settings 设置 默认 jdk打开File -->other settings点击 Settings for New Projects点击Structure for New Projects...
2019-04-06 22:28:46
4119
原创 Nginx 和 pm2
nginx 前端配置, /etc/nginx/nginx.conf 只需要在 http中添加 server,文件中的其他内容无须修改http { // http 中包含 多个 serverserver {listen 8100; // 监视端口server_name localhost; #charset koi8-r; #access_log /var/l...
2019-02-21 20:11:15
589
原创 Eclipse 如何自动提示编程
添加提示26英文字母导出提示文件选择Preferences – Next保存为文本格式导入文件选择Preferences–Next选择刚才保存的文件, 点击finish 即可
2019-02-19 10:25:26
464
原创 selenium 爬虫学习心得
find_element_by_ 和 find_elements_by_ 的区别详情:https://blog.csdn.net/weixin_42256585/article/details/82876858find_element()只会查找页面符合条件的第一个节点,并返回;但是定位不到元素则会报错。find_elements()查找多个元素并且返回一个列表,列表里的元素全是...
2018-12-09 15:13:51
602
原创 Ubuntu mongodb: not authorized for query on db.system.indexs(db.system.namespaces)
mongodb 日志文件默认存放位置(可以查看数据库表默认存放位置以及修改端口号):/var/log/mongodb/mongodb.logmongoDB之用户及权限设置和用户管理https://www.cnblogs.com/henuadtc/p/3814928.html若想查看test数据库的 collections ,需要先 use admin ----- auth ...
2018-12-09 11:52:50
1134
转载 window 10如何快速的安装MongoDb
***window 10如何快速的安装MongoDb ***内容来源:https://blog.csdn.net/qq_20084101/article/details/82261195作者的这篇安装过程很详细,但是我又一点点补充的地方:就是以管理员身份执行下面命令:mongod --dbpath=“E:\MongoDB\data”需要手动关闭命令提示窗口,再重新打开命令窗口输入:...
2018-11-20 15:55:59
132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人