自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (3)
  • 收藏
  • 关注

原创 validate 复合参数校验

1、后台实体类public class Parent { //年龄 private int age; //姓名 private String name; //用户 private User user; public int getAge() { return age; } public void setAge(int age) { this.age = age; }

2018-01-17 10:54:34 799 1

转载 Java transient关键字使用小记

哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1. transient的作用及使用方法      我们都知道一个对象只要实现了Serilizable接口,这个对象就可以

2018-01-10 10:55:42 288

转载 一致性哈希算法(consistent hashing)

转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到

2017-09-08 09:56:38 384

转载 线上服务CPU100%问题快速定位实战

功能问题,通过日志,单步调试相对比较好定位。 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底。 58到家架构部,运维部,58速运技术部联合进行了一次线上服务CPU问题排查实战演练,同学们反馈有收获,特将实战演练的试题和答案公布出来,希望对大家也有帮助。 题目某服务器上部署了若干tomcat实例,

2017-08-21 15:39:38 320

原创 Spring Junit4 单元测试回滚

问题在单元测试修改、删除......等,有可能让持久化数据发生变化的操作,数据回回滚是我们首先要考虑的。解决步骤:1、添加对应依赖 junit junit 4.12 test org.springframework spring-test 3.2.3.RELEASE2、开启spring的事务管理

2017-08-16 17:50:32 822

转载 maven scope含义的说明

依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围:compile (编译范围)compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。provided (已提供范围)provided 依赖只有在当JDK 或者一个容器已提

2017-08-14 16:02:04 198

原创 maven---安装与pom.xml文件

1、下载mavenmaven下载地址:https://maven.apache.org/download.cgi2、配置maven在系统属性--->高级--->环境变量中分别配置M2_HOME和Pathname==M2_HOMEvalue==D:\apache-maven-3.5.0Path==%M2_HOME%\bin;测试安装是否成功:mvn -v3、M

2017-08-12 14:43:10 2470

原创 常用正则表达式

汇集了常用的正则表达式,以后大家不用再从网上各种搜索了,欢迎批评指正。名称表达式备注电话号码/^(\d{3,4}-?)?\d{7,9}$/g 手机号码/^(((13[0-9]{1})|(15[0-35-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/ 身份证15位: /^(\

2017-08-04 14:20:50 199

原创 PropertyPlaceholderConfigurer,系统配置添加到操作系统环境变量

1、前段时间项目终于到一个这样的难题,项目经理说系统资源连接信息,不能明文存在项目中,有一些同时开始思考着,配置文件加密之类的东西,后来突然闪现一个想法,既然配置信息不让明文存在,我直接不要配置文件了,这不更直接吗?当时的主要思路就是把系统的配置信息存储到操作系统的环境变量中,问题的关键是怎么从环境变量中获取。2、下面我们来介绍一下传统的web项目,spring配置及数据库等连接信息

2017-08-01 18:23:59 1217

原创 设计token防重复性提交

1、思想,通过springmvc的自定义注解的方式,当请求过来给该请求设置一个uuid,当请求结束,uuid消除2、springmvc中token拦截器配置 3、token拦截器的自定义注解的设计import java.lang.annotation.ElementType;import java.lang.annotation.Retention;

2017-08-01 09:57:45 599

原创 spring集成solr并测试

1、首先介绍一下solr查询,各关键字代表的意思参数描述示例qSolr 中用来搜索的查询。有关该语法的完整描述,请参阅 参考资料 中的 “Lucene QueryParser Syntax”。可以通过追加一个分号和已索引且未进行断词的字段(下面会进行解释)的名称来包含排序信息。默认的排序是 score desc,指按记

2017-08-01 09:44:01 4696

原创 json权限父子包含,层层迭代

1、json解析的jar是阿里的fastjson2、模拟数据private static List getNodes(){ List nodes = new ArrayList(); Node node1 = new Node(); node1.setId(1); node1.setName("no

2017-08-01 09:28:57 1310

原创 sessionScope前端权限限制

1、从存储系统中获取用于对应的权限存储到session中session.setAttribute("authority", roleService.strAuthority(user.getRoleId()));这里"authority"数据格式是一个字符串,10000#20000#30000#30001这种结构,其中数字为权限对应的ID2、前端判断是否应该拥有该权限

2017-08-01 09:15:23 1980

转载 Java递归应用:输出树形菜单

树节点类:[java] view plain copy print?package cn.com.tree;    public class Node {      private Integer id;      private Integer parentId;      private String name;     

2017-07-27 07:47:49 623

转载 springMVC整合Junit4进行单元测试

版权声明:本文为博主原创文章,未经博主允许不得转载。用Junit做单元测试的好处多多,博主领悟到了两点。一是不用在每个类里面都写main方法然后去测试;二是可以得到每个方法执行所消耗的时间,不用自己计算。springMVC集成Junit4需要两个jar包:junit-4.10.jar和spring-test-4.2.0.RELEASE.jar。jar包下载地址:http://d

2017-06-13 18:50:27 397

转载 springmvc cas maven sso 详解

下载 cas-server 4.4.0 http://download.csdn.net/download/knight_black_bob/9698176  cas-server & tomcat   http://download.csdn.net/download/knight_black_bob/9698717cas client springmvc  http://dow

2017-06-08 13:03:37 1369

转载 使用Eclipse构建Maven项目 (step-by-step)

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。本文仅对Eclipse中如何安装、配置和使用Maven进行了介绍。完全step by step。如果觉得本文对你有用,请移步到:http://download.csdn.net/detail/qjyong/5582071 下载PDF版,http://download.csdn.net/de

2017-06-08 09:41:25 360

转载 git 四个状态和三个区域

四个状态和三个区域Git内部只有三个状态,分别是未修改unmodified、修改modified、暂存staged。对于没有加入Git控制的文件,可以视为第四种状态未跟踪untracked。       Git文件流转有三个区域,分别是工作区域、索引区域、本地数据区域。工作树中的文件添加到git版本控制索引中,则git开始对文件进行跟踪监控。索引区域也可以理解为数据暂存区域

2017-05-26 10:23:14 703

转载 Java 高并发缓存与Guava Cache

一.背景      缓存是我们在开发中为了提高系统的性能,把经常的访问业务的数据第一次把处理结果先放到缓存中,第二次就不用在对相同的业务数据在重新处理一遍,这样就提高了系统的性能。缓存分好几种:(1)本地缓存。(2)数据库缓存。(3)分布式缓存。      分布式缓存比较常用的有memcached等,memcached是高性能的分布式内存缓存

2017-05-15 15:15:01 2529

转载 JUC (Java Util Concurrency) 基础内容概述

1. JUC概况以下是Java JUC包的主体结构:Atomic : AtomicIntegerLocks : Lock, Condition, ReadWriteLockCollections : Queue, ConcurrentMapExecuter : Future, Callable, ExecutorTools : CountDownLatch, CyclicBarri

2017-04-19 10:47:36 233

转载 Java虚拟机类加载机制

虚拟机类加载机制:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。Java语言里,类型的加载和连接过程是在程序运行期间完成的。 类的生命周期:  加载 loading  验证 verification  准备 preparation  解析 resolution

2017-04-18 09:16:12 260

转载 web.xml文件的作用

每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。当你的we

2017-04-17 15:03:02 226

转载 Java内存模型浅析

JVM在执行java程序时会将它所管理的内存划分成若干个不同的数据区域。如图所示:其中方法区和堆是所有线程共享的数据区,其他区域则是线程隔离的数据区。这些区域的功能各有不同:程序计数器:可以理解为当前线程所执行的字节码的行号知识器。字节码解释器工作时会通过改变这个计数器的值来选取下一条需要执行的字节码指令。分支,循环,判断,异常处理,线程回复等功能都依赖这个计数器。

2017-04-16 22:19:01 274

转载 Spring3.0+Hibernate+Atomikos集成构建JTA的分布式事务--解决多数据源跨库事务

一、概念分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简言之,同时操作多个数据库保持事务的统一,达到跨库事务的效果。JTAJTA,即Java Transaction API,JTA允许应用程序执行分布式事务处理———在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了

2017-04-14 08:55:57 212

转载 基于消息队列和消息应用状态处理分布式事务

由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。    长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类面向低

2017-04-14 08:55:03 366

转载 分布式事务处理模型

一、传统的分布式事务模型   关于分布式事务,有一个被大家广泛接受的分布式处理模型:X/Open DTP模型。  该模型主要由4个组件构成:应用程序(Application Program)[AP]、资源管理器(Resource Manager)[RM]、事务管理器(Transaction Manager)[TM]和通信资源管理器(Communication Resource Ma

2017-04-14 08:54:34 1291

转载 非XA式Spring分布式事务

Spring应用的几种事务处理机制    Java Transaction API和XA协议是Spring常用的分布式事务机制,不过你可以选择选择其他的实现方式。理想的实现取决于你的应用程序使用何种资源,你愿意在性能、安全、系统稳健性、数据完整方面做出何种权衡。在这次JavaWorld大会上,来自SpringSource的David Syer跟大家分享了Spring应用的几种事务处理机制、

2017-04-14 08:53:54 315

转载 关于分布式事务、两阶段提交协议、三阶提交协议

随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提交。分布式

2017-04-14 08:53:11 318

转载 Spring 3.0 + Atomikos构建jta分布式事务

Spring3.0已经不再支持jtom了,不过我们可以用第三方开源软件atomikos(http://www.atomikos.com/)来实现。Atomikos是目前在分布式事务管理中做得相当不错的开源软件。有10年以上的经验,Atomikos保障您的关键事务和 防止昂贵的数据丢失在发生系统故障或事故中。Atomikos支持XA(全局事务)和NON-XA(非全局事务),NON-XA效率高于XA.

2017-04-14 08:40:57 439

转载 分布式事务最终一致性常用方案

目前的应用系统,不管是企业级应用还是互联网应用,最终数据的一致性是每个应用系统都要面临的问题,随着分布式的逐渐普及,数据一致性更加艰难,但是也很难有银弹的解决方案,也并不是引入特定的中间件或者特定的开源框架能够解决的,更多的还是看业务场景,根据场景来给出解决方案。根据笔者最近几年的了解,总结了几个点,更多的应用系统在编码的时候,更加关注数据的一致性,这样系统才是健壮的。一、基础理论

2017-04-13 15:06:43 1683

转载 Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm

JDK内置工具使用一、javah命令(C Header and Stub File Generator)二、jps命令(Java Virtual Machine Process Status Tool)三、jstack命令(Java Stack Trace)四、jstat命令(Java Virtual Machine Statistics Monitoring To

2017-04-12 17:37:55 578

转载 JDK监控和故障处理工具

前言      Sun公司声明这些jdk的命令行工具为:“没有技术支持并且是实验性质的”,但事实上,这些工具都非常稳定而且功能强大,能在处理应用程序性能问题、定位故障时发挥很大的作用。                一、jps:虚拟机进程状况工具      功能:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函

2017-04-12 14:03:55 555

原创 java 垃圾收集相关常用参数

参数描述UseSerialGC虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial+Serial Old的手机器组合进行内存回收UseParNewGC打开此开关之后,使用ParNew+CMS+Serial Old的收集器组合进行内存回收,Serial Old收集器将作为CMS收集器出现Concurrent ModeFai

2017-04-12 11:13:59 248

转载 Java垃圾回收器总结

什么是Java垃圾回收器Java垃圾回收器是Java虚拟机(JVM)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的自动分配(Memory Allocation)、自动回收(Garbage Collect)功能,这两个操作都发生在Java堆上(一段内存快)。某一个时点,一个对象如果有一个以上的引用(Rreference)指向它,那么该对象就为活着的(Live),

2017-04-11 15:53:36 199

转载 java 如何判断对象已死

已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了:引用计数给对象添加一个引用计数器,每当有一个地方引用他,计算器就加1;当引用失效时,计数器减1;任何时刻计数器为0的对象就是死的对象。 1. 这种方式被很多技术所采用,如FlashPlayer(AS3)、Python等,但是Java没有采用这种算法,原因是它很难解决对象之间相互循环引用的问题,例如

2017-04-11 14:50:37 1194

转载 Java虚拟机学习 - 对象访问

对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java] view plain copy print?Object objectRef = new Object();         假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个

2017-04-11 13:39:07 182

原创 java 内存区域及存放内容

1、程序计数器:程序执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖程序计数器完成。2、栈主要存储的是:局部变量表、操作栈、动态链接、方法出口等 信息局部变量表:存放的是编译器可知的各种基本数据类型(boolean、byte、char、short、int、float、long、

2017-04-10 17:23:45 2672

原创 Base64Code 加密与解密

package org.jymf.utils;import java.io.ByteArrayOutputStream;public class Base64Code { private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',

2017-04-10 11:42:22 1553

原创 MD5加密,缺少前置0的问题及解决

问题描述前段时间项目遇到这样一个问题,需要进行密码校验,发现request发送请求过来的数据,进行MD5加密的时候缺少前置0.问题解决public class MD5 { private static MD5 md5 = null; private final String ENCODING = "UTF-8"; private MD5(){}; public stat

2017-04-10 11:34:22 4741 1

原创 i++和++i的线程安全性问题

public class Test { private static AtomicInteger count= new AtomicInteger(0); public static void main(String[] args) throws InterruptedException{ for(int i=0;i<10000;i++){ new Thread(new Runnab

2017-04-07 12:26:35 1492

log4j2+slf4j+测试类日志按日期生成

log4j2+slf4j+测试类日志按日期生成

2017-01-04

FSCapture截图工具

截图工具

2017-01-02

select 实现多选

select 实现多选

2016-12-27

空空如也

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

TA关注的人

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