随笔分类 -  java

摘要:转自:http://www.cnblogs.com/dolphin0520/p/3920373.html Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结 阅读全文
posted @ 2017-12-19 15:12 一弦一仙 阅读(143) 评论(0) 推荐(0)
摘要:转自美团电瓶技术团队:原文地址 简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示: 下面针对各个实现类的特点做一些说明: (1) Hash 阅读全文
posted @ 2017-12-13 08:36 一弦一仙 阅读(220) 评论(0) 推荐(0)
摘要:原文地址:http://www.cnblogs.com/dolphin0520/p/3920397.html 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用 阅读全文
posted @ 2017-11-16 10:12 一弦一仙 阅读(368) 评论(0) 推荐(0)
摘要:基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 阅读全文
posted @ 2017-11-16 10:11 一弦一仙 阅读(551) 评论(0) 推荐(0)
摘要:转自:http://www.jianshu.com/p/7ebbe102c1ae Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。 java虚拟机运行时数据区 一、程序计数器 程序计数器可以看做是当前线程所执行的字节码的行号指示器。在JVM的概念模型里,字节码解释 阅读全文
posted @ 2017-11-13 09:10 一弦一仙 阅读(561) 评论(0) 推荐(0)
摘要:原文地址:https://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以 阅读全文
posted @ 2017-11-10 08:44 一弦一仙 阅读(147) 评论(0) 推荐(0)
摘要:原文地址:http://www.importnew.com/17616.html 动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python 阅读全文
posted @ 2017-11-07 09:55 一弦一仙 阅读(280) 评论(0) 推荐(0)
摘要:原文地址:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 定义了一个List类型的集合,先向其中加入了两个字符串类型的值,随后加入一个Integer类型的值。这是完全允许 阅读全文
posted @ 2017-11-07 09:15 一弦一仙 阅读(203) 评论(0) 推荐(0)
摘要:1、ThreadPoolExecutor的重要参数 2、线程池队列的选择 wordQueue任务队列,用于转移和阻塞提交了的任务,即任务队列是运行线程的,任务队列根据corePoolSize和maximumPoolSize工作: 1.当正在运行的线程小于corePoolSize,线程池会创建新的线程 阅读全文
posted @ 2017-10-24 14:15 一弦一仙 阅读(15006) 评论(0) 推荐(1)
摘要:1、线程池解决的问题 在线程的使用过程中,直接创建一个线程来执行,这样实现起来非常简单方便,但是会存在问题: 1.如果并发的线程数量太多,并且每个线程都是执行很短一个时间就会结束,这样频繁的创建线程会大大降低系统的效率,因为创建线程和摧毁线程需要时间。 2.另一方面如果每个线程都需要执行很长时间消耗 阅读全文
posted @ 2017-10-24 11:02 一弦一仙 阅读(335) 评论(0) 推荐(0)
摘要:等待更新 阅读全文
posted @ 2017-10-18 16:43 一弦一仙 阅读(137) 评论(0) 推荐(0)
摘要:Iterator 和 Enumeration区别 Iterator 和 Eumberation都是Collection集合的遍历接口,我们先看下他们的源码接口 1 引入的时间不同 Iteration是从JDK1.0 开始引入,Enumeration是从JDK1.2开始引入 2 接口不同 Enumer 阅读全文
posted @ 2017-10-18 16:42 一弦一仙 阅读(859) 评论(0) 推荐(0)
摘要:等待更新 阅读全文
posted @ 2017-10-18 16:42 一弦一仙 阅读(113) 评论(0) 推荐(0)
摘要:1、fail-fast简介 fail-fast机制是java集合(Collection)中的一个错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。 例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时 阅读全文
posted @ 2017-10-18 16:41 一弦一仙 阅读(387) 评论(0) 推荐(0)
摘要:等待更新 阅读全文
posted @ 2017-10-18 16:38 一弦一仙 阅读(178) 评论(0) 推荐(0)
摘要:首先看下Map的框架图 1、Map概述 1、Map是键值对映射的抽象接口 2、AbstractMap实现了Map中绝大部分的函数接口,它减少了“Map实现类”的重复编码 3、SortedMap有序的“键值对”映射接口 4、NavigableMap是继承与SortedMap的,支持导航函数的接口 5、 阅读全文
posted @ 2017-10-18 15:17 一弦一仙 阅读(313) 评论(0) 推荐(0)
摘要:Map 是非常常用的一种数据接口。在 Java 中,提供了成熟的 Map 实现。 Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 在散列中有几个名词需要解释下: Capacity: 容量,hash表里bucket(桶)的数量,也就是散列数组的大小 阅读全文
posted @ 2017-10-17 14:38 一弦一仙 阅读(2586) 评论(1) 推荐(1)
摘要:原文链接:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模 阅读全文
posted @ 2017-10-17 10:23 一弦一仙 阅读(11781) 评论(4) 推荐(10)
摘要:Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone 阅读全文
posted @ 2017-10-16 17:43 一弦一仙 阅读(423) 评论(0) 推荐(0)
摘要:1. java内存分配有以下6个地方可以保存数据 1.1 寄存器:这是最快的保存区域,因为它位于和其他所有的保存方式:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不能在自己的程序里找到寄存器存在的任何痕迹。 1.2 堆栈: 驻留于常规的RAM 阅读全文
posted @ 2017-10-16 11:17 一弦一仙 阅读(320) 评论(0) 推荐(0)