摘要:
阅读目录 为什么要克隆?如何实现克隆浅克隆和深克隆解决多层克隆问题总结 阅读目录 为什么要克隆?如何实现克隆浅克隆和深克隆解决多层克隆问题总结 为什么要克隆?如何实现克隆浅克隆和深克隆解决多层克隆问题总结 假如说你想复制一个简单变量。很简单: 不仅仅是int类型,其它七种原始数据类型(boolean 阅读全文
随笔分类 - Java
java中静态代码块的用法 static用法详解
2017-07-16 17:26 by GarfieldEr007, 5094 阅读, 收藏,
摘要:
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类 阅读全文
Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
2017-07-16 13:17 by GarfieldEr007, 505 阅读, 收藏,
摘要:
阅读目录 构造函数构造代码块静态代码块Java类初始化顺序 阅读目录 构造函数构造代码块静态代码块Java类初始化顺序 构造函数构造代码块静态代码块Java类初始化顺序 静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级 阅读全文
Hive SQL的编译过程
2017-07-07 22:40 by GarfieldEr007, 966 阅读, 收藏,
摘要:
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区 阅读全文
Hive JDBC——深入浅出学Hive
2017-07-07 22:37 by GarfieldEr007, 308 阅读, 收藏,
摘要:
第一部分:搭建Hive JDBC开发环境 搭建:Steps •新建工程hiveTest •导入Hive依赖的包 •Hive 命令行启动Thrift服务 •hive --service hiveserver & 第二部分:基本操作对象的介绍 Connection •说明:与Hive连接的Connect 阅读全文
Hive安装与配置——深入浅出学Hive
2017-07-07 22:35 by GarfieldEr007, 283 阅读, 收藏,
摘要:
第一部分:软件准备与环境规划 Hadoop环境介绍 •Hadoop安装路径 •/home/test/Desktop/hadoop-1.0.0/ •Hadoop 元数据存放目录 •/home/test/data/core/namenode •Hadoop 数据存放路径 •/home/test/data 阅读全文
ConcurrentHashMap源码剖析
2017-07-07 22:13 by GarfieldEr007, 186 阅读, 收藏,
摘要:
原文出处: 我爱物联网 ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Strip 阅读全文
ConcurrentHashMap总结
2017-07-07 22:12 by GarfieldEr007, 2452 阅读, 收藏,
摘要:
原文出处: Hosee 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点 阅读全文
探索 ConcurrentHashMap 高并发性的实现机制
2017-07-07 22:11 by GarfieldEr007, 231 阅读, 收藏,
摘要:
简介 ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。 由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅 阅读全文
Java并发编程:并发容器之ConcurrentHashMap
2017-07-07 22:10 by GarfieldEr007, 225 阅读, 收藏,
摘要:
下面这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了 阅读全文
ConcurrentHashMap 的实现原理
2017-07-07 22:09 by GarfieldEr007, 360 阅读, 收藏,
摘要:
概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fast)。在 阅读全文
聊聊并发(四)——深入分析ConcurrentHashMap
2017-07-07 22:08 by GarfieldEr007, 219 阅读, 收藏,
摘要:
线程不安全的HashMap 因为多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap,如以下代码 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下H 阅读全文
Java 集合细节(二):asList 的缺陷
2017-06-26 23:22 by GarfieldEr007, 320 阅读, 收藏,
摘要:
在实际开发过程中我们经常使用 asList 讲数组转换为 List,这个方法使用起来非常方便,但是 asList 方法存在几个缺陷: 一、避免使用基本数据类型数组转换为列表 使用 8 个基本类型数组转换为列表时会存在一个比较有味的缺陷。先看如下程序: 程序的运行结果并没有像我们预期的那样是 5 而是 阅读全文
将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)
2017-06-26 23:21 by GarfieldEr007, 19968 阅读, 收藏,
摘要:
方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> asset 阅读全文
java中 列表,集合,数组之间的转换
2017-06-26 23:21 by GarfieldEr007, 11306 阅读, 收藏,
摘要:
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据类型都可以添加 List是有序的队列,可以用重复的元素;而Set是数学概念中的集合,不能有重复的元素 阅读全文
把Java数组转换为List时的注意事项
2017-06-26 23:20 by GarfieldEr007, 345 阅读, 收藏,
摘要:
本文由 ImportNew - 飘扬叶 翻译自 mlangc。欢迎加入翻译小组。转载请见文末要求。 不幸的是并不是每件事都尽如人意。举个例子,现在将一个Java数组转换为List。当然,我们可以使用Arrays.asList方法,但是如果没有慎重思考就随便使用几乎肯定会产生令人讨厌的意外。考虑完下面 阅读全文
深入学习 FutureTask
2017-06-25 22:51 by GarfieldEr007, 242 阅读, 收藏,
摘要:
原文出处: 天凉好个秋 第一部分:What 在Java中一般通过继承Thread类或者实现Runnable接口这两种方式来创建多线程,但是这两种方式都有个缺陷,就是不能在执行完成后获取执行的结果,因此Java 1.5之后提供了Callable和Future接口,通过它们就可以在任务执行完毕之后得到任 阅读全文
如何实现一个Java Class 解析器
2017-06-25 22:46 by GarfieldEr007, 1347 阅读, 收藏,
摘要:
原文出处: tinylcy 最近在写一个私人项目,名字叫做ClassAnalyzer,ClassAnalyzer的目的是能让我们对Java Class文件的设计与结构能够有一个深入的理解。主体框架与基本功能已经完成,还有一些细节功能日后再增加。实际上JDK已经提供了命令行工具javap来反编译Cla 阅读全文
Java语法糖初探(三)--变长参数
2017-06-23 23:10 by GarfieldEr007, 686 阅读, 收藏,
摘要:
变长参数概念 在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用。形如 function(T …args)。但是需要明确的一点是,java方法的变长参数只是语法糖,其本质上还是将变长的实际参数 varargs 包装为一 阅读全文
Java中可变长参数的使用及注意事项
2017-06-23 23:08 by GarfieldEr007, 171 阅读, 收藏,
摘要:
在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 阅读全文
浙公网安备 33010602011771号