03 2017 档案
摘要:恢复内容开始 面向切面编程,把散落在程序中的公共部分提取出来,做成切面类,这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改,如果只要修改1、2处那还可以接受,万一有1000处呢。 AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类
阅读全文
摘要:over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。其参数:over(partition by columnname1 order by columnname2)含义:按columname1指定的字段进行分组排序,或者说按字段columnn
阅读全文
摘要:原文地址:http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html Java中多态性的实现 什么是多态 下面是多态存在的三个必要条件,要求大家做梦时都能背出来! 多态存在的三个必要条件一、要有继承;二、要有重写;三、父类引用指向子类
阅读全文
摘要:1、public、private、protected、Friendly的区别与作用域 public,protected,friendly,private的访问权限如下: 关键字 当前类 包内 子孙类 包外 public √ √ √ √ protected √ √ √ × friendly √ √ ×
阅读全文
摘要:第一题:当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 答:分几种情况: 1.其他方法前是否加了synchronized关键字,如果没加,则能。 2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。 3.如果其他个方法都加
阅读全文
摘要:原文地址:http://chenchendefeng.iteye.com/blog/455883 一、相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的
阅读全文
摘要:一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JDK的版本号。 2.如果没有安装JDK,登陆 http://www.oracle.com/techne
阅读全文
摘要:CyclicBarrier是通过ReentrantLock(独占锁)和Condition来实现的。下面,我们分析CyclicBarrier中3个核心函数: 构造函数, await()作出分析。 1. 构造函数 CyclicBarrier的构造函数共2个:CyclicBarrier 和 CyclicB
阅读全文
摘要:1.前言 当今互联网发展的非常快,每当重大“节日”时,一些网站宕机几乎成为一种规律,例如双十一,过年抢火车票等等。 当存储海量二三维数据的GIS Web应用发生宕机时,所带来的后果是十分严重的。 2.单点失效 先解释下什么是单点失效。 举个简单例子就是:网站就一台服务器,当这台服务器挂了,网站就没办
阅读全文
摘要:[转]JVM锁机制volatile/synchronized/lock 1.volatile实现原理 (1)聊聊并发(一)——深入分析Volatile的实现原理 --硬件级别锁实现,Lock前缀指令会引起处理器缓存(CPU高级缓存L1/L2/L3)回写到内存。一个处理器的缓存回写到内存会导致其他处理
阅读全文
摘要:但这篇博文实际上是“半分享半讨论”的博文: 1) 半分享是我将说下我所了解到的关于今天主题所涉及的几种方案。 2) 半讨论是我希望大家对各个方案都说说自己的见解,更加希望大家能提出更好的方案。(我还另外提问在此:http://q.cnblogs.com/q/53552/上面已有几位园友回复(感谢du
阅读全文
摘要:前言: BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的两个重要成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue
阅读全文
摘要:Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/vie
阅读全文
摘要:IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待
阅读全文
摘要:I.CountDownLatch 和 CyclicBarrier 的运用 CountDownlatch: 定义: 其是一个线程同步的辅助工具,通过它可以做到使一条线程一直阻塞等待,直到其他线程完成其所处理的任务。一个特性就是它不要求调用countDown方法的线程等到计数到达0时才继续,而在所有线程
阅读全文
摘要:这次说一下 JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和 Semaphore(不知道有没有初学者觉得这三个的名字不太好记)。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。(下面的代码出自 JDK 文档) Coun
阅读全文
摘要:1、类说明: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 b
阅读全文
摘要:原文地址:http://blog.csdn.net/xin_jmail/article/details/25975085 Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以
阅读全文
摘要:原文地址:http://blog.csdn.net/free0sky/article/details/7927275 一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答: 1、String是字符串常量,StringBuffer和
阅读全文
摘要:java为数据结构中的映射定义了一个接口java.util.Map,而HashMap Hashtable和TreeMap就是它的实现类。Map是将键映射到值的对象,一个映射不能包含重复的键;每个键最多只能映射一个一个值。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,
阅读全文
摘要:原文:http://blog.csdn.net/u014136713/article/details/52089156 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └
阅读全文
摘要:原文地址:http://www.cnblogs.com/AprilCal/p/5426007.html 理由一:无需再考虑可序列化的情况 《effective java》第77条:对于实例控制,枚举类型优先于readResolve 说到readResolve,有的人可能会不甚清楚其作用,简单来说,r
阅读全文
摘要:1,volatile 它所修饰的变量不保留拷贝,直接访问主内存中的。 在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。这样就会出现同一个变 量在某个瞬间,在一个线程的memory中的值可
阅读全文
摘要:类的设计原则 一. Dependency Inversion Principle (DIP) - 依赖倒置原则 依赖:在程序设计中,如果一个模块a使用或调用了另一个模块b,我们称模块a依赖模块b。 高层模块与低层模块:往往在一个应用程序中,我们有一些低层次的类,这些类实现了一些基本的或初级的操作,我
阅读全文
摘要:定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓
阅读全文
摘要:T3先执行,在T3的run中,调用t2.join,让t2执行完成后再执行t3 在T2的run中,调用t1.join,让t1执行完成后再让T2执行 public class JoinTest { // 1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行 pub
阅读全文
摘要:1.Singleton指仅仅被实例化一次的类。Singleton通常被用来代表那些本质上唯一的系统组件,如窗口管理器或者文件系统。使类称为Singleton会使它的客户端调试变的十分困难,因为无法给Singleton替换模拟实现,除非它实现一个充当其类型的接口. 2.在Java1.5发行版本之前,实
阅读全文
摘要:可变类和不可变类(Mutable and Immutable Objects) 1. 可变类和不可变类(Mutable and Immutable Objects)的初步定义: 可变类:当你获得这个类的一个实例引用时,你可以改变这个实例的内容。 不可变类:当你获得这个类的一个实例引用时,你不可以改变
阅读全文
摘要:1)java nio简介 nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如有:为所有的原始类型提供 (Buffer) 缓存支持;字符集编码解码解决方案;Channel :一个新的原始 I/O 抽象;支持锁和内存映射文件的文件访问接口;提供
阅读全文
摘要:原文地址:http://blog.csdn.net/lihuapiao/article/details/50731405 一.IO 1.IO概念 ·输入流:把能够读取一个字节序列的对象称为输入流(百度百科) ·输出流:把能够写一个字节序列的对象称为输出流(百度百科) 从定义上看可能会让你感到困惑,这
阅读全文
摘要:equals 方法是 java.lang.Object 类的方法。 有两种用法说明: (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。 “==”比较两个变量本身的值,即两个对象在内存中的首地址。 “equals()”比较字符串中所包含的内容是否相同。 比
阅读全文

浙公网安备 33010602011771号