自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 SpringBoot中的thymeleaf布局

Pom依赖<dependency> <groupId>nz.net.ultraq.thymeleaf</groupId> <artifactId>thymeleaf-layout-dialect</artifactId> <version>2.2.2</version><...

2019-07-26 14:47:00 277

转载 SpringBoot 异步支持

异步调用-无返回值在启动类上需要添加上@EnableAsync注解开启异步支持@EnableAsync@SpringBootApplicationpublic class SpringbootStudyApplication { public static void main(String[] args) { SpringApplication.run(...

2019-07-16 08:39:00 187

转载 Groovy 脚本引发的 Old GC问题

近期上线了一个系统,鉴权部分使用了Groovy脚本,示例代码如下ScriptEngineManager factory = new ScriptEngineManager();ScriptEngine engine = factory.getEngineByName("groovy");String function = String.format("def getTargetP...

2019-04-20 19:16:00 230

转载 Java8 新特性笔记

Lambda表达式 public void test01() { Comparator<Integer> comparator1 = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2...

2018-11-03 12:48:00 123

转载 MySQL字段默认值踩坑记录

问题2018.08.15 由于测试环境代码更新到了最新版,但是DB结构未更新导致测试环境抛出大量异常,同步测试环境表结构时执行了以下SQL语句ALTER TABLE `server` ADD COLUMN `unit_name` varchar(50) NOT NULL DEFAULT '' COMMENT '容器名称', ADD KEY `idx_unit_name...

2018-11-02 17:41:00 147

转载 SpringMVC接收Postman post json数据

当postman向服务端post数据时,一般要求在body里已x-www-form-urlencoded格式写成key-value的形式。服务端通过以下代码可以取到参数final Map<String, String> allParams = Maps.newHashMap();final Enumeration<String> paramEnum = req...

2018-08-29 20:36:00 421

转载 MySQL字段默认值踩坑记录

问题2018.08.15 由于测试环境代码更新到了最新版,但是DB结构未更新导致测试环境抛出大量异常,同步测试环境表结构时执行了以下SQL语句ALTER TABLE `xxx_server` ADD COLUMN `xxx_name` varchar(50) NOT NULL DEFAULT '' COMMENT 'xxx', ADD KEY `idx_xxx_nam...

2018-08-20 11:49:00 306

转载 DO-DTO相互转换时的性能优化

一般情况下,DO是用来映射数据库记录的实体类,DTO是用来在网络上传输的实体类。两者的不同除了适用场景不同外还有就是DTO需要实现序列化接口。从DB查询到数据之后,ORM框架会把数据转换成DO对象,通常我们需要再把DO对象转换为DTO对象。同样的,插入数据到DB之前需要将DTO对象转换为DO对象然后交给ORM框架去执行JDBC。通常用到的转换工具类BeanUtils是通过反射来实现的,...

2018-03-14 22:47:00 1016

转载 Mapstruct使用笔记

Mapstruct 可以用来处理java实体间的转换,比如DTO转DO,DO转DTO。Pom依赖如下<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.2.0...

2018-02-07 21:01:00 133

转载 记一次用JavaScript从知乎上找一个妹子的全过程

前言我承认我太无聊了。不对,我有的是干不完的活,只不过不想干,于是刷刷朋友圈,刚好看到一个妹子晒了一张知乎的截图,还特意把知乎昵称打了码。最最要命的是妹纸居然说就是不想让人知道自己的昵称。于是我心底无限的好奇心被激发得像脱缰的二狗了。。。方案其实要找到妹纸不难,思路很简单。找到截图上的问题,然后遍历问题下所有的答案,然后在答案中寻找关键字就可以定位到妹纸了。方案一当然是万能的...

2018-01-18 20:32:00 133

转载 Docker学习笔记-入门

创建一个新的 Docker 虚拟机测试环境为Macdocker-machine create --driver virtualbox default 这就在 VirtualBox 中创建了一台新的default虚拟机。该命令还会在~/.docker/machine/machines/default目录下生成一个 docker machine 的配置文件。只需执行一次crea...

2017-12-05 19:45:00 98

转载 Ganymed SSH-2 for Java学习笔记

Ganymed SSH-2 for Java 是什么Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。可以利用它直接在Java程序中连接SSH服务器。官网地址为 http://www.ganymed.ethz.ch/ssh2/ 可以看到最后的更新日志为2006年,是比较古老的一个工具了。下面看看这个工具可以做什么。环境准备Linux服务器准备测...

2017-11-16 20:11:00 466

转载 关于找工作,听听树莓老学长怎么说

前言最近经常有一些学弟学妹找我咨询找工作的事情,在给一脸懵逼的学弟学妹解答的时候也常想起我本科毕业的时候。作为有可能是树莓专业最资深(其实是年龄最大)的助班,谨以此文送给那些即将踏出校门的小鲜肉们,希望学长踩过的坑能帮到你们。本文的读者群体建议为不考研的大三或刚步入大四的本科生。如果你才大一或者大二,建议看完之后按ctrl+w之后回去写代码。如果你准备考研,建议看完之后按ctrl...

2017-09-22 12:57:00 208

转载 Jmeter压测简单Java接口

JmeterApache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。闲来无事写了一个demo来测试并发访问下的性能。Web程序关键部分代码如下@RequestMapping(value = "/jmeter")@Controllerpublic class TestContr...

2017-07-28 19:49:00 228

转载 财务系统重复付款case分析及解决方案

背景2017年6月27日杨晨值日的过程中发现一个case,经查询发现天玑系统bug导致重复支付了三笔。情景重现本次问题的key在于数据库层面没有做幂等,导致连续两次一模一样的数据都可以插入成功。重现问题的demo代码如下(struts)public class Constant { public static List<Integer> list = new...

2017-07-13 16:12:00 598

转载 如何提升开发效率-前端技术选型篇

1.Web的本质web的本质是什么?web世界的两大主角 request & response 几乎说明了一切,客户端(浏览器)向服务器发起一个请求(request),服务器在收到请求后返回一个响应(response)给客户端,客户端接收到服务器的响应后把结果展示给用户。浏览器作为万千客户端中最流行最标准的一种,为开发人员做了绝大部分底层工作,使得我们只需关注Web的前端与后端...

2017-07-08 18:40:00 228

转载 Spring AOP详解

Spring AOP简介AOP(Aspect Oriented Programming)把软件系统分为两个部分:核心关注点和横切关注点核心关注点:业务处理的主要流程横切关注点:特点是经常发生在核心关注点的多处,而各处基本相似典型应用场景:权限认证、日志需求1.实现一个计算器接口,需要有计算加减乘除的方法2.为了便于日后核查问题,需要在日志总记录每次计算的入参及计算结果...

2017-07-07 12:42:00 130

转载 Vue.js学习笔记-入门

背景这几周做了一个项目,前端都是使用的jQuery,涉及到大量的DOM操作。做完之后对其中操作的繁琐简直无力吐槽,于是来研究一下当前流行的前端框架angular和vue。angular和vue相比jQuery最直观的感受就是解决了数据模型与页面视图的双向数据绑定问题。jQuery每次更新了数据之后都需要手动更新页面视图,简直不能更闹心。而angular和vue只需要关注数据模型,只要数...

2017-06-21 19:10:00 95

转载 拥抱Vue,抛弃jQuery

做阶梯价销售提报系统着实被自己的代码恶心了一把,jQuery这个曾经无比优秀的框架对于日益变化的需求也显得有点力不从心。抽空研究了一下vue,觉得不能比jQuery好更多,相见恨晚,含泪推荐~~下面看两个页面,一个是jQuery实现版本,另一个是vue实现版本。后端接口一模一样。jQuery版<!DOCTYPE html><html><head&...

2017-06-20 18:03:00 113

转载 HTML+CSS实现审核流程步骤效果

效果图如下每一个结点写一个divbody{ margin: 10px; padding: 10px; background-color: #EEEEEE;}.progess-bar{ with: 100%; height: 100px;}.ball{ width: 20px; height: 20px; b...

2017-06-15 19:23:00 2841

转载 测试SpringMVC可能出现的线程安全问题

SpringMVC的Controller默认是单例的,对于同一个Controller而言,在整个web生命周期内只有一个对象。如果在Controller里写了一个成员变量,这个变量是对所有线程可见的。@Slf4j@Controllerpublic class TestController { private List<String> list = new Ar...

2017-05-23 19:41:00 87

转载 CGLib动态创建对象和属性

import java.lang.reflect.Field;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import net.sf.cglib.beans.BeanGe...

2017-05-22 18:00:00 876

转载 jconsole观察jvm中线程及GC情况

闲来无事,写了一个小demo来观察jvm中的线程和GC过程,代码如下public class MyExecutor { public static void main(String[] args) { try { Thread.sleep(15000);//留点时间连接jconsole } catch (InterruptedException e) ...

2017-05-05 14:18:00 559

转载 浅谈Web安全

SQL注入如果数据库用的是MyISAM引擎,且注入点是某个会锁表的语句(insert,replace,update,delete),那么整个数据表的访问都会被阻塞。禁用mysql的sleep函数,或者修改sleep上限,拒绝不合理的超长sleep。现实中很少用到这个sleep功能,就算遇到需要sleep的场景,也可以通过外部应用来实现sleep。防止SQL注入1.严格的数据...

2017-04-11 21:48:00 95

转载 Java NIO学习笔记-Selector

Selector选择器是什么Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。Java NIO的选择器部分,实际上有三个重要的类:Selector 选择器,完成主要的选择功能,维护着注册的一组SelectionKey。Selectable...

2017-04-09 11:36:00 107

转载 Java NIO学习笔记-通道&缓冲区

Java NIO是什么Java NIO( New IO) 是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同, NIO支持面向缓冲区的、基于通道的IO操作。 NIO将以更加高效的方式进行文件的读写操作。Java NIO 与 IO 的主要区别IONIO面向流(St...

2017-03-28 22:52:00 178

转载 Code Plus插件开发笔记

前言一直觉得我最大的缺点就是不能忍。打个比方,我若是生在乱世,比如秦朝,揭竿而起的那个人一定会是我。话说,从进公司到现在,我忍我们的Code平台很久了。你也许会问,Code平台怎么了,不就是个gitlab么?没错,就是个gitlab。可是每次我要切换到beta分支,至少需要点三次:CI->下拉->beta,这个过程至少需要10秒钟。虽然只是10秒,可我至少重复了100次!没...

2017-03-18 22:19:00 146

转载 Java NIO框架Netty demo

Netty是什么Netty是一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和...

2017-01-09 14:15:00 119

转载 前端React开发入门笔记

什么是ReactReact是一个JavaScript库,是由FaceBook和Instagram开发的,主要用于用户创建图形化界面。Hello world<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><sc...

2017-01-06 15:01:00 108

转载 Tomcat性能优化

1.关闭AJP协议注释以下配置 <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->2.开启NIO修改以下配置<Connector port="8080" protocol="HTTP/1.1" conn...

2017-01-03 22:19:00 78

转载 Spring Boot整合Dubbo框架demo

Dubbo框架原理见之前的博文:http://www.cnblogs.com/umgsai/p/5836925.html首先启动zookeeperServer端Pom配置如下<?xml version="1.0"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www....

2017-01-03 19:19:00 73

转载 Spring Boot入门实例

简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot提供了一个强大的一键式Spring...

2017-01-03 13:14:00 89

转载 简单的RPC原型与实现原理

存在的问题客户端硬编码服务端的地址引入注册中心,方便服务的注册与发现注册中心记录的信息:服务地址列表&服务节点权重Zookeeper节点类型临时节点:客户端。。服务注销:tomcat关闭:设置服务器的权重为0,隔绝后续请求 等待30S,处理完请求。。。服务提供者只有一个使用了Java序列化使用了基于Socket的阻塞IO待整理转载于:https...

2016-12-30 14:18:00 96

转载 Struts2返回json格式数据踩坑记录

事件起因昨天提测修改冻结/解冻银行卡样式的功能,微姐测试过程中发现调用ajax请求耗时过长,今天来排查,发现浏览器请求/finance/ajax/freeze/ajaxGetShopLists时,对应的后端方法getShopList()莫名其妙地执行了两边,并且返回给浏览器的Json字符串如下:{ "accountId": null, "accountInfoBean...

2016-12-27 20:01:00 125

转载 Linux常用命令和Shell编程基础

目录相关cd- .与.. 分别表示当前目录和父目录- ~与$HOME 都是指当前用户的主目录- cd – 切换到上一次所在的目录(不一定是父目录)pwd- pwd 显示当前目录- $PWD与$OLDPWD 两个变量表示当前目录和上一次所在的目录ls- ls -rtl 查看当前目录下的文件,按时间倒序排(最新的在最后)文件查看- cat <file> ...

2016-12-06 20:00:00 178

转载 设计模式-策略模式

折扣策略接口public interface DiscountStrategy { /** * 计算价格 */ public double calcPrice(double booksPrice);}普通会员折扣public class NormalStrategy implements DiscountStrategy { @Ove...

2016-11-23 18:28:00 99

转载 设计模式-观察者模式

观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。public interface IHanfeizi { public void haveBreakFast(); public void haveFun();...

2016-10-27 18:10:00 81

转载 Spring task定时任务

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http...

2016-10-23 11:23:00 81

转载 RESTEasy-Rest服务框架

什么是 RESTEasyRESTEasy 是 JBoss 的一个开源项目,提供各种框架帮助你构建 RESTful Web Services 和 RESTful Java 应用程序。它是 JAX-RS 规范的一个完整实现并通过 JCP 认证。作为一个 JBOSS 的项目,它当然能和 JBOSS 应用服务器很好地集成在一起。 但是,它也能在任何运行 JDK5 或以上版本的 Servlet ...

2016-09-25 18:20:00 156

转载 Java多线程编程核心技术---学习分享

继承Thread类实现多线程public class MyThread extends Thread { @Override public void run() { super.run(); System.out.println("MyThread..."); } public static void mai...

2016-09-19 13:43:00 111

空空如也

空空如也

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

TA关注的人

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