自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

upxiaofeng的专栏

敲代码,打游戏,看电影,偶尔失了智

  • 博客(106)
  • 资源 (6)
  • 收藏
  • 关注

原创 ELK(Elasticsearch+Filebeat+Kibana) 轻量级采集分析Nginx日志

ELK是什么?轻量级日志统计分析组件,包含elasticsearch、filebeat、kibanaELK环境准备Elasticsearch 下载地址https://www.elastic.co/downloads/past-releases/elasticsearch-6-4-2Elasticsearch 参考文档https://www.elastic.co/guide/en/ela...

2019-04-01 13:02:27 2626

原创 Solr 6.0 学习(十七)SolrCloud

参考: SolrCloud中文讲解 windows下基于zookeeper发布solrcloud 官方文档 solrcloud wiki solr中文文档什么是solrcloud官方文档的解释: SolrCloud is designed to provide a highly available, fault tolerant environment for dis...

2018-03-27 16:08:23 705

原创 SpringBoot集成Quartz动态定时任务

SpringBoot自带schedule沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling@Scheduled(cron="0/5 * * * * ?") public void job(){ System.out.println("每五秒执行一次"); }...

2018-03-02 14:57:05 87458 45

原创 Spring aop 基于JDK动态代理和CGLIB代理的原理以及为什么JDK代理需要基于接口

本文是根据《深入分析Java Web技术内幕》一书第十三章探讨Spring Aop是什么简单来说就是面向切面编程。Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。JDK动态代理JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。代理的目的是调用目标方法时可

2018-01-11 16:14:46 4188

原创 Cookie的压缩以及字符集简单的探讨

本文是根据《深入分析Java Web技术内幕》一书第三章和第十章做一个摘取总结和探讨Cookie是什么简单来说就是用户通过http请求访问一个服务器时,服务器会将一些key/vlaue的键值对返回给客户端浏览器,用户下次访问的时候,这些数据又可以玩转的发送给服务器主要特征 Key–Value形式 Domain 指定cookie生成域名 Max-Age 过期时间

2018-01-09 14:44:26 526 1

原创 反射中Class.forName()和ClassLoader.loadClass()的区别

本文参考反射中Class.forName()和ClassLoader.loadClass()的区别Java类加载过程 加载:找到.class文件并把这个文件包含的字节码加载到内存中链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;   校验:检查导入类或接口的二进制数据的正确性;(文件格式验证,元数据验证,字节码验证,符号引用验证)   准备:给类的静态变量分配并初始化存储空间;

2017-12-19 13:28:19 515

原创 Java多线程工具包java.util.concurrent---目录

以下内容部分参考于: Java 并发工具包 java.util.concurrent 用户指南 这一系列的文章中例子是作者自己编写,有不对的地方欢迎大家指教讨论,多数例子是想通过实际场景来说明工具包API的作用。目录阻塞有界队列ArrayBlockingQueue延迟队列DelayQueue阻塞链表队列LinkedBlockingQueueConcurrentHashMapThre

2017-11-29 13:20:44 337

原创 Java多线程工具包java.util.concurrent---原子性和ABA问题

什么是原子性 什么是可见性可见性 在多核处理器中,如果多个线程对一个变量(假设)进行操作,但是这多个线程有可能被分配到多个处理器中运行,那么编译器会对代码进行优化,当线程要处理该变量时,多个处理器会将变量从主存复制一份分别存储在自己的片上存储器中,等到进行完操作后,再赋值回主存。(这样做的好处是提高了运行的速度,因为在处理过程中多个处理器减少了同主存通信的次数);同样在单核处理器中这样由于“备份

2017-11-29 11:57:54 477

原创 Java多线程工具包java.util.concurrent---Atomic

java.util.concurrent工具包中提供了很多原子类的工具类,这篇文章主要针对 AtomicBoolean、AtomicInteger、AtomicReference做一个说明AtomicBooleanAtomicBoolean 类为我们提供了一个可以用原子方式进行读和写的布尔值,它还拥有一些先进的原子性操作,比如 compareAndSet()。AtomicBoolean 类位于 j

2017-11-28 13:22:56 484

原创 Java多线程工具包java.util.concurrent---ReadWriteLock

