- 博客(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
4111
原创 SpringBoot中数据源读写分离配置
开发中常用到主从数据库来提高系统的性能。怎么样才能方便的实现主从读写分离呢?通过事务注解里面的可读属性readOnly的取值来自动切换数据源, 从而实现数据库读写分离。1.主备数据源配置1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545...
2018-03-19 22:09:36
2335
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
3994
原创 Mybatis自动分页插件
虽然网上已经有分页插件了,但是觉得太复杂了,自己实现了一个比较简单的Mybatis分页插件。在讲解如何实现分页插件之前,我们先简单介绍一下Mybatis中的一些重要的对象。我们通过映射器Mapper对数据库进行增删改操作时,Mapper执行的过程是通过Executor、StatementHandler、ParameterHandler和ResultHandler来完成对数据库的操作和返回结果的。...
2018-01-01 00:57:16
2148
原创 spring boot跨域解决办法
项目中经常会遇到前后端分离的情况,分离之后会碰到一个问题,前段无法访问后端的接口,而直接在浏览器窗口中请求接口是可以访问的。可以通过代码的方式解决跨域前段无法访问后端的情况。
2017-08-23 20:57:17
1284
原创 SpringBoot使用Gradle构建war包
rint Boot默认将应用打包成可执行的jar包。有时候需要打包成war包部署在tomcat等容器。下面简单介绍下打包的步骤。
2017-07-29 12:23:12
5248
原创 Java内存模型
主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,后者是线程私有的,不会被共享。 Java内存模型中规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存(可以与前面将的...
2017-07-12 23:35:42
211
原创 JVM类加载机制
类加载过程虚拟机把描述类的数据从class文件加载到内存,到使用完卸载出内存为止,它的整个生命周期包括如下几个过程:加载:查找和导入Class文件。验证:检查载入Class文件的字节流中包含的信息是否符合当前虚拟机的要求。验证阶段大体上会完成:文件格式、元数据、字节码、符号引用验证。准备:给类的静态变量分配存储空间。解析:将常量池内的符号引用转成直接引用的过程。初始化:根据java文件中的代码初始...
2017-07-06 09:29:35
226
原创 JVM中对象的创建过程
在使用java开发程序的时候,用new就可以创建出一个对象。在这个创建对象的过程中,JVM做了不少的工作,流程大体如下:Created with Raphaël 2.1.2Startnew 指令定位类引用,是否被加载?分配内存并初始化零值按java代码进行初始化End执行类加载yesno定位符号引用首先,JVM接到new指令时,将会检查这个指令的参数能否在常量池中定位到一个类的...
2017-06-23 23:22:02
527
原创 JVM运行时内存区域
java虚拟机在执行java程序的过程中,会把自己所管理的内存划分为几个不同的区域。每个区域的作用不同,创建和销毁的时间也不同。java虚拟机所管理的内存分为以下几个运行时区域:方法区 方法区(Method Area)是被所有线程共享区域,用于存放已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。(对应JVM内存配置中的-PermSize等)。 方法区中包含运行时常...
2017-06-23 17:02:13
665
原创 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
30472
33
转载 Redis简介
Redis简介Redis是基于内存,也可以基于磁盘持久化nosql数据库,使用c语言开发。数据存储结构:key-value安装环境准备Redis使用c语言开发,需要使用gcc编译程序进行编译。1) 安装gcca) 从磁盘镜像中进行安装:(重启Linux服务器需要重新挂载磁盘镜像)b) 使用yum命令直接从mine.repo文件中本地URL下载
2017-03-16 10:34:47
312
原创 Semaphore
SemaphoreSemaphore是一个线程同步的辅助类,可以维护当前访问自身的线程个数。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。相关方法: void acquire(): 从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 void release(): 释放一个许可,将其返回给信号量。 in...
2017-02-25 13:34:25
395
原创 CyclicBarrier
CyclicBarrier 翻译过来叫循环栅栏,其主要的功能是,让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会打开,所有被屏障拦截的线程才会继续执行。
2017-02-25 13:13:53
384
原创 hadoop2.7.3集成eclipse遇到的问题及解决方案
这几天在学Hadoop,在此过程中遇到一些问题,将解决的过程记录下来,帮助其他遇到类似问题的朋友。首先按照网上的教程下载了hadoop的eclipse插件,放到eclipse的plugins目录后重启eclipse,在windows->preferences中并没有出现hadoop Map/Reduce选项。原因有以下几个:一、下载的jar包有问题我
2016-12-22 14:54:06
3254
原创 CountDownLatch
1.简要介绍CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。2、使用场景
2016-12-20 15:15:10
361
原创 Spring MVC不能直接接收list类型参数的问题
前端使用jquery向后台传递数组类型的参数,java后台直接通过list类型接收,会发现无法取到参数的情况。就像下面的情况:前端代码$.ajax{ url:"xxxx", data:{ p: ["123", "456", "789"] }}后台代码@RequestMapping("/getEvent
2016-12-19 13:54:15
19623
3
原创 GC算法
GC是Java的垃圾回收。垃圾收集算法有如下几种:(1)、Mark-Sweep(标记-清除)算法 这是最基础的垃圾回收算法,之所以说它是最基础的是因为它最容易实现,思想也是最简单的。标记-清除算法分为两个阶段:标记阶段和清除阶段。标记阶段的任务是标记出所有需要被回收的对象,清除阶段就是回收被标记的对象所占用的空间。具体过程如下图所示: 从图中可以很容易看出标记-清除算法实现起来比较容易,但是有...
2016-11-02 20:07:14
656
原创 SQL执行顺序
数据库是大多数程序员经常接触的东西。虽然项目中经常写sql,相信有部分人对sql的执行顺序了解的不多。这里简单的介绍一下。首先,SELECT语句的基本语法如下:
2016-08-25 20:26:26
482
解压zip文件和复制一个目录下所有文件到另一个目录
2014-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人