自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 收藏
  • 关注

转载 【Wildfly】从默认的自动重启修改为手动重启

最近在使用Wildfly作为Web服务器,用的是10.0.0版本。默认情况下,Wildfly的部署方式是通过将项目放到%WILDFLY_HOME%\standalone\deployments下的,然后Wildfly会自动部署,这就是它的自动部署模式。Wildfly的部署模式分为两种:自动部署模式手动部署模式而Wildfly官方推荐哪种方式,可见%WILDFLY_HOME%\s...

2019-01-10 23:58:00 482

转载 【Shiro】小读Shiro Filter

类继承结构图看不明白此图不要紧,后面慢慢提到此图的类:AbstractFilter,抽象过滤器它实现Filter、继承ServletContextSupport。它主要实现了init(FilterConfig filterConfig)方法,此方法主要设置了本类的FilterConfig filterConfig和ServletContextSupport的ServletCon...

2018-08-21 00:37:00 205

转载 【翻译】Apache Shiro10分钟教程

本文为翻译文,原文地址:http://shiro.apache.org/10-minute-tutorial.html介绍欢迎来到Apache Shiro的10分钟教程!通过这个教程,你会明白一个开发人员如何在他们的应用中使用Shiro,并且你也能够在10分钟内做到。概述什么是Apache Shiro?Apache Shiro是一个强大、易用的Java安全框架,它在身份验证、...

2018-03-17 20:38:00 211

转载 【翻译】Nginx的反向代理

本文为翻译文,原文地址:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/本文描述代理服务器的基本配置。你能学到如何将一个请求在不同的协议上从nginx转发到被代理服务器,如何修改被转发到被代理服务器的客户端的请求头,如何配置来自被代理服务器的响应的缓存。介绍代理通常用于将负载分发到几个服务器中,无...

2018-03-15 23:46:00 209

转载 【翻译】Nginx的HTTP负载均衡

本文为翻译文,原文地址:http://nginx.org/en/docs/http/load_balancing.html介绍将请求负载均衡到多个应用实例是一个常用的技术,它起到优化资源使用率、最大化吞吐量、降低延迟、保证容错性。Nginx是一个非常有效的HTTP负载均衡工具,它将请求分发到多个应用服务器,从而提升Web应用的性能、扩展性、可靠性。负载均衡策略Nginx支持以下...

2018-03-15 23:39:00 56

转载 【Nginx】Nginx在Linux下的入门介绍

Nginx的安装下载、解压从Nginx下载安装包,我下的是nginx-1.8.0.tar.gz。解压后的目录为:[root@blog third_package]# tar -zxf nginx-1.8.0.tar.gz [root@blog third_package]# ll nginx-1.8.0total 652drwxr-xr-x 6 1001 1001 409...

2018-03-15 23:06:00 78

转载 Quartz与Spring Boot集成使用

上次自己搭建Quartz已经是几年前的事了,这次项目中需要定时任务,需要支持集群部署,想到比较轻量级的定时任务框架就是Quartz,于是来一波。版本说明通过搜索引擎很容易找到其官网,来到Document的页面,当前版本是2.2.x。简单的搭建操作通过Maven引入所需的包:<dependency> <groupId>org.quartz-sche...

2018-02-21 13:05:00 246

转载 【Java基础】Java注解简单入门

注解简单来说就是配置,是特别的配置,之前常用的配置文件,可以用注解替换。然后通过反射去获取注解的信息。如何定义一个注解你在IDE中新建一个注解定义,是这样的结构的:package com.nicchagil.exercise.springbootexercise.annotation;public @interface MyFirstAnnotation {}然后大概有4...

2017-12-30 21:29:00 73

转载 【小工具】根据定义的白名单字段进行Bean的拷贝

背景Bean的拷贝一直有一些类可以使用,比如Apache的org.apache.commons.beanutils.BeanUtils或者Spring的org.springframework.beans.BeanUtils。根据定义的白名单字段进行Bean的拷贝我需要一个只拷贝我指定的字段的Bean拷贝,而Spring的org.springframework.beans.BeanU...

2017-12-30 17:45:00 176

转载 【Java】Java8的Lambda入门记录

