8. JMM和底层实现原理 8.1 线程间的通信与同步 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种, 共享内存和消息传递。 在 共享内存 的并发模型里,线程之间共享程序的公共状态,线程之间通过写 读内存中的公共状态来隐式进行通信,典型的共享内存通信 ...
分类:
编程语言 时间:
2019-12-30 00:30:20
阅读次数:
106
出处: java包装类的缓存机制 java 包装类的缓存机制,是在Java 5中引入的一个有助于节省内存、提高性能的功能,只有在自动装箱时有效 Integer包装类 举个栗子: 这段代码输出的结果为true 使用自动装箱将基本类型转为封装类对象这个过程其实底层实现是调用封装类的valueOf方法: ...
分类:
编程语言 时间:
2019-12-21 15:48:09
阅读次数:
111
springIoc的底层实现原理 1.读取bean的XML配置文件 2.使用beanId查找bean配置,并获取配置文件中class地址。 3.使用Java反射技术实例化对象 4.获取属性配置,使用反射技术进行赋值 使用人家spring框架读取对象 创建实体 package com.itmayied ...
分类:
编程语言 时间:
2019-12-19 18:56:20
阅读次数:
84
想要进阶,想要提升自己一个更高档次,想要拥有更高比格的iOS开发攻城狮们,请关注 ↓↓↓ 我的简书:https://www.jianshu.com/u/3adf2f8593b8 我的掘金:https://juejin.im/user/5dd3f99c6fb9a01ffb355246 ? 欢迎大家来喷 ...
分类:
移动开发 时间:
2019-12-19 11:24:04
阅读次数:
83
1.Aop底层实现 jdk动态代理+cglib代理 jdk:需要有一个接口,代理类与被代理类是兄弟关系,都继承子一个类 cglib:不需要接口,代理类与被代理类是父子关系,被代理类是父 静态代理:只能代理某一个接口的实现类 动态代理:可以代理任意实现类 2.切面的5种通知类型 @before 目标方 ...
分类:
编程语言 时间:
2019-12-18 21:32:30
阅读次数:
79
元编程 vs 动态代理 vs isa代理 springaop的底层实现有两种,一种是jdk的动态代理,另一种是cglib,springaop没有用到aspectj,只是借鉴了它并添加了aspectj风格的注解,使用aspectj必须用到它自己特殊的编译器和运行环境的插件。 https://zhida ...
分类:
编程语言 时间:
2019-12-18 19:03:18
阅读次数:
90
第一次笔试,CVTE,岗位C/C++后台开发实习生,未通过。 笔试有22道题目,其中前20道是单选选择和多选混合,基本五五开的样子,设计的知识点从语言基础,到网络知识还有Linux相关。具体能记住的有字节对齐、TCP/IP协议、用户权限(umask),还有一些特别涉及底层实现(vmalloc和fma ...
分类:
其他好文 时间:
2019-12-18 12:27:37
阅读次数:
96
JavaScript 中的数组有很多特性:存放不同类型元素、数组长度可变等等,这与数据结构中定义的数组结构或者C++、Java等语言中的数组不太一样,那么JS数组的这些特性底层是如何实现的呢,我们打开V8引擎的源码,从中寻找到了答案。V8中对数组做了一层封装,使其有两种实现方式:快数组和慢数组,快数组底层是连续内存,通过索引直接定位,慢数组底层是哈希表,通过计算哈希值来定位。两种实现方式各有特点,有各自的使用情况,也会相互转换。
分类:
编程语言 时间:
2019-12-17 18:50:13
阅读次数:
92
@Transactional 注解 spring 底层实现管理实务原理 ...
分类:
其他好文 时间:
2019-12-16 12:53:32
阅读次数:
63
public class PriorityBlockingQueueTest { /** * 有优先级顺序的阻塞队列,底层实现是数组,无边界。默认是11. * 构造方法可以传入一个比较器,不传的话,默认是按照字典排序比较大小 * 向队列中插入元素用 add offer , put 三个方法效果是等同 ...
分类:
其他好文 时间:
2019-12-15 23:49:22
阅读次数:
115