首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
就是我34578
更多收藏集
微信扫码分享
微信
新浪微博
QQ
52篇文章 · 0订阅
Java 快速进行对象集合数据比对,For循环嵌套不应该成为你的选择
说明测试耗时会因为设备性能不同而不同,以下为测试设备的硬件准备阶段创建对象模型,对象模型越复杂,越慢通过循环插入大量假数据方法一两层遍历查找,遍历次数为list1.size()*list2.size(
设计模式之黑板模式
黑板模式属于新模式。 黑板模式是观察者模式的扩展,一种常用的架构模式。黑板模式的定义如下: 允许消息的读写同时进行,广泛地交互消息。 黑板模式允许多个消息读写着同时存在,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个…
Java 8 Strem基本操作
本文提供了有关Java 8 Stream的深入概述。当我第一次读到的Stream API,我感到很困惑,因为它听起来类似Java I/O的InputStream,OutputStream。但Java 8 Stream是完全不同的东西。Streams是Monads,因此在为Jav…
Basic Of Concurrency(四:线程安全)
共享资源能够被多个线程访问且不会形成竟态条件即为线程安全的代码。所以分清哪些资源为共享资源,对于区分代码是否为线程安全至关重要。 局部变量基础数据类型仅会存储在线程栈中,供本线程使用,所以局部变量基础数据类型是线程安全的。 虽然引用类型本身不会被共享,但引用类型指向的对象是存储…
Java并发6:阻塞队列,Fork/Join框架
阻塞队列是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法: 阻塞队列常用于生产者消费者的场景。其中生产者是向队列添加元素的线程,消费者是从队列取出元素的线程,阻塞队列是存放和获取元素的容器。 ArrayBlockingQueue 是一个用数组实现的有界的,…
MySQL InnoDB存储引擎:行锁的3种算法
Record Lock总是会锁住索引记录,如果InnoDB存储引擎建立的时候没有设置任何一个索引,这时InnoDB存储引擎会使用隐式的主键来进行锁定。 Next-Key Lock是结合了Gap Lock和Record Lock的一种锁定算法,在Next-Key Lock算法下,…
Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下。 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。 synchroniz…
并发、并行傻傻分不清楚?线程的一生都经历些什么?
人生一切难题,知识给你答案。 并发是指在某个时间段内,多任务交替处理的能力。并行是指同时处理多任务的能力。 线程是CPU调度和分配的基本单位。线程可以拥有自己的操作栈、程序计数器、局部变量表等资源,它与同一进程内的其他线程共享该进程的所有资源。 推荐使用第二种方式,因为继承Th…
线程的缓存何时刷新?
曾经有遇到过这样一个问题,有一个共享变量keepRunning=true,线程A中执行while (keepRunning);,线程B中执行keepRunning = false;,在main函数中同时开启A,B线程,然后会发现程序会一直运行且不会退出。说白了这其实就是一个典型…
JAVA基础之代码简洁之道
软件质量,不但依赖于架构及项目管理,更与代码质量紧密相关。简洁高效的代码不但易于阅读,更能避免潜在BUG与风险,提高代码质量。近期,一位Oracle程序员在Hacker News上吐槽自己的工作,引起了热议。 这个工程师的核心痛点是,Oracle经历长期的产品线迭代,代码异常庞…