自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yufeiyanliu的专栏

新博客地址: https://ethendev.github.io/

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

原创 SpringBoot之使用Hibernate Validator验证参数

转载自本人另一个博客: https://ethendev.github.io/2018/05/17/spring-hibernate-validator/开发 WEB 应用时参数校验必不可少。前端通过 js 校验参数合法性,后端也需要对参数进行校验。常见的做法是在 Controller 或者 Service 中通过 if 或者 assert 判断参数是否合法。这样的方式虽然简单,但是代码冗...

2018-07-21 22:46:32 4031

原创 SpringBoot中数据源读写分离配置

       开发中常用到主从数据库来提高系统的性能。怎么样才能方便的实现主从读写分离呢?通过事务注解里面的可读属性readOnly的取值来自动切换数据源, 从而实现数据库读写分离。1.主备数据源配置1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545...

2018-03-19 22:09:36 2268 1

原创 配置GitHub pull request时jenkins自动构建

      当开发人员向GitHub的master分支提交pull request时,需要相关的人员进行review后,才merge到master分支。通过Jenkins,可以很方便的实现pull request时自动触发构建、测试代码,极大的提高工作效率。下面简单介绍一下配置步骤。一、安装插件首先安装GitHub Pull Request Builder Plugin 插件,然后在 jenkin...

2018-03-19 21:45:24 3880

原创 Mybatis自动分页插件

虽然网上已经有分页插件了,但是觉得太复杂了,自己实现了一个比较简单的Mybatis分页插件。在讲解如何实现分页插件之前,我们先简单介绍一下Mybatis中的一些重要的对象。我们通过映射器Mapper对数据库进行增删改操作时,Mapper执行的过程是通过Executor、StatementHandler、ParameterHandler和ResultHandler来完成对数据库的操作和返回结果的。...

2018-01-01 00:57:16 2087

原创 spring boot跨域解决办法

项目中经常会遇到前后端分离的情况,分离之后会碰到一个问题,前段无法访问后端的接口,而直接在浏览器窗口中请求接口是可以访问的。可以通过代码的方式解决跨域前段无法访问后端的情况。

2017-08-23 20:57:17 1242

原创 SpringBoot使用Gradle构建war包

rint Boot默认将应用打包成可执行的jar包。有时候需要打包成war包部署在tomcat等容器。下面简单介绍下打包的步骤。

2017-07-29 12:23:12 5180

原创 Java内存模型

主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,后者是线程私有的,不会被共享。 Java内存模型中规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存(可以与前面将的...

2017-07-12 23:35:42 184

原创 JVM类加载机制

类加载过程虚拟机把描述类的数据从class文件加载到内存,到使用完卸载出内存为止,它的整个生命周期包括如下几个过程:加载:查找和导入Class文件。验证:检查载入Class文件的字节流中包含的信息是否符合当前虚拟机的要求。验证阶段大体上会完成:文件格式、元数据、字节码、符号引用验证。准备:给类的静态变量分配存储空间。解析:将常量池内的符号引用转成直接引用的过程。初始化:根据java文件中的代码初始...

2017-07-06 09:29:35 202

原创 JVM中对象的创建过程

在使用java开发程序的时候,用new就可以创建出一个对象。在这个创建对象的过程中,JVM做了不少的工作,流程大体如下:Created with Raphaël 2.1.2Startnew 指令定位类引用,是否被加载?分配内存并初始化零值按java代码进行初始化End执行类加载yesno定位符号引用首先,JVM接到new指令时,将会检查这个指令的参数能否在常量池中定位到一个类的...

2017-06-23 23:22:02 478

原创 JVM运行时内存区域

java虚拟机在执行java程序的过程中,会把自己所管理的内存划分为几个不同的区域。每个区域的作用不同,创建和销毁的时间也不同。java虚拟机所管理的内存分为以下几个运行时区域:方法区 方法区(Method Area)是被所有线程共享区域,用于存放已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。(对应JVM内存配置中的-PermSize等)。 方法区中包含运行时常...

2017-06-23 17:02:13 622

原创 IO

IO流分类IO流体系

2017-06-09 23:20:45 241

原创 office online server实现文档的预览编辑

最近项目中需要用到office文件在线编辑功能,然而很多解决方案都是收费的,于是决定采用微软免费的microsoft office online 2016和wopi 协议来实现。wopi 协议 WOPI的英文全称是“Web Application Open Platform Interface”,中文名为“Web应用程序开放平台接口协议”。WOPI协议提供一系列基于web方式的,使文档能在Off

2017-04-18 12:09:40 30030 62

转载 Redis简介

Redis简介Redis是基于内存,也可以基于磁盘持久化nosql数据库,使用c语言开发。数据存储结构:key-value安装环境准备Redis使用c语言开发,需要使用gcc编译程序进行编译。1) 安装gcca) 从磁盘镜像中进行安装:(重启Linux服务器需要重新挂载磁盘镜像)b) 使用yum命令直接从mine.repo文件中本地URL下载

