首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
三不猴子
掘友等级
java工程师
|
太美医疗
我是一名一线互联网程序员,欢迎关注我的公众号 sanbuhouzi(三不猴子)
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
97
文章 90
沸点 7
赞
97
返回
|
搜索文章
最新
热门
线程安全-可见性
通过加入内存屏障和禁止重拍讯优化来实现可见性。 对volatile变量进行读操作时,会在读操作前加入一条load屏障指令,从主内存中读取共享变量。 我们多次运行个这段代码,发现结果并不是我们预期5000,volatile只能保证可见性并不能保证原子性。 所以volatile非常…
线程安全性-原子性
原子性:提供了互斥访问,同一时刻只能有一个线程来对他进行操作。 可见性:一个线程对主内存的修改可以及时被其他线程观察到。 有序性:一个线程观察其他线程中的指令顺序,由于指令重排序的存在,该结果一般杂乱无序。 AtomicXXX 是通过 CAS(CompareAndSwap)来保…
java8 内置函数(api)总结
Predicates是包含一个参数的布尔值接口。其包括一些缺省方法,组合他们使用可以实现复杂的业务逻辑(如:and, or, negate)。示例代码如下: Functions接口接收一个参数并产生一个结果。其缺省方法通常被用来链接多个功能一起使用 (compose, andT…
java8-谓词(predicate)
我们首先看一个例子,假设你有一个 Apple 类,它有一个getColor方法,还有一个变量inventory保存着一个Apples的列表。你可能想要选出所有的绿苹果,并返回一个列表。通常我们用筛选(filter)一词来表达这个概念。在Java 8之前,你可能会写这样一个方法 …
多线程并发-java内存模型和计算机基础
CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU。这就造成了高性能能的内存和硬盘价格及其昂贵。然而CPU的高度运算需要高速的数据。为了解决这个问题,CPU厂商在CPU中内置了少量的高速缓存以解决I\O速度和CPU运算速度之间的不匹配…
重新详尽的理解HasMap
hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的. HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射…
Java多线程-Callable和Future
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 自从Java 1.5开始,…
jvm类加载机制
Java 虚拟机将字节流转化为 Java 类的过程。这个过程可分为加载、链接以及初始化 三大步骤。 加载是指查找字节流,并且据此创建类的过程。加载需要借助类加载器,在 Java 虚拟机中,类加载 链接,是指将创建成的类合并至 Java 虚拟机中,使之能够执行的过程。链接还分验证…
MyBatis缓存介绍
一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空。 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCac…
模板方法模式
定义了一个算法的骨架。并允许子类为一个或多个步骤提供实现。 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码的重复。 提高拓展性,通过增加子类来拓展新的行为。 继承关系自身的缺点,如果父类添加新的…
下一页
个人成就
文章被点赞
361
文章被阅读
75,832
掘力值
2,384
关注了
48
关注者
685
收藏集
38
关注标签
50
加入于
2017-09-07