自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java技术栈,分享最主流的Java技术

分享Java,多线程,JVM,Spring,微服务,分布式,面试题等。

原创 注意:字符串substring方法在jkd6,7,8中的差异。

标题中的substring方法指的是字符串的substring(int beginIndex, int endIndex)方法,这个方法在jdk6,7是有差异的。 substring有什么用? substring返回的是字符串索引位置beginIndex开始,endIndex-1结束的字符...

2018-01-31 18:39:19 948 0

原创 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?

最近要为公司的消息队列中间件进行选型,市面上相关的开源技术又非常多,如ActiveMQ、RabbitMQ、ZeroMQ、Kafka,还有阿里巴巴的RocketMQ等。 这么多技术,如何进行选型呢? 首先对于阿里的RocketMQ,因为是阿里开源的,对于国内开源的保持谨慎的态度,暂时不采取该中间...

2018-01-29 16:04:29 258 0

原创 终于,Spring 5.0正式发布了!

Spring 5.0都有什么新功能? 1、最低要求支持JDK8+, J2EE 7+。 2、移除了一些包、类及方法。 3、核心功能加强:全面应用jdk8并兼容jdk9等。 4、SpringMVC:支持servlet4.0、Reactor 3.1等。 5、支持响应式堆栈web框架Spring...

2018-01-29 16:04:18 2401 0

原创 活动:月末送Java技术书福利|抽奖

本公众号运营了快一年了 原创干货超过200+ 收获了也快1W粉丝 这么多粉丝…… 送书活动怎能少? 虽然这次我们是有备而来 但是…… 所有书籍为作者自掏腰包 所以本次送书数量有限 不能满足到所有人 重在参与 大家开心就好 后续...

2018-01-26 13:45:09 262 0

原创 Spring Boot读取配置的几种方式

读取application文件 在application.yml或者properties文件中添加: info.address=USA\ info.company=Spring\ info.degree=high @Value注解读取方式 import org.spring...

2018-01-25 09:38:05 940 0

原创 JSON Web Token (JWT)生成Token及解密实战。

昨天讲解了JWT的介绍、应用场景、优点及注意事项等,今天来个JWT具体的使用实践吧。 从JWT官网支持的类库来看,jjwt是Java支持的算法中最全的,推荐使用,网址如下。 https://github.com/jwtk/jjwt 下面来看看如何使用jjwt来实现JWT token的...

2018-01-25 09:37:55 7061 0

原创 Spring Boot Server容器配置

参数配置容器 server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似。 所有参数绑定配置类:org.springframework.boot.autoconfigure.web.ServerProperties ...

2018-01-25 09:37:43 266 0

原创 Spring Boot Debug调试

在使用maven插件执行spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置。 1、添加jvm参数配置 在spring-boot的maven插件加上jvmArguments配置。 ... ... ... ...

2018-01-25 09:37:23 1767 0

原创 Spring Boot集成Shiro实战

Spring Boot集成Shiro权限验证框架,可参考: https://shiro.apache.org/spring-boot.html 引入依赖 dependency> groupId>org.apache.shirogroupId> ...

2018-01-25 09:37:06 1438 1

原创 Maven精选系列--classifier元素妙用

首先来看这么一个依赖 dependency> groupId>net.sf.json-libgroupId> artifactId>json-libartifactId> version>2.4version> depende...

2018-01-25 09:36:06 2699 1

原创 Java父类强制转换子类原则