2017-03-16 10:34:47 284

原创 Semaphore

SemaphoreSemaphore是一个线程同步的辅助类,可以维护当前访问自身的线程个数。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。相关方法:  void acquire(): 从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。  void release(): 释放一个许可,将其返回给信号量。  in...

2017-02-25 13:34:25 362

原创 CyclicBarrier

CyclicBarrier 翻译过来叫循环栅栏,其主要的功能是,让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会打开,所有被屏障拦截的线程才会继续执行。

2017-02-25 13:13:53 334

原创 hadoop2.7.3集成eclipse遇到的问题及解决方案

这几天在学Hadoop,在此过程中遇到一些问题,将解决的过程记录下来,帮助其他遇到类似问题的朋友。首先按照网上的教程下载了hadoop的eclipse插件,放到eclipse的plugins目录后重启eclipse,在windows->preferences中并没有出现hadoop Map/Reduce选项。原因有以下几个:一、下载的jar包有问题我

2016-12-22 14:54:06 3202

原创 CountDownLatch

1.简要介绍CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。2、使用场景

2016-12-20 15:15:10 316

原创 Spring MVC不能直接接收list类型参数的问题

前端使用jquery向后台传递数组类型的参数,java后台直接通过list类型接收,会发现无法取到参数的情况。就像下面的情况:前端代码$.ajax{ url:"xxxx", data:{ p: ["123", "456", "789"] }}后台代码@RequestMapping("/getEvent

2016-12-19 13:54:15 19396 3

原创 GC算法

GC是Java的垃圾回收。垃圾收集算法有如下几种:(1)、Mark-Sweep(标记-清除)算法  这是最基础的垃圾回收算法,之所以说它是最基础的是因为它最容易实现,思想也是最简单的。标记-清除算法分为两个阶段:标记阶段和清除阶段。标记阶段的任务是标记出所有需要被回收的对象,清除阶段就是回收被标记的对象所占用的空间。具体过程如下图所示:  从图中可以很容易看出标记-清除算法实现起来比较容易,但是有...

2016-11-02 20:07:14 545

原创 SQL执行顺序

数据库是大多数程序员经常接触的东西。虽然项目中经常写sql,相信有部分人对sql的执行顺序了解的不多。这里简单的介绍一下。首先,SELECT语句的基本语法如下:

2016-08-25 20:26:26 444

hadoop-eclipse-plugin-2.7.3.jar

亲测 eclipse Version: Mars.2 Release (4.5.2),jdk1.7.0_79可用

2016-12-22

解压zip文件和复制一个目录下所有文件到另一个目录

用VS2010写的C++小程序,可以解压zip文件,还可以实现将解压出来的临时文件夹下所有文件移到另一个目录。用的时候记得改一下工程文件中zip文件的路径。

2014-03-06

C++下载小程序

C++实现的自动下载小程序,亲测可下载网上资源

2014-02-21

公交查询系统

公交查询系统,java编写,用的是sql server数据库,可实现站点查询,路线查询,站站查询

2013-07-26

java教学课件

很详细的java教学ppt课件,希望对各位有用

2012-07-24

空空如也

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

TA关注的人

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