首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Johnson木木
掘友等级
Java工程师 [公众号:码上天]
猿
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
16
文章 14
沸点 2
赞
16
返回
|
搜索文章
最新
热门
Java并发编程实战 05等待-通知机制和活跃性问题
在Java并发编程实战 04死锁了怎么办中,讲到了使用一次性申请所有资源来避免死锁的发生,但是代码中却是使用不断的循环去获取锁资源。如果获取锁资源耗时短、且并发冲突量不大的时候,这个方式还是挺合适的。 如果获取所以资源耗时长且并发冲突量很大的时候,可能会循环上千上万次,这就太消…
Java并发编程实战 04死锁了怎么办?
若账户A转账给账户B100元,账户B同时也转账给账户A100元,当账户A转帐的线程A执行到了代码(1)处时,获取到了账户A对象的锁,同时账户B转账的线程B也执行到了代码(1)处时,获取到了账户B对象的锁。当线程A和线程B执行到了代码(2)处时,他们都在互相等待对方释放锁来获取,…
Java并发编程实战 03互斥锁 解决原子性问题
在上一篇文章02Java如何解决可见性和有序性问题当中,我们解决了可见性和有序性的问题,那么还有一个原子性问题咱们还没解决。在第一篇文章01并发编程的Bug源头当中,讲到了把一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性,那么原子性的问题该如何解决。 同一时刻…
Java并发编程实战 02Java如何解决可见性和有序性问题
在上一篇文章当中,讲到了CPU缓存导致可见性、线程切换导致了原子性、编译优化导致了有序性问题。那么这篇文章就先解决其中的可见性和有序性问题,引出了今天的主角:Java内存模型(面试并发的时候会经常考核到) 现在知道了CPU缓存导致可见性、编译优化导致了有序性问题,那么最简单的方…
Java并发编程实战 01并发编程的Bug源头
编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步。 一个线程对共享变量的修改,另外一个线程能够立即看到,那么就称为可见性。 上述过程就是线程A修改变量V后,对线程B不可见,那么就称为可见性问题。 Java并发程序都是…
优雅的使用BeanUtils对List集合的操作
我们在Entity、Bo、Vo层数据间可能经常转换数据,Entity对应的是持久层数据结构(一般是数据库表的映射模型)、Bo对应的是业务层操作的数据结构、Vo就是Controller和客户端交互的数据结构。在这些数据结构之间很大一部分属性都可能会相同,我们在使用的时候会不断的重…
SpringBoot上传文件到七牛云
可以看到我的七牛云上传配置中有domain这项配置,这个配置是七牛云buket的存储域名,在内容管理下,主要用于上传文件成功后把文件访问路径返还回去。 但是这个域名是限时30天使用的,所以你最好绑定一个新的域名。 因为上传配置可能会有本地上传和云上传或者其他上传的,所以该配置类…
Spring之跨重定向请求传递数据
摘要在开发场景中,大部分数据都是使用请求转发(forward)进行传递,而使用重定向(redirect)传递数据可能比较少。那么问题来了:请求中的数据生命周期存活时间只在一个请求转发(request)
Java核心技术第八章-泛型
本文根据《Java核心技术 卷一》一书的第八章总结而成,部分文章摘抄书内,作为个人笔记。 文章不会过于深入,望读者参考便好。 泛型程序设计(Generic programming) 意味着编写的代码可以被很多不同类型的对象所重用。 利用类型参数的信息,我们就可以在添加数据的时候…
一看就懂的快速排序
快速排序属于交换排序,主要步骤是使用基准元素进行比较,把小于基准元素的移动到一边,大于基准元素的移动到另一边。从而把数组分成两部分,然后再从这两部分中选取出基准元素,重复上面的步骤。过程如下: 这种思路叫做分治法。 基准元素的选取可随机选取。下面使用中我会使用第一位的元素作为基…
下一页
个人成就
文章被点赞
82
文章被阅读
31,552
掘力值
973
关注了
8
关注者
13
收藏集
1
关注标签
6
加入于
2019-11-16