- 博客(91)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Dubbo的SPI原理
Dubbo的组织架构:消费者、服务提供者、注册中心(zookeeper)、监控中心(monitor)Dubbo的内核:SPI、AOP、IOC、ComplierSPI的目的为了给开发者使用的一种接口,方便开发者自定义具体的实现类。JDK的SPIDubbo不采用JDK的SPI的原因:1.一次性加载所有的扩展点实现类,耗时。未用到时,浪费了资源。(Dubbo通过key加载,不会加载不必要的类实现)2.Dubbo增加了多扩展点IOC和AOP的支持,扩展点可以直接...
2021-01-09 20:18:21 246
原创 redis缓存穿透、缓存雪崩和热点key
缓存穿透穿过缓存,直接访问数据库。解决方案:对查询不存在的保存到缓存中value设置为null.采用布隆过滤器.如果key有规则,那么就可以直接过滤掉无规则的key//伪代码//if(jedis查询缓存不存在){ //检测布隆过滤器是否存在 if(存在&&查询数据库有结果){ //将结果刷新到缓存中 }else{...
2019-08-31 10:46:38 157
转载 Redis Pipeline原理分析
Redis Pipeline原理分析1. 基本原理1.1 为什么会出现Pipeline Redis本身是基于Request/Response协议的,正常情况下,客户端发送一个命令,等待Redis应答,Redis在接收到命令,处理后应答。在这种情况下,如果同时需要执行大量的命令,那就是等待上一条命令应答后再执行,这中间不仅仅多了RTT(Round Time Trip),而且还频繁的调用系...
2019-08-31 10:08:47 393 1
转载 源码解析getCanonicalName(), getName(), getSimpleName()的不同
概要:1、getCanonicalName() 是获取所传类从java语言规范定义的格式输出。2、getName() 是返回实体类型名称3、getSimpleName() 返回从源代码中返回实例的名称。例子:public class Log4jTest { class Innr{ } private static Logger log = LogManag...
2019-08-31 09:55:31 318
原创 redis的pipeline学习
总结:redis中的pipeline,是批量操作。一次发送多个命令。显然速度会比一次一次发送的更快。但是每次显然两者都有各自的优缺点。1.pipelined.sync()表示我一次性的异步发送到redis,不关注执行结果。2.pipelined.syncAndReturnAll()程序会阻塞,等到所有命令执行完之后返回一个List集合。3.pipeline也不适合组装特别多的命令,因此如果...
2019-08-31 09:37:10 419
原创 redis搞分布式锁
/** * Redis基本(字符串)操作 * 将 key 的值设为 value ,当且仅当 key不存在,若给定的 key 已经存在,则 SETNX 不做任何动作。 * set not exists * @param value * @return */ public Long setnx(String key, Stri...
2019-08-30 19:21:26 150
原创 java内存中各个参数的意义
-Xmx:最大的堆内存-Xms:最小的堆内存-Xmn:新生代占的内存-Xss:每个线程栈的大小-NewRatio:新生代所占的比例,为4的话,那么新生代为1,老年代为4,新生代占1/5-SurvivorRation:幸存区所占的比例,为4的话,那么幸存区为2,eden区为4,每个幸存区为1/6....
2019-03-16 15:41:13 312 1
原创 java执行顺序
class Demo2{ static { System.out.println("I am demo2静态代码块"); } { System.out.println("I am demo2 属性"); }}class Demo{ static { System.out.println("static....."); } private static Dem...
2019-03-16 15:35:27 239
转载 mysql GROUP_CONCAT获取分组的前几名
比如说要获取班级的前3名,oracle 可以用 over partition by 来做。mysql就可以用GROUP_CONCAT + GROUP BY + substring_index实现。考试表DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (`id` int(11) DEFAULT NULL,`name` varchar(2...
2018-10-24 17:50:55 5074
转载 mysql 先分组再排序
mysql语句的语法模板:select distinct <select_list>from <left_table><join_type> join <right_table> on <join_condition>where <where_condition>group by <group_by_...
2018-10-24 15:18:58 7777
转载 Unicode 和 UTF-8 有何区别?
原作者: 邱昊宇 简单来说: Unicode 是「字符集」 UTF-8 是「编码规则」 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程) 广义的 Unicode 是一个标准,定义了一个字符集以及一系列...
2018-10-23 09:23:16 169
转载 Unicode,UTF-8,UTF-16,UTF-32,gb2312,gbk区别
1.ascII码。0x0*******; 总共127个。 有英文字母和符号。好吧,问题来了。英文够用了,其他不够用啊。于是用两种方法解决: a)GB2312 GBK 这一类的编码方式,用两位(2的16次方中变幻)来表示中文字符。 兼容ASC2b) Unicode编码。 世界上一切所有的字符(各个国家,各种字符)都囊括进来了,用两个字节(16位)来表示。UTF-8,UTF-16,...
2018-10-23 09:14:19 1203
转载 SQL中过滤条件放在on和where中的区别
join过程可以这样理解:首先两个表做一个笛卡尔积,on后面的条件是对这个笛卡尔积做一个过滤形成一张临时表,如果没有where就直接返回结果,如果有where就对上一步的临时表再进行过滤。下面看实验:先准备两张表:先执行inner join:select * from person p inner join account a on p.id=a.id and p.id!=4 an...
2018-10-22 17:01:12 464 1
转载 java反射基本用法
Java反射API反射API用来生成JVM中的类、接口或则对象的信息。 - Class类:反射的核心类,可以获取类的属性,方法等信息。 - Field类:Java.lang.reflec包中的类,表示类的成员变量,可以用来获取和设置类之中的属性值。 - Method类: Java.lang.reflec包中的类,表示类的方法,它可以用来获取类中的方法信息或者执行方法。 - Constructor类...
2018-02-21 14:06:52 351
原创 泛型二:基本原理及注意事项
详细请见我的收藏里面恩,那篇文章的基本流程是1.说明其是类型擦除的及证明是编译之后是原始类型2.说明类型擦除在jvm中保留的泛型类型是什么类型3.还有是通过引用来判断是否语法错误4.泛型不能使用基本类型5. 泛型中参数化类型不考虑继承关系6.通过桥方法使得方法重写而不是重载6.数组与泛型(不太懂)7.异常与泛型(不太懂)8.泛型在静态方法和静态类中的问题...
2018-02-21 13:47:32 197
原创 泛型的几个较困惑的问题
疑问点一:既然泛型在jvm中变成了原始类型,那么他最后是怎么转化为其他类型的呢,比如下面一段代码,getValue()如何知道返回的是Date类型呢疑问二:为什么下面一段代码不能辣样重写equals的方法?class Pair<T> { private T value; public T getValue() { return value; }...
2018-02-21 13:34:32 224
原创 泛型一:基本使用
为什么使用范型?为了使程序更加通用,参数化类属性和方法可以用其他代替?没有泛型之前,我们采用Object,但是这就要考虑到转型的问题,会很容易出错关于泛型的几种常见使用 泛型类public class MapT <T> { private T x; private T y; public T getX() { return x; } public void setX(T...
2018-02-21 13:06:58 152
转载 Hadoop中的join
转http://blog.51cto.com/zengzhaozheng/1392961一、概述 对于RDBMS中的join操作大伙一定非常熟悉,写sql的时候要十分注意细节,稍有差池就会耗时巨久造成很大的性能瓶颈,而在Hadoop中使用MapReduce框架进行join的操作时同样耗时,但是由于hadoop的分布式设计理念的特殊性,因此对于这种join操作同样也具备
2017-12-06 14:56:08 254
转载 Hadoop备忘:Reduce阶段Iterable<VALUEIN> values中的每个值都共享一个对象
Hadoop备忘:Reduce阶段Iterable values中的每个值都共享一个对象原创 2016年03月31日 16:11:221844[java] view plain copy/** * Iterate through the values for the current key, reusi
2017-11-28 10:58:23 492 1
转载 Hadoop 的Combiner调用时间点
Hadoop Combiner的几个调用时间点博客分类: hadoop Combiner是在Map端被执行,共有两个时机会被触发: ① 从环形缓冲器溢写分区文件的时候 ② 合并溢写分区文件的时候 1. 初始化combinerRunner和combineCollectorMapTask
2017-11-27 22:19:11 947
转载 java内存2
Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程
2017-11-22 15:57:29 180
转载 java内存0
Java内存管理:深入Java内存区域 本文引用自:深入理解Java虚拟机的第2章内容 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一个对象的“所有权”
2017-11-22 15:51:17 238
转载 java内存
Java之内存分析和String对象转载 2016年11月29日 12:03:29827 Java中内存分析: 栈(Stack) :存放 基本类型的变量 数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)。 堆(heap):存放所有new出来
2017-11-22 15:48:21 169
转载 mrunit的问题
3. MRUnit 单元测试3.1 MRUnit jar下载搜索下载时注意,一定要下载hadoop2.x版本的,不然会报兼容错误。报错信息:java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskInputOutputContext, but
2017-11-12 14:10:48 532 1
原创 计算机网络一个简单过程
这是在爱课程上,温州大学看的计算机网络课程上的一道题目。因为telnet是tcp服务,所以要先进行tcp连接首先tcp封装各自的端口,然后到网络层,封装源ip和目标ip,然后进行与自己的子网掩码进行运算看看是否处于同一网络号下,若是,在此不讨论,太简单若不是则进入默认网关,若不知道默认网关的mac地址,则发送一个arp请求,找到mac地址,再封装成帧。封装成帧之后,再发出去。再逐跳逐跳的依
2017-10-30 15:27:13 633
转载 python再centos下装setuptools
Python中当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。为了方便后续安装各种第三方python包,需要先安装setupto
2017-10-23 17:02:00 965
转载 java正则表达式的matcher
原地址:http://www.cnblogs.com/kissazi2/p/3287206.htmlJava正则表达式的应用 在很多种情况下,我们都必须对字符串进行匹配,以便判断字符串的格式是否符合要求,对字符串中的内容进行提取。比如,我要从一段话aabdfe中,判断这段话是否有包含ab这个词,那么如果用if-else来判断
2017-10-23 12:38:01 459
转载 aliyun阿里云Maven仓库地址——加速你的maven构建
原:http://www.cnblogs.com/geektown/p/5705405.htmlaliyun阿里云Maven仓库地址——加速你的maven构建maven仓库用过的人都知道,国内有多么的悲催。还好有比较好用的镜像可以使用,尽快记录下来。速度提升100倍。http://maven.aliyun.com/nexus/#view-re
2017-10-12 10:33:41 365
转载 (配置ssh免密码登陆配置和ssh原理)
学习Hadoop第五课(配置ssh免密码登陆配置和ssh原理)原创 2016年09月06日 01:24:42147000 上一节我们学习了Hadoop的初始化和测试,本节我们学习SSH免密码登录配置和SSH原理。 首先,我们需要明白为什么要设置SSH免密码登录,其原因是我们在开启hado
2017-09-26 17:49:47 293
转载 快速排序
坐在马桶上看算法:快速排序算法的精髓在于,跟它一比高数也显得那么生动活泼…。本文由啊哈磊吐槽而成,话说我还是头一次见到这么萌的变量,简直颠覆我对变量这个兵种、对算法这个种族的传统观念。正在被算法欺负吗?快进来看看:作者:啊哈磊来源:51CTO博客|2014-03-03 16:44 移动端 收藏 分享高快省的排序算法有没有
2017-09-26 16:33:58 146
转载 安装Hadoop系列 — 安装SSH免密码登录
安装Hadoop系列 — 安装SSH免密码登录配置ssh免密码登录 1) 验证是否安装ssh:ssh -version显示如下的话则成功安装了OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013Bad escape character 'rsion'.否则安装ssh:sudo apt-ge
2017-09-20 07:59:27 323
转载 VMware提示 已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。
VMware12提示 已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态解决办法:下载LeoMoon CPU-V 检查一下CPU VT-x状态是否启用地址:http://download.csdn.net/detail/taoshujian/977
2017-09-13 07:41:35 19183 3
转载 下载CentOS
下载CentOSCentOS官网:https://www.centos.org/ CentOS官方下载地址:https://www.centos.org/download/CentOS官网上,提供了三种ISO镜像文件的下载:DVD ISO:标准安装版,一般下载这个就可以了(推荐)Everything ISO:对完整版安装盘的软件进行补充,集成所有软件。(包含CentOS
2017-09-13 07:21:26 765
转载 : Association references unmapped class
: Association references unmapped class检查下配置文件中的类,和Java类是否一致
2017-08-28 15:46:21 269
转载 下载
Google Glass-- 谷歌眼镜核心源码http://www.61ic.com/vip/embed/ARM/code/201304/121566.html人脸识别的全部源代码(在Visual C++6.0下可以运行识别)http://www.61ic.com/Download/DaVinci/Code/201304/121592.html智能分析接口(支持车牌识别,人
2017-06-24 21:37:02 631
转载 对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决
对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决在J2EE框架下开发web网站,这种问题经常遇到,只要我们网上搜一下,就可以看到很多版本的,我整理一下: 第一种可能性解决:看看我的项目:主要 是里面的Structs 1.3 (structs 2)和Hibernate 3.2(或更高版本)中的JAR
2017-05-26 17:14:45 239
大神,请问哪里不对啊?
2016-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人