什么是ReadWriteLockjava.util.concurrent.locks.ReadWriteLock 读写锁是一种先进的线程锁机制。它能够允许多个线程在同一时间对某特定资源进行读取,但同一时间内只能有一个线程对其进行写入。 读写锁的理念在于多个线程能够对一个共享资源进行读取,而不会导致并发问题。并发问题的发生场景在于对一个共享资源的读和写操作的同时进行,或者多个写操作并发进行。Read

2017-11-27 15:44:21 297

原创 Java多线程工具包java.util.concurrent---Lock

什么是lockjava.util.concurrent.locks.Lock 是一个类似于 synchronized 块的线程同步机制。但是 Lock 比 synchronized 块更加灵活、精细。 首先创建了一个 Lock 对象。之后调用了它的 lock() 方法。这时候这个 lock 实例就被锁住。任何其他再过来调用 lock() 方法的线程将会被阻塞住,直到锁定 lock 实例的线程调用了

2017-11-27 11:09:57 419

原创 Java多线程工具包java.util.concurrent---ExecutorService

什么是ExecutorServicejava.util.concurrent.ExecutorService 接口表示一个异步执行机制,使我们能够在后台执行任务。因此一个 ExecutorService 很类似于一个线程池。实际上,存在于 java.util.concurrent 包里的 ExecutorService 实现就是一个线程池实现。ExecutorService的实现E...

2017-11-23 16:15:44 2279

原创 Java多线程工具包java.util.concurrent---Semaphore

什么是Semphorejava.util.concurrent.Semaphore 类是一个计数信号量。计数信号量由一个指定数量的 “许可” 初始化。每调用一次 acquire(),一个许可会被调用线程取走。每调用一次 release(),一个许可会被返还给信号量。因此,在没有任何 release() 调用时,最多有 N 个线程能够通过 acquire() 方法,N 是该信号量初始化时的许可的指定数

2017-11-22 16:00:37 567

原创 Java多线程工具包java.util.concurrent---CyclicBarrier

什么是CyclicBarrier栅栏java.util.concurrent.CyclicBarrier 类是一种同步机制,它能够对处理一些算法的线程实现同步。换句话讲,它就是一个所有线程必须等待的一个栅栏,直到所有线程都到达这里,然后所有线程才可以继续做其他事情。图示如下: 有什么特点1、CyclicBarrier初始化时规定一个数目,然后计算调用了CyclicBarrier.await()进入

2017-11-21 17:05:47 408

原创 Java多线程工具包java.util.concurrent---CountDownLatch

什么是CountDownLatchjava.util.concurrent.CountDownLatch 是一个并发构造,它允许一个或多个线程等待一系列指定操作的完成。 CountDownLatch 以一个给定的数量初始化。countDown() 每被调用一次,这一数量就减一。通过调用 await() 方法之一,线程可以阻塞等待这一数量到达零。典型使用场景最新开《亿级流量网站架构核心技术》一书中提

2017-11-21 15:56:32 460

原创 ThreadLocal和ConcurrentHashMap的不同,扫盲篇

本文主要是针对ThreadLocal和ConcurrentHashMap的使用说一个简单的说明,其中示例说明了他们两个从结果上看的明显不同,扫盲篇什么是ThreadLocalThreadLocal并不是一个Thread,而是Thread的局部变量。将类变量放到ThreadLocal类型的对象中,使变量在每个线程中都有独立拷贝,不会出现一个线程读取变量时而被另一个线程修改的现象。ThreadLocal

2017-11-21 11:49:10 5881

原创 Java多线程工具包java.util.concurrent---ConcurrentHashMap

参考以下微博 http://blog.csdn.net/xiaohui127/article/details/11928865 http://blog.csdn.net/xuefeng0707/article/details/40797085 http://www.importnew.com/21388.html 本文没有具体探讨ConcurrentHashMap、HashMap、HashT

2017-11-20 18:17:59 577

原创 Java多线程工具包java.util.concurrent---LinkedBlockingQueue

LinkedBlockingQueue 简介 LinkedBlockingQueue 类实现了 BlockingQueue 接口。 LinkedBlockingQueue 内部以一个链式结构(链接节点)对其元素进行存储。如果需要的话,这一链式结构可以选择一个上限。如果没有定义上限,将使用 Integer.MAX_VALUE 作为上限。 LinkedBlockingQueue 内部以

2017-11-20 15:50:37 522

原创 Java多线程工具包java.util.concurrent---DelayQueue

