- 博客(13)
- 收藏
- 关注
原创 Java虚拟机学习之Java内存模型
我们都站在巨人的肩膀上概述内存模型:可以理解为在特定的操作协议下,对特定的内存或者或者缓存进行读写访问的过程抽象。这类协议有:MSI/MESI/MOSI/Synapse/Firefly以及Dragon/Protocol等Java内存模型Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java在各种平台下都能达到一致的内存访问效果。主内存和工作内存
2017-07-27 09:33:10 439
原创 Java学习之HashMap
我们都站在巨人的肩膀上1.HashMap源码public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{ // 默认的初始容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //
2017-03-08 17:12:25 206
原创 Java学习之LinkedList
我们都站在巨人的肩膀上1.LinkedList 源码:public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{ // transient修饰的字段将不进行序列化,该变量内容在序列化后无法
2017-03-06 18:19:55 163
原创 Java学习之ArrayList
我们都站在巨人的肩膀上1.ArrayList源码:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ private static final long serialVersionUID = 8
2017-03-06 14:41:49 173
原创 Java学习之容器
我们都站在巨人的肩膀上参考:http://www.cnblogs.com/forestwolf/p/5645179.html1.容器概述容器,就是可以容纳其他Java对象的对象。Java容器里只能放对象,对于基本类型(int, long, float, double等),需要将其包装成对象类型后(Integer, Long, Float, Double等)才能放到容器里。优点:降低编程难度提高程
2017-03-06 11:06:39 292
原创 Java学习之序列化
我们都站在巨人的肩膀上1.序列化:以特定的方式对类实例的瞬时状态进行编码保存的一种操作。将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。将数据分解成字节流,以便存储在文件中或在网络上传输。2.反序列化:打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。3.序列化特点:如果某个类能够被序列化,其子类
2017-03-03 17:53:49 196
原创 Java学习之访问修饰符
我们都站在巨人的肩膀上我们所写的正常属性修饰符有public、private、protected。这些相信大家都不陌生,近几天和同事讨论,在普通的类中属性不写以上修饰符,那么访问权限是什么?是默认的friendly访问权限,不存在该关键字。friendly与protected有什么区别呢?protected 的访问权限在同包,子类也可继承。friendly 则在子类中是不可继承。以下是示例pr
2017-03-02 14:28:16 225
原创 Java学习之RMI
我们都站在巨人的肩膀上全称:Remote Method Invocation组成:远程服务的接口定义远程服务接口的具体实现桩(Stud)和框架(Skeleton)文件一个运行远程服务的服务器一个RMI命名服务,它允许客户端去发现这个远程服务类文件的提供者(一个http或者ftp服务器)一个需要这个远程服务的客户端示意图:步骤:1. 生成一个远程接口2. 实现远程对象(服务器端程
2017-02-28 17:54:37 199
原创 Java学习之泛型E、T、K、V等的含义
我们都站在巨人的肩膀上在集合使用中,我们会接触到泛型,正确的使用泛型是必要的,以下就介绍常用泛型:E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型) ? - 表示不确定的java类型
2017-02-28 17:46:46 200
原创 Java学习之Integer封装与拆箱
我们都站在巨人的肩膀上Integer自动封装的陷进示例:public static void main(String[] args) { Integer a=1000,b=1000; Integer c=100,d=100; System.out.println(a==b);//false System.out.println(c==d);//true }以上两个
2017-02-28 17:39:56 369
原创 Spring源码学习之AOP
我们都站在巨人的肩膀上声明:参考《spring源码深度解析》1.Spring AOP主要采用动态代理实现,而动态代理分为两种:JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行时期创建一个接口的实现类来完成对目标对象的代理。CGLIB代理:实现原理类似于JDK动态代理,只是他在运行期间生产的代理对象是针对目标类扩展的子类。CGLIB是高效的代码生成包,底层依靠ASM操作字节码实现,性
2017-02-27 16:13:35 319
原创 Java学习之jdk与cglib动态代理
声明:参考部分博客做记录1.jdk动态代理实现接口:public interface UserService { String getName();}接口实现:public class UserServiceImpl implements UserService { public String getName() { System.out.println("----
2017-02-23 17:32:58 240
原创 Spring源码学习之容器的功能扩展
Spring源码学习之容器的功能扩展声明:参考《Spring源码深度解析》Application和BeanFactory区别:Application提供了更多的扩展功能,简单来说,就是:Application包含了BeanFactory的所有功能。1.Application和BeanFactory加载方式BeanFactory bf = new XmlBeanFactory(new ClassPat
2017-02-22 16:27:50 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人