摘要: Java IO 方式有很多种,基于不同的 IO 抽象模型和交互方式,可以进行简单区分。 传统的 java.io 包,它基于流模型实现,提供了我们最熟知的一些 IO 功能,比如 File 抽象、输入输出流等。交互方式是同步、阻塞的方式,也就是说,在读取输入流或者写入输出流时,在读、写动作完成之前,线程 阅读全文
posted @ 2018-06-01 11:27 阿坤是谁 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Java 提供了不同层面的线程安全支持。在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.synchroni 阅读全文
posted @ 2018-05-28 14:56 阿坤是谁 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Hashtable :不支持 null 键和值,线程安全 HashMap :支持 null 键和值,线程不安全。put 或者 get 操作,可以达到常数时间的性能 TreeMap :基于红黑树的一种提供顺序访问的 Map,具体顺序可以由指定的 Comparator 来决定,或者根据键的自然顺序来判断 阅读全文
posted @ 2018-05-28 13:37 阿坤是谁 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Verctor 是 Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的.Vector是基于synchronized实现的线程安全的ArrayList。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并 阅读全文
posted @ 2018-05-24 10:50 阿坤是谁 阅读(198) 评论(0) 推荐(0) 编辑
摘要: Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short、char、int、float、double、long),Java 语言虽然号称一切都是对象,但原始数据类型是例外。 Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据 阅读全文
posted @ 2018-05-23 13:11 阿坤是谁 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。 动态代理是一种方便运行时动态构建代理、动态处理代理方法调 阅读全文
posted @ 2018-05-23 10:51 阿坤是谁 阅读(116) 评论(0) 推荐(0) 编辑
摘要: String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类(不可变类),被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操 阅读全文
posted @ 2018-05-22 16:32 阿坤是谁 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么? 不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。 强引用("Strong" Reference),就是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不 阅读全文
posted @ 2018-05-13 19:37 阿坤是谁 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 单体架构的痛点: 比如传统MVC架构,所有业务子模块都集成在一个很重的JVM进程当中。这种单体架构的好处是便于管理,所有代码都在同一个项目当中。但是当产品规模越来越大,其坏处也很明显。 缺点一:项目过于臃肿 当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以维护。 缺点 阅读全文
posted @ 2018-05-11 18:07 阿坤是谁 阅读(127) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-05-10 16:10 阿坤是谁 阅读(17) 评论(0) 推荐(0) 编辑