延迟队列 DelayQueue DelayQueue 实现了 BlockingQueue 接口。 DelayQueue 对元素进行持有直到一个特定的延迟到期。 DelayQueue 将会在每个元素的 getDelay() 方法返回的值的时间段之后才释放掉该元素。如果返回的是 0 或者负值,延迟将被认为过期,该元素将会在 DelayQueue 的下一次 take 被调用的时候被释放掉

2017-11-17 15:31:21 629

原创 Java多线程工具包java.util.concurrent---ArrayBlockingQueue

以下内容部分参考于: Java 并发工具包 java.util.concurrent 用户指南 这一系列的文章中例子是作者自己编写,有不对的地方欢迎大家指针,多数例子是想通过实际场景来说明工具包API的作用。BlockingQueuejava.util.concurrent 包里的 BlockingQueue 接口表示一个线程安放入和提取实例的队列。本小节我将给你演示如何使用这个 Blockin

2017-11-16 10:30:40 870

原创 cas shiro spring实现单点登录

《SSO CAS单点系列》之 实操!轻松玩转SSO CAS就这么简单(相识篇) 《SSO CAS单点系列》之 实操!轻松玩转SSO CAS就这么简单(相遇篇)这里贴出传送门,来自幕课网大神。讲了cas配置和cas的基本原理。CASGithub地址:https://github.com/apereo/cas/tags war下载地址:http://mvnrepository.com/arti

2017-10-10 12:31:02 2163

原创 shiro 判断ajax是否通过身份验证

