- 博客(50)
- 资源 (4)
- 收藏
- 关注
原创 Redis的五种基本类型及Linux下的安装 | 知你所需
redis的set类型是使用哈希表构造的,因此复杂度是O(1),它支持集合内的增删改查, 并且支持多个集合间的交集、并集、差集操作。SortSet虽然也是集合,但是跟普通集合类并不一样,其给予每个存储的元素多了一个分数标签,并且是调用者存数据的时候自己加上去的,使得该集合能根据分数的高低进行排序。所以在Hash中,key可以理解为一个对象,field可以理解为一个标签,一个代表,如名字等。它能存储任何类型的数据,包括二进制数据,序列化后的数据,JSON化的对象。使用yum进行安装。
2023-04-05 19:41:02
110
1
原创 秒杀
http://blog.youkuaiyun.com/zhoudaxia/article/details/38067003关闭死锁检测 用 innobase_deadlock_check 设置http://blog.youkuaiyun.com/zhoudaxia/article/details/38067003
2018-02-25 14:39:58
184
原创 ehsearch
https://segmentfault.com/a/1190000005792528集群的配置等http://blog.youkuaiyun.com/chuan442616909/article/details/54409776http://blog.youkuaiyun.com/chuan442616909/article/details/54407880Data: /usr/local/var/elastic...
2018-02-25 14:39:14
247
原创 jvm线上调优排查
-XX:+PrintHeapAtGC 每次GC后,都打印堆信息-XX:+PrintGCDetails 程序结束之后打GC信息。nXloggc:log/gc.log 指定GC日志的路径,以文件输出-XX:+TraceClassLoading 监控类加载 跟踪调试时, 看哪些类加载进来了-XX:+PrintCLassHistogram 按下 Ctrl+Break后,打印类的信息-...
2018-02-25 14:38:37
1402
1
原创 soa服务治理
1.选择协议, tcp/ip更注重效率 但实现复杂 http更加好用,效率稍微低一点2.序列化协议 hissen做序列化 侵入性小,效率稍低 proto buffer 侵入性大,但是效率高 java自带的 不需要引入第三方包json/xml 序列化比较耗3.sop服务路由。负载均衡程序通过负载均衡算法和规则,选取一台服务器访问。称为服务的负载均衡。 服务均衡算法 ...
2018-02-25 14:38:05
974
原创 小知识
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
138
转载 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
222
转载 ArrayBlockingQueue源码分析
ArrayBlockingQueue源码分析及使用2016-08-15 22:14 3045人阅读 评论(0) 收藏 举报 分类:Java并发编程(9) 版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.youkuaiyun.com/u014082714/article/details/52215130目录(?)[+]BlockingQueue介绍与常用方法BlockingQueu...
2018-02-23 20:13:22
379
转载 迭代器
Java迭代器深入理解及使用转载 2015年08月22日 01:21:429750Iterator(迭代器) 作为一种设计模式,迭代器可以用于遍历一个对象,对于这个对象的底层结构开发人员不必去了解。 java中的Iterator一般称为“轻量级”对象,创建它的代价是比较小的。这里笔者不会去考究迭代器这种 设计模式,仅在JDK代码层面上谈谈迭代器的时候以...
2018-02-23 19:26:37
174
转载 深入理解Java之泛型
原文出处: absfree1. Why ——引入泛型机制的原因假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象。然而,过了一阵,我们想要实现一个大小可以改变的Date对象数组,这时我们当然希望能够重用之前写过的那个针对String对象的ArrayList实现。在Java 5之前,ArrayList的实现大致如下:12345...
2018-02-23 14:12:08
220
原创 深入理解接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅...
2018-02-23 11:07:29
158
转载 深入理解Java中的组合和继承
深入理解Java中的组合和继承2016年12月26日 10:15:54标签:继承 /组合 /java2004本文转自:http://www.hollischuang.com/archives/1319Java是一个面向对象的语言。每一个学习过Java的人都知道,封装、继承、多态是面向对象的三个特征。每个人在刚刚学习继承的时候都会或多或少的有这样一个印象:继承可以帮助我实现类的复用。所以,很多开发人...
2018-02-23 10:56:52
498
转载 OOP 多态和构造器执行顺序
OOP 多态和构造器执行顺序在java的面试题中,对象的初始化顺序配合多态是一种常见考题!今天我就来详细的回顾一下!类中一般包括这几个部分:静态成员 包括静态的成员变量 静态代码块、非静态的成员变量构造函数 (其实也是一种静态方法,只不过static是隐式的)静态方法和非静态方法Java尽力保证,所有变量在使用前都能得到恰当的初始化方法的局部变量 java以编译时错误的形式来贯彻这种保证;而对于类...
2018-02-23 10:28:42
273
转载 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
304
原创 重写重载,向上向下转型
重写/重载重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。所以静态方法不能被覆盖。(如果从重写方法会有什么特点来看,我们是不能重写静态方法的。虽然就算你重写静态方法,编译器也不会报错。也就是说,如果你试图重写静态方法,Java 不会阻止你这么做,但你却得不到预期的结果(重写仅对非静态方法有用)。重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。让我...
2018-02-23 09:21:38
329
原创 内部类实现闭包和回调
闭包(Closure)是一种能被调用的对象,它保存了创建它的作用域的信息。JAVA并不能显式地支持闭包,但是在JAVA中,闭包可以通过“接口+内部类”来实现,因为对于非静态内部类而言,它不仅记录了其外部类的详细信息,还保留了一个创建非静态内部类的引用,通过它可以访问外部类的私有成员,因此可以把非静态内部类当成面向对象领域的闭包。那么,通过这种仿闭包的非静态内部类可以很方便地实现回调,这是一种非常灵...
2018-02-23 07:50:05
220
转载 java内部类
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正。 请尊重作者...
2018-02-23 07:05:58
180
原创 内部类
Java内部类详解--成员内部类,局部内部类,匿名内部类,静态内部类说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不...
2018-02-23 07:05:30
163
原创 接口适配器模式
Java中的接口适配模式,当我们写该接口的实现类时,必须实现该接口的所有方法,这明显有时比较浪费,因为并不是所有的方法都是我们需要的,有时只需要某一些,此处为了解决这个问题,我们引入了接口的适配器模式,借助于一个抽象类,该抽象类实现了该接口,实现了所有的方法,而我们不和原始的接口打交道,只和该抽象类取得联系,所以我们写一个类,继承该抽象类,重写我们需要的方法就行[java] view plain ...
2018-02-22 22:29:57
187
转载 通过接口完全解耦
方法接收的参数是基类类型的,那只能接收类或者子类。 如果传递的是接口,只需要实现该接口就行。这个例子来自《Java编程思想》第9章接口的第3节完全解耦。假设我们有一个接口Processor和一个类Apply:public interface Processor { ... }public class Apply { public static void process( Processo...
2018-02-22 22:29:07
846
转载 Condition
JUC提供了Lock可以方便的进行锁操作,但是有时候我们也需要对线程进行条件性的阻塞和唤醒,这时我们就需要condition条件变量,它就像是在线程上加了多个开关,可以方便的对持有锁的线程进行阻塞和唤醒。Condition的概念Condition主要是为了在J.U.C框架中提供和Java传统的监视器风格的wait,notify和notifyAll方法类似的功能。JDK的官方解释如下: 条件(也称为...
2018-02-21 09:37:23
1538
转载 集合类概述
2 Collection和Map在Java容器中一共定义了2种集合, 顶层接口分别是Collection和Map。但是这2个接口都不能直接被实现使用,分别代表两种不同类型的容器。简单来看,Collection代表的是单个元素对象的序列,(可以有序/无序,可重复/不可重复 等,具体依据具体的子接口Set,List,Queue等);Map代表的是“键值对”对象的集合(同样可以有序/无序 等依据具体实现...
2018-02-20 20:08:42
148
转载 迭代器
Java 提供的 集合类都在 Java.utils 包下,其中包含了很多 List, Set, Map, Queue… 它们的关系如下面这张类图所示:可以看到,Java 集合主要分为两类:Collection 和 Map. 而 Collection 又继承了 Iterable< E > 接口,Iterable 接口内只有一个 iterator 方法,返回一个 Iterator 迭代器:...
2018-02-20 17:39:36
155
转载 currenthashmap源码阅读
【JUC】JDK1.8源码分析之ConcurrentHashMap(一)一、前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析。二、ConcurrentHashMap数据结构 之前已经提及过,ConcurrentHashMap相比H...
2018-02-20 15:22:24
1275
原创 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
183
原创 JCU源码阅读--condition详解
概述先来回顾一下java中的等待/通知机制我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停;等到线程B修改了条件condition,使condition满足了线程A的要求时,A再继续执行。自旋实现的等待通知最简单的实现方法就是将condition设为一个volatile的变量,当A线程检测到条件不满足时就自旋,类似下面:public clas...
2018-02-19 16:28:06
326
原创 AQS之 共享锁源码分析
深入浅出AQS之共享锁模式原文地址:http://www.jianshu.com/p/1161...搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了,具体细节可以参考我的上篇文章深入浅出AQS之独占锁模式一、执行过程概述获取锁的过程:当线程调用acquireShared()申请获取锁资源时,如果成功,则进入临界区。当...
2018-02-19 13:13:39
324
原创 AQS同步器源码解读有感
1、前言AQS(AbstractQueuedSynchronizer)是java.util.concurrent的基础。也是Doug Lea大神为广大java开发作出的卓越贡献。J.U.C中的工具类如Semaphore、CountDownLatch、ReentrantLock、ReentrantReadWriteLock等都极大程度依赖了AQS.ReentrantLock的具体实现。publ...
2018-02-19 12:05:02
317
原创 java垃圾回收算法,垃圾回收器
垃圾回收算法:引用计数法,标记清除法,标记压缩法,复制算法,分代算法引用计数法:原理:每个对象内置一个整形计数器,一个对象A,被其他对象引用则,整形计数器+1,当引用失效则-1,当对象A的引用计数为0,则对象就可以被回收 缺点:1,无法处理循环引用,java虚拟机未使用;2,引用计算器在每次引用产生和消除的时候,需要伴随一个加减操作,对系统性能会有一定影...
2018-02-11 21:28:36
107
转载 String字符串 Set
http://blog.youkuaiyun.com/tianyaleixiaowu/article/details/68064078http://www.cnblogs.com/ITtangtang/p/3976820.html三者在执行速度方面的比较:StringBuilder > StringBuffer > String为什么? 因为 String 相加的过程中 如果有变量那么就要...
2018-02-11 21:28:25
2714
原创 内存泄漏和内存溢出
http://www.jquerycn.cn/a_17861 内存溢出的代码点http://blog.youkuaiyun.com/wisgood/article/details/16818243 内存溢出的概念http://blog.youkuaiyun.com/jack85986370/article/details/52910476 内存调优案例java 对象和类的生命周期 http://blog.csdn....
2018-02-11 21:28:16
84
原创 redis
Mac上安装redis http://www.jianshu.com/p/6b5eca8d908b基于redis的 分布式锁 http://blog.youkuaiyun.com/ugg/article/details/41894947http://www.cnblogs.com/0201zcr/p/5942748.html多种方法比对 http://www.sohu.com/a/113038230_22...
2018-02-11 21:28:07
126
原创 dubbo
dubbo的配置 从源码角度解读 http://blog.youkuaiyun.com/jdream314/article/details/44039753
2018-02-11 21:27:55
119
原创 服务降级
dubbo 实现服务降级 http://blog.youkuaiyun.com/whereismatrix/article/details/53354141服务降级案例http://jinnianshilongnian.iteye.com/blog/2306477
2018-02-11 21:27:22
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人