16 54powerman

尚未进行身份认证

Program Only

等级
TA的排名 4k+

Java 11 新特性

java 11 是继 java8 之后的第一个LTS版本。因此有必要针对它进行一些深入的学习,虽然短时间内java8 还是主流版本。当然,如果从java8基础上升级,几乎可以确定目标就是java11。同时也要明确一个问题,现在java的版本升级周期与前些年相比速度快了太多,对于应用开发者来说没必要每一个小版本都去花时间研究,比如这些过渡版本:java9、java10、java12、java13(...

2019-10-21 10:45:34

使用lombok编写优雅的Bean对象

使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。毫无疑问,使用lombok,编写的java代码很优雅,而使用起来和普通的java编码方式创建的类毫无二致。不过,这样就满足了吗?实际上lombok很多注解,让这个java类在使用的时候,也可以更优雅。本文就从ORM实体类、Builder模式工具类...

2019-04-22 22:23:21

start.spring.io 访问不了怎么办?

start.spring.io 访问不了怎么办?这个问题坑过我很多次,抽时间把start 官网的项目做了一个包装,增加了一个默认配置,以及定期更新的机制。移驾:https://gitee.com/pollyduan/spring-boot-initializrUI基于官方 0.4.0.release 目前官方UI已经更新,直接试了下不能平滑升级。抽时间再搞一下吧。目前就是旧版本的UI,使用...

2019-03-27 19:54:24

有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum:public enum TimeUnit好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并不是一个简单的枚举类。时间单位换算//小时转换为秒long sec = TimeUnit.HOURS.toSeconds(1);// 另一种形式...

2019-03-04 17:19:26

三句话捋清楚java垃圾收集器

无论 -XX:+UseParallelGC 还是 -XX:+UseParallelOldGC ,新生代都是 ParallelGC,即 Parallel Scavenge,区别在于年老代,前者是串行,后者是并行。无论 -XX:+UseConcMarkSweepGC 还是 -XX:+UseParNewGC ,新生代都是ParNew,区别在于年老代,前者是CMS(当然,他失败了就会执行seri...

2019-03-04 17:17:48

RabbitMQ 延迟队列

rabbitmq 本身不支持延迟队列,但提供了实现延迟队列的必备条件。原理queue可以通过 x-message-ttl 参数设置过期时间,到了过期时间的消息就会被标记为 dead letter 状态。过期的消息可以通过 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数转发到另一个 exchange 中去。在managemen...

2019-03-04 17:16:09

centos 手动安装mysql8

下载官网太慢了,在清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/二进制版二进制版是官方提供的预先编译好的版本下载二进制版发行包wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql...

2018-04-28 17:12:38

Spring Cloud Cli 初体验

SpringBoot CLI 是spring Boot项目的脚手架工具。而本文的Spring Cloud cli则是基于SpringBoot Client的一个插件,用于支持Cloud相关的组件。由于各种原因,目前用起来并不是很爽:repo 经常连不上启动非常慢,要等半天遇到问题排查不是很容易但是,功能很有意思,值得期待。也许有一天变的像 docker swarm 那样直接启动...

2018-04-02 10:33:09

SpringBoot 去除"No MyBatis mapper was found in '[com.pollyduan.cms]' package. " 警告

springboot项目,集成了mybatis。偶然发现,项目每次启动都警告:No MyBatis mapper was found in '[com.pollyduan.cms]' package. Please check your configuration.我在 com.pollyduan.cms.CmsApplication 主类上使用 @MapperScan(baseP...

2018-03-28 22:59:09

使用git仓库创建Maven私服

自己编写的jar,想要通过maven方式进行分发必须发布到maven仓库。如果没有自己的私服,我们可以使用折中的办法来实现。maven客户端从maven仓库拉取构件时,实际上就是通过http协议去拉取对应仓库地址上的,对应目录中的metadata文件,查询需要的版本,就可以找到jar文件,下载到本机仓库。从而完成了依赖构件的拉取。就是说,我们可以使用任何http服务器,按照一定的目录结构部...

2018-03-22 18:33:33

使用FeignClient调用远程服务时整合本地方法

背景尝试将本地方法加入Feign接口尝试通过实现两个接口IS -> HAS背景包装一个用户服务,一部分功能需要调用远程服务,而另一部分功能调用本地方法,如:@FeignClient(value="USER-SERVICE")public interface RemoteUserService{ @GetMapping("getUserByU...

2018-03-17 15:30:06

SpringCloud的版本

Spring Cloud 项目目前仍然是快速迭代期,版本变化很快。这里整理一下版本相关的东西,备忘一下。大版本版本号规则Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号。 Cloud代号 Boot版本(train) Boot版本(tested) lifecycle Angle 1.2.x incompatible w

2018-01-25 16:23:41

eclipse开发springboot配置文件没有语法提示了

eclipse开发springboot项目,打开 application.properties 和 application.yml,正常情况下,输入:port 会提示可选配置项:选择 server.port= 输入端口号即可。无法提示的问题配置文件前天突然发现,没有语法提示了。回想最近几天做了什么?重装了jdk9.0.1; 在jdk1.8.144基础上安装了1.8.1

2018-01-16 14:43:28

java9导出运行springboot的精简版jre

基本导出命令查找某个类在哪个mod中最终结果测试启动为了分发一个springboot项目,在不考虑目标机器是否有jre的情况下,携带一个jre环境是一个选择。本文就尝试从原生的jdk 9.0.1 精简一个jre供分发。实际情况可能略有不同,比如目标机器不同,jre是否兼容,未测试。使用基本的eureka-server项目测试可运行。其他项目可能根据依赖的基础模块进行相应调整。基本导出命令以下

2017-12-27 13:53:20

java8的日期API总结(JSR310)

java8 datetime api有什么LocalDateLocalDate 与 Date 转换LocalTimeLocalDateTimeLocalDateTime 与 DateInstantZoneId日期计算Java的日期时间API,一直有一些令人头疼的问题。有了 java.util.Date 又搞出个java.sql.Date,改个名字不行?好好的new Date(yea

2017-11-17 23:48:31

再再谈java乱码:GBK和UTF-8互转尾部乱码问题分析(续)

GBK字节码用UTF-8解码UTF-8 的编码规则转码实例解决问题小结参考在《再谈java乱码:GBK和UTF-8互转尾部乱码问题分析》我们分析了,如果从一个UTF-8 的字节序列,经过 new String(b,"GBK") 的操作,”可能”(与总字节数有关)会破坏数据。结果可能是,损失最后一个”字”。反过来呢?可能会很惨,大范围溃散。。。同时,可参考:一段java代码带你认识锟斤拷G

2017-10-25 10:24:33

Java9新特性——module模块系统

官方文档:https://docs.oracle.com/javase/9/index.html关于 java9的新特性,官方原文:https://docs.oracle.com/javase/9/whatsnew/toc.htm这玩意就是一个列表,具体的技术细节需要根据官方文档挖一挖。modular-模块系统java9的模块化,从一个独立的开源项目而来,名为Jigsaw。项目官网:http://o

2017-09-26 09:51:15

编写自己的jquery组件

以一个翻页组件为例。前提,网上针对jquery ajax方式获取数据的翻页组件很多,有一个应用未使用ajax,而是直接通过jsp模板渲染数据,没有找到合适的组件。那么就自己手写一个简单的组件吧。先来看一下他长什么样子?jquery组件的模板//pagination 为自定义的组件名称$.fn.pagination=function(options){ var defaults = {

2017-09-22 13:50:30

Spring Boot 在localhost域奇怪的404问题(Mac book pro)

在mac系统中,明明url是对的,浏览器也可以打开,一个简单的代码调用就是404,你有没有遇到过?情景再现普通的一个controller,返回一个常量。@GetMapping("/project_metadata/spring-boot")public String getMetadata(){ return "{\"data\":1234}";//这个不重要}调用接口的方式:content

2017-08-31 16:30:05

再谈java乱码:GBK和UTF-8互转尾部乱码问题分析

一直以为,java中任意unicode字符串,可以使用任意字符集转为byte[]再转回来,只要不抛出异常就不会丢失数据,事实证明这是错的。经过这个实例,也明白了为什么 getBytes()需要捕获异常,虽然有时候它也没有捕获到异常。言归正传,先看一个实例。用ISO-8859-1中转UTF-8数据设想一个场景:用户A,有一个UTF-8编码的字节流,通过一个接口传递给用户B;用户B并不知道是什么字符集,

2017-08-25 16:02:14

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。