简化定义匿名实现类匿名实现类的传统方式创建一个线程,需要实现Runnable接口,并实现public void run()方法,用传统的方式是这样的: public static void main(String[] args) { new Thread(new Runnable() { @Override pu...

2017-09-17 21:58:00 105

转载 【Java】浅谈Java IO

注意本文的代码,为了学习方便,简化代码复杂度,未考虑拆包、粘包等情况的处理。所以仅供学习使用,不能用于实际环境。阻塞IO,BIOJava1.1发布的IO是BIO。阻塞地连接之后,通过流进行同步阻塞地通讯。同步阻塞连接因同步阻塞地监听连接,如果服务端只有单线程进程处理,每个请求必须等待前一请求处理完毕才开始处理新请求。所以,一般情况下,服务端每接收一个请求,可交派给一个线程处理...

2017-09-09 13:58:00 100

转载 【工具】我的Git学习日志

使用github一段时间,一直使用的是可视化工具,配合公司转用git,提前联系下git的命令。安装windows上安装git从git for windows下载安装包,我下的是Git-2.13.0-64-bit.exe,按默认选项安装。安装完毕后,用命令查下版本看是否安装正常:D:\git-exercise-workspace>git --versiongit vers...

2017-09-08 20:56:00 114

转载 【Java】浅谈HashMap

HashMap是常用的集合类,以Key-Value形式存储值。下面一起从代码层面理解它的实现。构造方法它有好几个构造方法,但几乎都是调此构造方法: public HashMap(int initialCapacity, float loadFactor) { // 初始容量,过载因子 if (initialCapacity < 0) // 初始容量&lt...

2017-08-21 16:17:00 84

转载 【Java】Java Queue的简介

阻塞队列阻塞队列有几个实现:ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueueDelayQueueSynchronousQueueLinkedTransferQueueLinkedBlockingDeque他们的共同父类是AbstractQueue。我们一起看ArrayBlockingQueue的实现...

2017-08-19 00:05:00 55

转载 【ZooKeeper】ZooKeeper入门流水记

单机模式下载zookeeper的包wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz解压、分解归档包gzip -d zookeeper-3.4.9.tar.gztar -xf zookeeper-3.4.9.tar修改配置文件查看下默认的配置文件,基本符合...

2017-08-06 00:35:00 139

转载 【MQTT】Mosquitto的安装与使用流水记

最近使用MQTT,安装Mosquitto试一下,并记录下来。软件准备从官网获取安装包:wget http://mosquitto.org/files/source/mosquitto-1.4.14.tar.gz还需要安装一些依赖的软件,我的机器目前缺少的软件(你的机器可能缺少的更多):yum install libuuid-devel安装tar -zxvf mosquitt...

2017-07-31 00:26:00 148

转载 【数据结构】简单的数据结构图解

毕业许多年,最近在准备一个考试,刚好有数据结构,将可能考的数据结构用图理解,是些比较简单的。栈队列顺序线性表链式线性表二叉树冒泡排序转载于:https://www.cnblogs.com/nick-huang/p/7062353.html...

2017-07-27 22:02:00 175

转载 【Java多线程】JDK1.5并发包API杂谈

并发与并行并发一个或多个处理器执行更多的任务(通过划分时间片来执行更多的任务),从逻辑上实现同时运行:如,N个并发请求在一个两核CPU上:并行N个处理器分别同时执行N个任务,从物理上实现同时运行:线程互斥阻塞地加锁,通过ReentrantLock.lock()阻塞地加锁阻塞地加锁的意义,在于在多线程环境下,同一时刻只有一个线程执行加锁代码,其他线程阻塞在加锁代码之前...

2017-07-16 14:34:00 104

转载 【Python】Python的安装与个人使用记录

下载从官网上下载,目前,最新版是Python3,基于项目需求,我们使用的是Python2。我是在CentOS上安装,下载的是Python-2.7.9.tgz。安装tar -zxvf Python-2.7.9.tgzcd Python-2.7.9./configuremakemake install测试安装完毕,用python测试,如果看到版本信息说明安装成功。用exi...

2017-07-09 21:53:00 62

转载 【Java虚拟机】浅谈Java虚拟机

跨平台Java的一大特性是跨平台,而Java是如何做到跨平台的呢?主要依赖Java虚拟机,具体来说,是Java虚拟机在各平台上的实现。Java虚拟机在不同的平台有不同的实现。同一份字节码,通过运行在不同平台上的Java虚拟机,可以完成相同的处理逻辑。这样,由不同平台的Java虚拟机屏蔽了不同平台的差异,开发者无需针对不同的平台编写不同的代码。而字节码,即class文件,由Jav...

2017-07-06 22:42:00 154

转载 【MySQL】MySQL层级数据的递归遍历

层级的业务数据在系统中很常见,如组织机构、商品品类等。如果要获取层级数据的全路径,除了缓存起来,就是递归访问的方式了:将层级数据缓存在redis中,用redis递归获取层级结构。此方法效率高。在MySQL中做递归遍历,(Oracle有递归的语法支持,而MySQL并没有),需要自己写函数去递归。此方法效率低。程序运行基于效率要求,一般使用Redis去递归。本次,因为初始化数据需...

2017-06-23 13:00:00 1039

转载 【编码】Base64编码

简述为什么叫Base64?个人理解是,基础的64个字符。而它的作用?用基础的(可理解为可安全传输的)64个字符,来表示难以表示的二进制或对程序造成干扰的字符。Base64的编码过程自行编码分析Base64的编码方式Base64的编码范围import org.junit.Test;public class Base64Map { public stati...

2017-06-17 10:40:00 83

转载 【设计模式】简单工厂模式

简述简单工厂模式,通过一个方法获取需要的Bean。如果一个工厂方法可获取不同的类,那么可通过入参判断,入参也许为字符串、数字或者枚举。简单的例子最简单的就是通过流程判断来确定获取哪个类的实例。public class OrderHandlerFactory { public static OrderHandler getOrderHandler(OrderHandler...

2017-06-15 22:15:00 75

转载 【设计模式】适配器模式与Reader、InputStream之间的适配

简述适配器模式,目的是将A对象通过适配、转换的方式转换成B对象来使用,为什么转换为B对象?因为用户通过依赖B对象来使用。适配器的实现有两种方式。继承实现组合实现基于Java单继承的机制,组合实现的方式更为常见、灵活。Reader、InputStream之间的适配,字符流、字节流之间的适配Demo代码就不写了,去JDK看一个使用例子,是很好的参考,就是IO中的Reader...

2017-06-14 22:56:00 394

转载 【设计模式】装饰器模式与Java Servlet、Spring Session在其中的使用

简述装饰器模式,可以通过装饰器类,通过依赖原实现的方式(不使用继承),达到扩展原实现的目的。UML图如下:ServletRequestWrapper于其中的使用ServletRequestWrapper是ServletRequest接口的简单实现,开发者可以继承ServletRequestWrapper去扩展原来的request。这里,我不写装饰器的Demo代码,因为Servl...

2017-06-14 16:21:00 83

转载 【Spring】Spring Session的简单搭建与源码阅读

搭建一个简单的Spring Session例子引入依赖包 <dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-red...

2017-06-11 23:29:00 91

转载 【Spring】Spring,我的零散使用杂记

通过Java类设置配置信息,JavaConfigSpring常用的通过XML或者@Controller、@Servoce、@Repository、@Component等注解注册Bean,最近看Spring Session的源码,知道还有JavaConfig注册Bean的方式,就是通过@Configuration、@Bean注册Bean。引用依赖包:<dependencies&...

2017-06-11 15:43:00 58

转载 CORS跨域、Cookie传递SessionID实现单点登录后的权限认证的移动端兼容性测试报告...

简述本文仅记录如标题所述场景的测试所得,由于场景有些特殊,且并不需兼容所有浏览器,所以本文的内容对读者也许并无作用,仅为记录。场景、与实现需在移动端单点登录需在移动端跨域访问我们的服务基于历史原因:单点登录验证后,如Web网站一样,用Cookie携带SessionID到服务器,服务器根据SessionID管理该用户会话、权限跨域用CORS,在服务端和客户端有如下设置。...

2017-06-10 19:13:00 113

转载 【Fiddler】Fiddler抓包

简述在调试H5页面、APP的网络请求时,常用Fiddler进行抓包,查看网络报文是否如我们设想。当然,Fiddler也可对我们电脑端发出HTTP请求进行抓包。Fiddler是以代理的形式运行的,即浏览器发出请求经过Fiddler到达服务器,服务器返回的响应经过Fiddler到达浏览器。比如,打开Fiddler,你会发现浏览器的代理设置变了。原来的IE设置:打开Fiddler...

2017-06-09 23:09:00 70

转载 一起学习Maven

Maven是项目构建工具,能根据配置构建起一个项目。Maven中有一个配置文件,叫pom.xml,而pom的全称是Project Object Model,即项目对象模型,它配置的目标对象是项目。如何安装Maven可见另一篇博文“【Maven】Maven的安装与入门使用”。新建一个Maven项目这里就不用Maven命令新建项目了,我们用Eclipse创建项目吧,然后右键项目名 ...

2017-06-05 20:57:00 65

转载 分布式系统接口调用回滚方案

转载于:https://www.cnblogs.com/nick-huang/p/6921788.html

2017-05-31 15:18:00 785

转载 【FastDFS】FastDFS在CentOS的搭建

准备安装软件[root@blog third_package]# cp fastdfs-nginx-module_v1.16.tar.gz FastDFS_v5.08.tar.gz libfastcommon-master.zip nginx-1.8.0.tar.gz /opt安装libfastcommon-master[root@blog opt]# unzip /opt/li...

2017-05-29 15:17:00 134

转载 【Java】Java日志框架Logback的简单例子

常用的日志框架SLF4J,全称Simple Logging Facade for Java,即Java简单日志外观框架,顾名思义,它并非具体的日志实现,而是日志外观框架java.util.logging,是JDK自带的一个日志实现框架Logback,一个流行的日志实现框架LOG4J,一个流行的日志实现框架java.util.loggingjava.util.logging...

2017-05-29 15:10:00 76

转载 【工具】Sublime + MarkdownEditing + OmniMarkupPreviewer使用起来

Package Control的安装下载安装Sublime Text3后,View -> Show Console调用Console。在Console输入以下代码安装:import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path()...

2017-05-29 09:21:00 115

转载 【原理】Java的ThreadLocal实现原理浅读

当前线程的值传递,ThreadLocalThreadLocal,顾名思义,即线程本地环境。具体用途是,在本线程上下文内,通过ThreadLocal.set()设值,可通过ThreadLocal.get()取值。public class BasicUsage { private static ThreadLocal<Integer> threadLoca...

2017-05-27 23:02:00 85

转载 【设计模式】简单工厂模式和工厂方法模式

简单工厂模式顾名思义,此模式的设计结构是简单的,核心是生产对象。一般来说,运用工厂模式生产的对象应该是构建对象的过程比较复杂的,获取构建对象的过程在日后可能发生变更的。简单工厂模式,在工厂类中直接生产对象,即工厂类中直接依赖对象类。代码见:https://github.com/nicchagil/design-pattern-exercise-with-java...

2017-05-13 17:28:00 99

转载 【数据结构与算法】快速排序

程序:package com.nicchagil.generics.study.No099快速排序;public class QuickSort { public static void sort(int[] array, int left, int right) { if (left > right) { Sys...

2017-05-07 21:43:00 69

转载 【数据结构与算法】二分查找

最近看MySQL索引原理,得知在InnnoDB引擎下其数据结构为B+树,而B+树每个节点上有多个key,当查找某个key时使用二分查找。所以,付下下二分查找吧~前提:查找的数组本身应是有序的。过程:public class BinarySearch { public static void main(String[] args) { int[] valu...

2017-05-01 21:47:00 70

转载 【Kryo】简单地使用Kryo

公司用Kryo,先接触下,简单记录下。引入包 <dependencies> <dependency> <groupId>com.esotericsoftware</groupId> <artifactId>kryo</artifactId> ...

2017-04-30 17:49:00 87

转载 【多线程】死锁与Java栈跟踪工具

今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下。死锁常见的情况是A线程持有a锁、阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态。import java.util.concurrent.TimeUnit;public class CyclicLock { private static Object o1 = new Obje...

2017-04-18 21:19:00 78

空空如也

空空如也

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

TA关注的人

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