这篇文章主要是针对使用shiro后ajax请求判断是否经过验证的问题。代码:public class RoleAuthorizationFilter extends AuthenticationFilter { private static int bytes = 1024; private static int startByte = 0; private static in

2017-09-08 14:17:52 2613 2

原创 shiro 配置

1、web.xml配置<filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <param-name

2017-09-07 10:51:09 437

原创 shiro realm实现

实现realm实现realm需要继承AuthorizingRealm/** * shiro * @author yvan * */public class ShiroRealm extends AuthorizingRealm { /* * 登录信息和用户验证信息验证(non-Javadoc) * @see org.apache.shiro.realm.Auth

2017-08-02 13:40:55 595

原创 shiro简介

这几篇文章会对shiro做一些简单概括和运用,springmvc集成,shiro+cas+springmvc 做一个简单的SSL。不深究其源码,能够运用和初步掌握的程度。传送门:开涛博客1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但

2017-08-01 14:43:36 282

原创 SpringMvc 浅析 之 错误处理

@ExceptionHandler在一个controller中定义一个方法,用@ExceptionHandler注解标注。(优先级最高) @ExceptionHandler public ModelAndView handlerException(Exception ex) { Map<String, String> model = new HashMap<Strin

2017-06-20 15:12:16 368

原创 SpringMvc 浅析 之 URL Action

就不再赘述理论,下面都是代码示例。 Web.xml配置<servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param>

2017-06-20 10:46:27 361

原创 SpringMvc 浅析

参考:第二章 Spring MVC入门 —— 跟开涛学SpringMVC参考:Spring MVC 教程,快速入门,深入分析参考:spring framework 4 源码阅读感谢三位博主的分享。——————————————————————————————————————————————————————————————————说明:本作者是文章的原创作者,转载请注明出处

2017-06-19 15:12:05 618

原创 Solr 6.0 学习(十六)FunctionQuery

solr的评分机制、重新排序,作者也正在研究中,变工作边学习当中,欢迎拍砖。 为什么要使用FunctionQuery 按照solr wiki文中的描述, 函数查询 让我们可以利用 numeric域的值 或者 与域相关的的某个特定的值的函数,来对文档进行评分。 实际中的运用 简单需求solr提供sort功能即可完成。 但是如果需要多个维度进行评分排序的时候,我们就需要使用FuctionQue

2017-06-08 16:19:57 2016

原创 Solr 6.0 学习(五)solr基本查询和高级查询

facet   分组group  合并

2017-06-01 15:53:43 21197

原创 Solr 6.0 问题汇总

本文是针对在学习和运用solr6.0中遇到的问题做总结,会持续更新配置solr 404问题在Solr 6.0 学习(一)环境搭建中很多同学在评论区说404问题 访问:http://localhost:8080/solr/index.html 正常 访问:http://localhost:8080/solr 报404我们看下到web.xml中部分配置如下: <servlet> <serv

2017-05-18 16:42:51 1952 2

原创 Solr 6.0 学习(十五)Solr SearchComponent

我们看到之前文章Solr 6.0 学习(十四)Solr RequstHandler中的代码,我们看到有如下片段 if (timer == null) { for (final SearchComponent c : components) { c.prepare(rb); } } else

2017-05-03 17:11:12 1424

原创 Solr 6.0 学习(十四)Solr RequstHandler

什么是RequstHandler我们看到solrconfig.xml中配置<requestHandler name="/select" class="solr.SearchHandler">结合solr admin管理后台我们看到 第一个qt参数是select,那么solr对应的requestHandler是SearchHandlerRequstHandler做了什么下面我们通过solr源码的

2017-05-02 15:25:16 843

原创 Solr 6.0 学习(十三)Solr缓存

Solr是基于Lucene的全文搜索服务器。实际上所有的搜索索引文件都是以文件形式存储在磁盘中。数据量到一定程度上,磁盘的IO会影响搜索性能。那么针对这种情况,我们优化的过程中势必需要运用缓存技术。目前,我们熟知的缓存nosql数据库:redis、mongodb、memcache。不过,本文不在这里针对这些nosql数据库做讨论,本文主要是针对solr已经实现的缓存技术做探讨。

2017-04-20 15:13:45 1840 3

原创 Solr 6.0 学习(十二)SolrParamer实现

SolrParamer我们看到solr给我们提供的API 我们看到SolrParamer是一个抽象类。 我们看到Solr学习(九) 中最后总结的代码。//设置查询参数ModifiableSolrParams params = new ModifiableSolrParams(solrReq .getParams());solrReq.setParams(params

2017-01-05 16:31:14 1547

原创 Solr 6.0 学习(十一)solr writer自定义

CustomerResponseWriterpackage com.upxiaofeng.solr;import java.io.IOException;import java.io.Writer;import org.apache.solr.common.util.NamedList;import org.apache.solr.request.SolrQueryRequest;import

2017-01-04 15:55:35 679

原创 Solr 6.0 学习(十)QueryResponseWriter 源码解析

QueryResponseWriter 源码解析看到上一篇 中获取响应回写实例的时候返回类型为:QueryResponseWriter public final QueryResponseWriter getQueryResponseWriter(String writerName)QueryResponseWriter responseWriter = core.getQueryRespons

2017-01-04 15:41:46 1618

原创 Solr 6.0 学习(九) SolrDispatchFilter源码解析之HttpSolrCall及扩展

这段源码特别重要,如果想在solr应用之上开发自己的代码,这段源码很值得研究。HttpSolrCallpackage org.apache.solr.servlet;import java.io.EOFException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;impo

2016-12-29 11:50:17 1957

原创 Solr 6.0 学习(八) SolrDispatchFilter源码解析及solr扩展

传送门:老版SolrDispatchFilter源码解析SolrDispatchFilter做了什么我们发布好我们的solr6.X之后我们可以看到项目下web.xml中一段配置<!-- Any path (name) registered in solrconfig.xml will be sent to that filter --> <filter> <filter-name>Sol

2016-12-29 11:21:33 3996 2

原创 Effective Java 学习笔记(十、十一、十二)

【 第10条:始终要覆盖toString】其实这条是一种编程的规范,我们在定义bean的时候最好覆盖toString方法。 举例来说:人可以抽象为一个bean,里面有属性姓名、性别、升高、年龄。我们期望toString出来看到这些信息,而不是一串看不懂的DNA分子结构。package com.effective.java;public class Pepole { private Stri

2016-12-09 14:53:27 308

spring cloud dalston中文PDF文档

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

2018-10-14

H5 可拖拽验证码

H5 移动 拖拽 验证码

2017-06-09

ADT 百度地图选点定位以及POI

完整的android 百度地图 选点定位

2015-09-16

maven插件+eclipse

maven+eclipse所需的插件

2015-03-31

spring mvc2.5+hibernate3.0 整合jar

spring mvc2.5+hibernate3.0 整合jar 还有jdbc jar jstl jar

2014-08-08

jquery1.7.2 api

jquery1.7.2 中文版api,方便英文不好的童鞋们jquery的学习

2014-07-08

空空如也

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

TA关注的人

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