自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

"零点起航"的专栏

互相学习,互相帮助!

  • 博客(206)
  • 资源 (5)
  • 收藏
  • 关注

原创 Google Guava BloomFilter--布隆过滤器源码解析

Guava的布隆过滤器核心类有BloomFilter和BloomFilterStrategiesBloomFilter类1、四个参数 /** The bit set of the BloomFilter (not necessarily power of 2!) */ private final LockFreeBitArray bits; /** Number of hashes per element 哈希函数的个数 */ private final int numHash

2020-09-07 20:04:39 714 1

原创 布隆过滤器的原理+优缺点+使用场景+项目具体使用

什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由布隆提出的,它实际上是由一个很长的二进制向量和一系列随意映射函数组成。它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。它能够告诉你某个元素一定不在集合内或可能在集合内。原理分析举例,假设数组长度m=19,k=2个哈希函数既然选用hash算法,必然就会存在碰撞的可能。两个不完全相同的值计算出来的h...

2020-09-07 11:04:16 3912

原创 初识JVM参数MetaspaceSize

前言因线上内存溢出java.lang.OutOfMemoryError: Compressed class space问题,了解到Metaspace。问题出现的背景是将JDK 1.7升级到1.8,临时处理方案 添加配置参数-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m。但是通过jstat -gcutil pid查看M的值为98(M的=MU/MC),即Metaspace区的使用量达到了512m*98%。遗憾的是,这个推算是错误的;推理以笔者测试环.

2020-09-02 15:40:46 2022

原创 HTTP协议中的短轮询、长轮询、长连接和短连接

一、长连接和短链接HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接HTTP协议是基于请求/响应模式的,因此只要服务端给了响应,本次HTTP连接就结束了之所以网络上说HTTP分为长连接和短连接,其实本质上是说的TCP连接。TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才有真正的长连接和短连接这一说。HTTP协议说到底是应用层的协议,而TCP才是真正的传输层协议,只有负责传输的这一层才需要建立连接。为了能很好得明白,一个形象的例子就是,拿

2020-08-19 17:15:40 1021

原创 轻松解读CDN

CDN全称是(Content Delivery Network)即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻;CDN=更智能的镜像+缓存+流量导流。因而CDN可以明显提高Internet网络中信息流动的效率。...

2019-09-16 15:21:02 210

原创 聚簇索引与非聚簇索引(Clustered index and non clustered inde)

索引的分类1、逻辑分类单列索引:基于某一列的索引多列索引:也叫组合索引,是基于多列的索引。唯一索引:保证每一列的值不相同。非唯一索引:索引列的值可以相同2、按照类型分1)FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列...

2019-08-18 01:06:29 171

原创 mysql 增删改查时报错1055 - Expression 原因

报错的完整信息如下:1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in G...

2019-08-08 16:50:14 603 1

原创 Java中final与 static final 修饰的常量的区别

final可用来修饰类,变量,方法:final修饰的类不能有子类,也不能被继承。final修饰的变量是一个常量,不能重新赋值。final修饰的方法不能重写final修饰的常量① 与static final 修饰的常量② 的区别。例如:① final long CURRENT_TIME=system.currentMillis();② static final long...

2019-08-08 10:09:48 1534

原创 什么是CAS机制?