最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了。 我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗? 来看下面这段程序: public class TestObjectConvert { public static v...

2018-01-25 09:35:56 6501 1

原创 Slow HTTP POST慢速攻击

测试工具 模拟测试工具:slowhttptest https://github.com/shekyan/slowhttptest 安装: https://github.com/shekyan/slowhttptest/wiki 使用: slowhttptest -...

2018-01-25 09:35:32 2689 1

原创 Eclipse代替Oracle接管Java EE

Eclipse Foundation接替Oracle成为Java EE的新东家,Oracle不再管理Java EE。 作为采用的一部分,Java EE可能会更换新名称,Oracle建议在其建议中使用Java EE。 一个月前,Oracle表示将结束Java EE的管理角色,并将其转到开源基础上...

2018-01-25 09:35:19 269 0

原创 Git分支管理

添加分支 git branch git branch test1.0 切换分支 git checkout git checkout test1.0 添加分支并切换 git checkout -b git checkout -b te...

2018-01-25 09:35:08 189 0

原创 Git提交记住用户名和密码

每次提交代码都要输入用户名密码,十分麻烦,教大家怎么让Git记住密码。 Https记住密码 永久记住密码 git config --global credential.helper store 会在用户主目录的.gitconfig文件中生成下面的配置...

2018-01-23 14:03:51 52519 2

原创 Git仓库操作命令

创建仓库 git init 在当前目录执行,会生成.git目录文件,这个和SVN一致。 提交到仓库 git commit -m "first commit" -m:表示提交描述,必须要填。 添加到远端仓库 git remote add orig...

2018-01-23 14:03:41 158 0

原创 细数Intellij Idea10个蛋疼问题!

Intellij Idea以下简称IJ。 昨天细数了IJ上的10大666的姿势,IJ确实很智能,在很多方便可以完爆Eclipes,可在某些方面真的被Eclipse秒杀 1、乱码 在Eclipse中很少遇到控制台乱码的情况,而在IJ中,不管是tomcat还是main方法经常会遇到乱码的情况...

2018-01-23 14:03:32 473 0

原创 Maven Optional & Exclusions使用区别

Optional和Exclusions都是用来排除jar包依赖使用的,两者在使用上却是相反。 Optional定义后,该依赖只能在本项目中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。 Exclusions则是主动排除子项目传递过来的依赖。 用法区别 Pro...

2018-01-23 14:03:20 1052 0

原创 Spring Boot日志集成

Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用Logback作为默认日志框架。无论使用哪种日志框架,Spring Boot都支持配置将日志输出...

2018-01-23 14:03:11 1179 0

原创 hashCode和identityHashCode的区别你知道吗?

hashCode 关于hashCode参考之前的文章,点击参考之前文章。 identityHashCode identityHashCode是System里面提供的本地方法,java.lang.System#identityHashCode。 /** * Returns the ...

2018-01-23 14:02:42 586 0

原创 Maven如何发布jar包到Nexus私库

Nexus2可以通过管理界面来上传jar包到私库中,而最新的Nexus3却找不到了上传界面,只能通过以下方式来发布到私库。 发布第三方jar包 这种情况是maven远程仓库没有,本地有的第三方jar包,需要发布到私库。 mvn deploy:deploy-file -Dgrou...

2018-01-23 14:02:32 2006 0

原创 高级Java必看的10本书

1、深入理解Java虚拟机:JVM高级特性与最佳实践 本书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 2、从Paxos到Zookeeper:分布式一致性原理与实践 本书从分布式一致性的理论出发,...

2018-01-22 09:13:18 7655 1

原创 JDK8新特性之方法引用

什么是方法引用 方法引用是只需要使用方法的名字,而具体调用交给函数式接口,需要和Lambda表达式配合使用。 如: List list = Arrays.asList("a","b","c"); list.forEach(str...

2018-01-22 09:12:56 1912 0

原创 JDK8之新特性扩展篇

之前分篇章讲了一些JKD8中添加的新特性,还有一些新特性这里也一并讲下。 BASE64 base64编码解码已经被加入到了jdk8中了。 import java.nio.charset.StandardCharsets; import java.util.Base64; publi...

2018-01-22 09:12:48 159 0

原创 Spring Boot - Profile配置

Profile是什么 Profile我也找不出合适的中文来定义,简单来说,Profile就是Spring Boot可以对不同环境或者指令来读取不同的配置文件。 Profile使用 假如有开发、测试、生产三个不同的环境,需要定义三个不同环境下的配置。 基于properties文件类型...

2018-01-22 09:12:37 173 0

原创 Spring Boot Starters启动器

Starters是什么? Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使...

2018-01-22 09:12:26 125 0

原创 Spring Boot定制启动图案

启动图案 Spring Boot在启动的时候会显示一个默认的Spring的图案,对应的类为SpringBootBanner。 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ ...

2018-01-22 09:12:12 1577 0

原创 JDK8新特性之Optional

Optional是什么 java.util.Optional Jdk8提供Optional,一个可以包含null值的容器对象,可以用来代替xx != null的判断。 Optional常用方法 of public static Optional of(T value) { ...

2018-01-19 14:19:26 2953 1

原创 Java类初始化顺序,大神3个示例带你躺坑。。

最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量、成员变量、静态代码块、非静态代码块、构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导。 示例1:测试单类的初始化顺序 public class ClassInitOrderTes...

2018-01-19 14:18:51 3226 3

原创 Tomcat集群session复制与Oracle的坑。。

问题描述 公司某个系统使用了tomcat自带的集群session复制功能,然后后报了一个oracle驱动包里面的连接不能被序列化的异常。 01-Nov-2017 16:45:26.653 SEVERE [https-jsse-nio-8443-exec-2] org.apache.cata...

2018-01-19 14:18:28 306 0

原创 Spring Boot配置加载顺序

如果加载的配置有重复的,它们的加载顺序是这样的,数字越小的优先级越高,即优先级高的覆盖优先级低的配置。 Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties ...

2018-01-19 14:18:04 2198 0

原创 字符串拼接+和concat的区别

+和concat都可以用来拼接字符串,但在使用上有什么区别呢,先来看看这个例子。 public static void main(String[] args) { // example1 String str1 = "s1"; System.out...

2018-01-18 09:16:47 5896 0

原创 一分钟开启Tomcat https支持

1、修改配置文件 打开tomcat/conf/server.xml配置文件,把下面这段配置注释取消掉,keystorePass为证书密钥需要手动添加,创建证书时指定的。 Connector port="8443" protocol="org.apache.co...

2018-01-18 09:16:14 166 0

原创 Java高级进阶:自定义ClassLoader

假如我们的类不在classpath下,而我们又想读取一个自定义的目录下的class,如果做呢? 读取自定义目录的类 示例读取c:/test/com/test.jdk/Key.class这个类。 package com.test.jdk; public class Key { ...

2018-01-18 09:15:56 374 0

原创 JDK8新特性之重复注解

什么是重复注解 下面是JDK8中的重复注解(java.lang.annotation.Repeatable)定义的源码。 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE)...

2018-01-18 09:15:41 610 0

原创 Spring Boot功能实战

添加web功能启动器 添加了Spring Boot基础依赖后,如要使用web mvc功能,只需要添加如下启动器即可,Spring Boot会自动装配web功能。 dependencies> dependency> groupId>org.sprin...

2018-01-18 09:15:26 1147 0

原创 年底了,该跳槽了,全套高级Java面试题及答案整理~

又到年底了,又是一轮跳槽季 城外的人想进去,城里的人想出来 为什么离职? 马云说过,要么工资低,要么受了委屈 我想大多数人离职是这个原因 出来混的,跳槽也都是为了更好的生活 干技术的,工资都是跳出来的 跳得高低,关键看你有多少实力 如何提升硬实力? ...

2018-01-18 09:13:32 2752 0

原创 DevOps到底是什么鬼?DevOps介绍及工具推荐。

什么是DevOps DevOps是Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须...

2018-01-17 09:21:30 37991 8

原创 中山大学深圳研究院“智能金融和区块链技术”论坛(理论+实战PPT)

中山大学深圳研究院在昨天11月15号在深圳南山区虚拟大学园举办了“智能金融和区块链技术”论坛。 本次论坛邀请了中山大学移动互联网与金融大数据实验室郑子彬教授团队系统地介绍智能金融及区块链技术的现状、挑战、及展望,以及在智能金融及区块链上面的相关理论研究及应用成果。 此次论坛从以下四个主题讲述了...

2018-01-17 09:21:18 634 0

原创 Druid-目前最好的连接池

Druid是什么 Druid是阿里开源的连接池,是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能,是为监控而生的数据库连接池! GitHub:https://github.com/alibaba/druid/ 添加依赖 dependency>...

2018-01-17 09:20:55 3045 0

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