JDK
zhoubinwd
这个作者很懒,什么都没留下…
展开
-
深入理解Java之泛型
原文出处: absfree1. Why ——引入泛型机制的原因假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象。然而,过了一阵,我们想要实现一个大小可以改变的Date对象数组,这时我们当然希望能够重用之前写过的那个针对String对象的ArrayList实现。在Java 5之前,ArrayList的实现大致如下:12345...转载 2018-02-23 14:12:08 · 204 阅读 · 0 评论 -
ArrayBlockingQueue源码分析
ArrayBlockingQueue源码分析及使用2016-08-15 22:14 3045人阅读 评论(0) 收藏 举报 分类:Java并发编程(9) 版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/u014082714/article/details/52215130目录(?)[+]BlockingQueue介绍与常用方法BlockingQueu...转载 2018-02-23 20:13:22 · 363 阅读 · 0 评论 -
java 1.8 动态代理源码分析
JDK8动态代理源码分析动态代理的基本使用就不详细介绍了:例子:class proxyed implements pro{ @Override public void text() { System.err.println("本方法"); }}interface pro { void text();}public class JavaPr...转载 2018-02-24 12:39:58 · 213 阅读 · 0 评论 -
小知识
java基础hashmap 一、1.6 和 1.8 的区别 为什么这么做? 从 1.数据结构区别 2.进而引起时间复杂度的区别当元素所插入的index为空时, 时间复杂度为O1,不为空:a.小于8,则为On, b.大于8 则为logn 采用红黑树 2分查找法二、put/get的流程 put 1.判断index是否有值,无值则直接new node 插入。 有值则看当前节点 key hash ...原创 2018-02-25 14:37:28 · 121 阅读 · 0 评论 -
soa服务治理
1.选择协议, tcp/ip更注重效率 但实现复杂 http更加好用,效率稍微低一点2.序列化协议 hissen做序列化 侵入性小,效率稍低 proto buffer 侵入性大,但是效率高 java自带的 不需要引入第三方包json/xml 序列化比较耗3.sop服务路由。负载均衡程序通过负载均衡算法和规则,选取一台服务器访问。称为服务的负载均衡。 服务均衡算法 ...原创 2018-02-25 14:38:05 · 939 阅读 · 0 评论 -
jvm线上调优排查
-XX:+PrintHeapAtGC 每次GC后,都打印堆信息-XX:+PrintGCDetails 程序结束之后打GC信息。nXloggc:log/gc.log 指定GC日志的路径,以文件输出-XX:+TraceClassLoading 监控类加载 跟踪调试时, 看哪些类加载进来了-XX:+PrintCLassHistogram 按下 Ctrl+Break后,打印类的信息-...原创 2018-02-25 14:38:37 · 1364 阅读 · 1 评论 -
动态代理
http://blog.csdn.net/heyutao007/article/details/49738887原创 2018-02-25 14:39:32 · 149 阅读 · 0 评论 -
秒杀
http://blog.csdn.net/zhoudaxia/article/details/38067003关闭死锁检测 用 innobase_deadlock_check 设置http://blog.csdn.net/zhoudaxia/article/details/38067003原创 2018-02-25 14:39:58 · 164 阅读 · 0 评论 -
深入理解接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅...原创 2018-02-23 11:07:29 · 148 阅读 · 0 评论 -
深入理解Java中的组合和继承
深入理解Java中的组合和继承2016年12月26日 10:15:54标签:继承 /组合 /java2004本文转自:http://www.hollischuang.com/archives/1319Java是一个面向对象的语言。每一个学习过Java的人都知道,封装、继承、多态是面向对象的三个特征。每个人在刚刚学习继承的时候都会或多或少的有这样一个印象:继承可以帮助我实现类的复用。所以,很多开发人...转载 2018-02-23 10:56:52 · 482 阅读 · 0 评论 -
OOP 多态和构造器执行顺序
OOP 多态和构造器执行顺序在java的面试题中,对象的初始化顺序配合多态是一种常见考题!今天我就来详细的回顾一下!类中一般包括这几个部分:静态成员 包括静态的成员变量 静态代码块、非静态的成员变量构造函数 (其实也是一种静态方法,只不过static是隐式的)静态方法和非静态方法Java尽力保证,所有变量在使用前都能得到恰当的初始化方法的局部变量 java以编译时错误的形式来贯彻这种保证;而对于类...转载 2018-02-23 10:28:42 · 256 阅读 · 0 评论 -
注解
原理:http://blog.csdn.net/wangyangzhizhou/article/details/51698638应用 http://blog.csdn.net/yerenyuan_pku/article/details/52593981原创 2018-02-11 21:26:13 · 110 阅读 · 0 评论 -
hashmap源码阅读
接下来会从以下几个方面介绍 HashMap 源码相关知识: 1、HashMap 存储结构 2、HashMap 各常量、成员变量作用 3、HashMap 几种构造方法 4、HashMap put 及其相关方法 5、HashMap get 及其相关方法 6、HashMap remove 及其相关方法(暂未理解透彻) 7、HashMap 扩容方法 resize() 介绍方法时会包含方...原创 2018-02-20 10:01:34 · 167 阅读 · 0 评论 -
currenthashmap源码阅读
【JUC】JDK1.8源码分析之ConcurrentHashMap(一)一、前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析。二、ConcurrentHashMap数据结构 之前已经提及过,ConcurrentHashMap相比H...转载 2018-02-20 15:22:24 · 1261 阅读 · 0 评论 -
迭代器
Java 提供的 集合类都在 Java.utils 包下,其中包含了很多 List, Set, Map, Queue… 它们的关系如下面这张类图所示:可以看到,Java 集合主要分为两类:Collection 和 Map. 而 Collection 又继承了 Iterable< E > 接口,Iterable 接口内只有一个 iterator 方法,返回一个 Iterator 迭代器:...转载 2018-02-20 17:39:36 · 147 阅读 · 0 评论 -
集合类概述
2 Collection和Map在Java容器中一共定义了2种集合, 顶层接口分别是Collection和Map。但是这2个接口都不能直接被实现使用,分别代表两种不同类型的容器。简单来看,Collection代表的是单个元素对象的序列,(可以有序/无序,可重复/不可重复 等,具体依据具体的子接口Set,List,Queue等);Map代表的是“键值对”对象的集合(同样可以有序/无序 等依据具体实现...转载 2018-02-20 20:08:42 · 139 阅读 · 0 评论 -
java内部类
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正。 请尊重作者...转载 2018-02-23 07:05:58 · 164 阅读 · 0 评论 -
重写重载,向上向下转型
重写/重载重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。所以静态方法不能被覆盖。(如果从重写方法会有什么特点来看,我们是不能重写静态方法的。虽然就算你重写静态方法,编译器也不会报错。也就是说,如果你试图重写静态方法,Java 不会阻止你这么做,但你却得不到预期的结果(重写仅对非静态方法有用)。重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。让我...原创 2018-02-23 09:21:38 · 310 阅读 · 0 评论 -
finnal关键字
final关键字的深入理解转载 2016年08月01日 22:17:36735原文链接:http://www.jianshu.com/p/09b758c4000d1.final方法在编译阶段绑定,称为静态绑定(static binding),编译时常量,永远不可改变。 2.运行期初始化,我们希望它不会改变。 3.接口中声明的所有变量本身是final的。 4.对于集合对象声明为final指的是引用不...转载 2018-02-23 09:33:41 · 282 阅读 · 0 评论 -
redis18
1. 主从配置,同一台机器配置 1:开启后台线程 2:更改端口,更改pid文件名 3:配置从服务器只读 4:一台从服务器 产生rdb aof 其他的不产生。 5:主服务器 rdb关闭,aof如果从服务器关闭了就打开。让从服务进行rdb2。用redis-cli 打开某个端口,redis-cli -p 63813.如果rdb aof 都启用了,当redis重启时,以aof来恢复数据。如...原创 2018-02-11 21:25:19 · 134 阅读 · 0 评论