首先我们看两个问题: Java当中CAS的底层实现 CAS的ABA问题和解决方法 首先看一看AtomicInteger当中常用的自增方法incrementAndGet:public final intincrementAndGet() { for(;;) { intcurrent = get(); int...

2019-08-07 14:30:59 153

原创 Java并发--Java中的CAS操作

梳理Java多线程和并发的相关知识,主要是系统的梳理一下J.U.C包里的一些东西,看过很多遍的AQS和实现类,还有各种并发安全的集合类。最重要的就是本文讲的CAS操作,可以说是整个J.U.C包的灵魂。1、在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁。锁机制存在以下问题: 1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换...

2019-08-07 14:02:53 127

原创 mysql的乐观锁与悲观锁

悲观锁会阻塞其他线程。乐观锁不会阻塞其他线程,如果发生冲突,采用死循环的方式一直重试,直到更新成功。乐观锁总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。例如:有这样一个表:每次更新时update在条件后再附加一个时间为条件:...

2019-08-07 09:56:03 135

原创 linux mysql5.7.24源码安装

1)官网下载地址:https://dev.mysql.com/downloads/mysql/下面讲的是 mysql-boost-5.7.24.tar.gz2)安装依赖包yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison...

2019-08-06 19:37:38 202

原创 浅析MySQL中exists与in的使用

一、exists的执行基本原理exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条 件语句不能返回记录行,则当前loop到的这条记录被丢弃,exists的条件就像一个bool条件,当能返回结果集则为true,不能返回结果集...

2019-08-06 14:23:23 150

转载 Redis数据持久化

1、Redis实现数据持久化的两种实现方式:RDB:指定的时间间隔内保存数据快照AOF:先把命令追加到操作日志的尾部,保存所有的历史操作二、RDB 实现 Redis数据持久化(默认方式)1、编辑 redis.conf注:使用whereis redis命令查看redis安装在哪个位置,然后进入redis安装目录的etc目录下,编辑redis.conf。2、默认备份的时间间...

2019-08-06 11:30:24 81

原创 Java内省机制

反射与内省的区别反射是在运行状态把Java类中的各种成分映射成相应的Java类,可以动态的获取所有的属性以及动态调用任意一个方法,强调的是运行状态。内省(IntroSpector)是Java 语言对 Bean 类属性、事件的一种缺省处理方法。 内省是与反射类似的技术,它是以规范化的Java bean为模板,将类中的成员变量和getter、setter方法关联起来它的一般用...

2019-06-18 17:19:01 143

原创 实现线程的3种方式

实现线程的3种方式1、继承Thread2、实现Runnable3、实现Callable接口Runnable与Callable区别1、Callable的任务执行后可返回值,而Runnable的任务是不能返回值(是void)。2、Runnable是自从java1.1就有了,而Callable是1.5之后才加上去的。3、Callable规定的方法是call(),Runnable规定的方法是run()。4...

2018-04-07 00:02:44 555

原创 多线程问题--死锁

一、死锁的定义     多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。     所谓死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。    下面我们通过一些实例来说明死锁现象。    先看生活中的一个实例,两个人面对面过独木桥,甲和乙都已经在桥上走了一段距离,即占用了桥的资...

2018-04-06 23:40:09 291

转载 数字框(numberbox)

数字框(numberbox)用于让用户仅能输入数字的值。它可以把输入元素转换为不同类型的输入(比如:数字 numeric、百分比 percentage、货币 currency,等等)。更多的输入类型依赖 'formatter' 和 'parser' 函数来定义。1、用法(1)、从标记创建数字框(numberbox)。[html] view plain copy<input type="tex...

2018-03-13 14:58:06 3181

转载 Java中导入、导出Excel

Java中导入、导出Excel一、介绍当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、导出Excel的应用。目前,比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel下面我就分别讲...

2018-03-01 17:01:23 245

转载 常见的高并发处理方式

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是...

2018-02-28 17:43:40 2986

原创 表单重复提交处理

表单重复提交是在Web应用中最常见的一个问题。常见的应用场景:1.点击提交按钮两次。2.点击刷新按钮。3.使用浏览器后退按钮重复之前的操作,导致重复提交表单。4.使用浏览器历史记录重复提交表单。5.浏览器重复的HTTP请求。用户提交表单时可能因为网速或者恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题。我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交。1、js禁掉提...

2018-02-26 17:02:45 207

转载 Java多线程基础

前言多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。正文线程与进程1 线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2 进程:执行中的程序一个进程至少包含一个线程3 单线程:程

2017-08-29 19:48:33 340

原创 MYSQL-IFNULL、DATE_SUB介绍

IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。IF(expr1,expr2,expr3) 如果expr1是TRUE(expr1NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下

2017-08-29 19:28:01 674

转载 Servlet、Struts2、SpringMVC执行流程

Servlet有以下四个阶段:1.加载和实例化+ View code  Servlet容器负责加载和实例化Servlet。  当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。  当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统、远程文件系统

2017-08-21 22:37:37 533

原创 SpringMVC与Struts2区别

一、框架机制1、Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。2、Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁;Filter在容器启动之后即初始化,服务停止以后坠毁,晚于Servlet。二、拦截机制1、S

2017-08-21 22:36:06 237

原创 RESTful的原则

RESTful的原则:URL表示资源HTTP方法表示操作GET只是用来请求操作,GET操作永远都不应该修改服务器的状态。但是这个也要具体情况进行分析,例如一个页面中的计数器,每次访问的时候确实引起了服务器数据的改变,但是在商业上来说,这并不是一个很重要的改变,所以仍然可以接收使用GET的方式来修改数据。服务应该是无状态的在有状态的会话中,服务器可以记录之前的信息。而RESTful风

2017-08-21 22:12:25 643

转载 Java四种线程池的使用

转载至:http://cuisuqiang.iteye.com/blog/2019372

2017-08-21 21:50:52 180

原创 pom.xml详解

什么是pom?    pom作为项目对象模型通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。  一、主要结构: 项目基本信息信息-->  4.0.0  ...  ...  ...  ...  ...

2017-06-13 18:10:24 484

转载 JCS原理及使用

1.概要        JCS是Jakarta的项目Turbine的子项目,它是复合式的缓冲工具,具有配置灵活的特点。JCS提供内存、硬盘、分布式架构、构建缓存 服务器四种方式来实现对象缓存;能够很方便的实现缓存的差异化定制。有缓冲对象时间过期设定。对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。缓冲工具

2017-06-13 09:27:02 2282

转载 域名解析和cdn 原理

本文转自:http://blog.csdn.net/21aspnet/article/details/6589609用户访问未使用CDN缓存网站的过程为:   1)、用户向浏览器提供要访问的域名;   2)、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;   3)、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;   4)、浏览

2017-05-18 10:50:35 2063

原创 请求 415 unsupported media处理 , SpringMVC:@RequestBody

参考文档:http://blog.csdn.net/yixiaoping/article/details/45281721客户端js内容:b2cSearchList.queryProdInfoByPage=function(pageNums){ var b2cWebSearchV2ReqVo = {}; b2cWebSearchV2ReqVo.itemCode = $.trim($("

2017-05-12 11:31:53 490

原创 eclipse中svn插件替换用户名密码,解决总是提示输入密码 问题

一、svn插件密码机制  第一次使用svn插件并输入密码时,会生成一个保存密码的文件,以后每次使用时svn插件默认去读取用户名和密码信息。启动eclipse时,会自动将配置信息读取到程序缓存中。  svn的密码修改以后,无法再次登录,也没有提示重新输入密码。这时,我们可以通过删除相关配置文件的方式让svn插件提示我们重新输入密码。但是,eclipse也会首先读取缓存文件,当你删除了配置文件

2017-04-21 09:39:50 5242

转载 javax validation--参数基础校验

源地址:http://jinnianshilongnian.iteye.com/blog/1990081?page=2#commentsBean Validation 1.1当前实现是hibernate validator 5,且spring4才支持。接下来我们从以下几个方法讲解Bean Validation 1.1,当然不一定是新特性: 集成Bean Validati

2017-02-20 17:24:19 32599

原创 对AOP的认识

一、概念【AOP(Aspect Orient Programming)面向切面编程】定义:在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。二、AOP的优点1、降低模块的耦合度2、使系统容易扩展3、设计决定的迟绑定4、

2016-11-29 11:57:57 401

转载 Error validating server certificate for

Error validating server certificate for https://192.168.101.106:443: - Unknown certificate issuer   Fingerprint: 54:4e:01:92:66:28:ff:c7:2d:69:86:92:c1:91:15:fe:7a:2e:cf:42   Distinguished name:

2016-11-22 10:12:23 5889

原创 xStream 将xml转为javaBean

1、xml格式 000000000183585090 FIMS,LOBA 000000000183585090 PRMT_TMPL_CODE 000001 0053749 2、项目添加jar包 com.thoughtworks.xstream xstream 1.4.23、根据

2016-11-02 16:08:50 1288

原创 java 设计模式

一、设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitutio

2016-10-10 16:30:09 243

原创 java keySet与entrySet

entrySet方法比keySet方法效率高public static void main(String[] args) { Map map = new HashMap(); map.put("key1", "key1"); map.put("key2", "key2"); map.put("key3", "key3");

2016-10-10 12:03:11 475

原创 任务调度 Quartz

一、 Quartz 的原理:Quartz 设计的核心类包括Scheduler(调度器), Job (任务)以及 Trigger(触发器)。其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行。二、 Quartz 的优点:1、ob 与 Trigger 的松耦合:同一个 Job 可以绑定多个

2016-09-19 16:56:07 945

翻译 任务调度ScheduledExecutorService

译:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html父类:Executor, ExecutorService子类:ScheduledThreadPoolExecutor方法:1、schedule(Runnable command, long de

2016-09-14 17:04:03 4251

sencha touch 权威指南

sencha touch 官方文档美中不足的地方是全英,这让英语不好的人看起来很费劲,不能短时间内快速上手,这本权威指南就很不错了,我三天看完就上手了。

2013-09-05

javascript权威指南

自己学习时,在网上找相关资料总感觉,很乱,自我感觉这份不错

2013-03-13

Validform_5.3.1

使用Validform,一行代码可以搞定表单验证

2013-03-13

hadoop完全分布配置指南

网上有很多形形色色的hadoop安装文档 可是我屡试屡挫 最后找到这个 还不错 为了大家学习方便就共享一下

2012-12-21

haddop文档指南

中文版hadoop,不用为英文版的官方文档伤脑筋

2012-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除