- 博客(132)
- 资源 (32)
- 收藏
- 关注
原创 注意:字符串substring方法在jkd6,7,8中的差异。
标题中的substring方法指的是字符串的substring(int beginIndex, int endIndex)方法,这个方法在jdk6,7是有差异的。substring有什么用?substring返回的是字符串索引位置beginIndex开始,endIndex-1结束的字符串。来看这个例子:String x = "abcdef";x = x.substring
2018-01-31 18:39:19 1521
原创 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?
最近要为公司的消息队列中间件进行选型,市面上相关的开源技术又非常多,如ActiveMQ、RabbitMQ、ZeroMQ、Kafka,还有阿里巴巴的RocketMQ等。这么多技术,如何进行选型呢?首先对于阿里的RocketMQ,因为是阿里开源的,对于国内开源的保持谨慎的态度,暂时不采取该中间件。所以只能在ActiveMQ、RabbitMQ、ZeroMQ、Kafka中间选一款作为消息队列中
2018-01-29 16:04:29 486
原创 终于,Spring 5.0正式发布了!
Spring 5.0都有什么新功能?1、最低要求支持JDK8+, J2EE 7+。2、移除了一些包、类及方法。3、核心功能加强:全面应用jdk8并兼容jdk9等。4、SpringMVC:支持servlet4.0、Reactor 3.1等。5、支持响应式堆栈web框架Spring WebFlux。6、支持kotlin。7、加强了测试:完美支持Junit5等。Spr
2018-01-29 16:04:18 3094
原创 活动:月末送Java技术书福利|抽奖
本公众号运营了快一年了原创干货超过200+收获了也快1W粉丝这么多粉丝……送书活动怎能少?虽然这次我们是有备而来但是……所有书籍为作者自掏腰包所以本次送书数量有限不能满足到所有人重在参与大家开心就好后续还会有更好书籍相送敬请大家期待感谢所有的程序猿(媛)精选3本好书:赠送+包邮
2018-01-26 13:45:09 551
原创 Spring Boot读取配置的几种方式
读取application文件在application.yml或者properties文件中添加:info.address=USA\ info.company=Spring\ info.degree=high @Value注解读取方式import org.springframework.beans.factory.annotation.Value;import or
2018-01-25 09:38:05 1419
原创 JSON Web Token (JWT)生成Token及解密实战。
昨天讲解了JWT的介绍、应用场景、优点及注意事项等,今天来个JWT具体的使用实践吧。从JWT官网支持的类库来看,jjwt是Java支持的算法中最全的,推荐使用,网址如下。 https://github.com/jwtk/jjwt下面来看看如何使用jjwt来实现JWT token的生成与解密,主要用到sha512算法来演示。1、导入jjwt的maven包。depende
2018-01-25 09:37:55 10093
原创 Spring Boot Server容器配置
参数配置容器server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似。所有参数绑定配置类:org.springframework.boot.autoconfigure.web.ServerProperties代码配置容器除了利用上面的参数来自动配置servlet容器,还可以通过代码的方式。可以直接实现E
2018-01-25 09:37:43 535
原创 Spring Boot Debug调试
在使用maven插件执行spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置。1、添加jvm参数配置在spring-boot的maven插件加上jvmArguments配置。 ... ... ... org.springframework.boot spring
2018-01-25 09:37:23 2484
原创 Spring Boot集成Shiro实战
Spring Boot集成Shiro权限验证框架,可参考: https://shiro.apache.org/spring-boot.html引入依赖dependency> groupId>org.apache.shirogroupId> artifactId>shiro-spring-boot-web-starterartifactId> ver
2018-01-25 09:37:06 1778 1
原创 Maven精选系列--classifier元素妙用
首先来看这么一个依赖dependency> groupId>net.sf.json-libgroupId> artifactId>json-libartifactId> version>2.4version>dependency>看似没问题吧?你觉得能下得下来吗?答案是否定的,下不下来。来看看Maven的文件索引目录: Index of /mave
2018-01-25 09:36:06 3538 1
原创 Java父类强制转换子类原则
最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了。我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗?来看下面这段程序:public class TestObjectConvert { public static void main(String[] args) { test1();
2018-01-25 09:35:56 7075 1
原创 Slow HTTP POST慢速攻击
测试工具模拟测试工具:slowhttptest https://github.com/shekyan/slowhttptest安装: https://github.com/shekyan/slowhttptest/wiki使用: slowhttptest -c 5000 -u [hostname/ip]-c 表示发起5000个连接,由于是慢速DDOS
2018-01-25 09:35:32 3877 1
原创 Eclipse代替Oracle接管Java EE
Eclipse Foundation接替Oracle成为Java EE的新东家,Oracle不再管理Java EE。作为采用的一部分,Java EE可能会更换新名称,Oracle建议在其建议中使用Java EE。一个月前,Oracle表示将结束Java EE的管理角色,并将其转到开源基础上。 在与IBM和Red Hat等Java合作伙伴进行协商后,Oracle与几个基金会进行了会谈,并确
2018-01-25 09:35:19 527
原创 Git分支管理
添加分支 git branch git branch test1.0切换分支 git checkout git checkout test1.0添加分支并切换 git checkout -b git checkout -b test1.0查看所有分支 git branch$ git branch* m
2018-01-25 09:35:08 405
原创 Git提交记住用户名和密码
每次提交代码都要输入用户名密码,十分麻烦,教大家怎么让Git记住密码。Https记住密码永久记住密码git config --global credential.helper store会在用户主目录的.gitconfig文件中生成下面的配置。[credential] helper = store如果没有--global,则在当前项目下的.git/c
2018-01-23 14:03:51 60626 4
原创 Git仓库操作命令
创建仓库git init在当前目录执行,会生成.git目录文件,这个和SVN一致。提交到仓库git commit -m "first commit"-m:表示提交描述,必须要填。添加到远端仓库git remote add origin git@github.com:test/test.git推送到远端仓库git push -u ori
2018-01-23 14:03:41 423
原创 细数Intellij Idea10个蛋疼问题!
Intellij Idea以下简称IJ。昨天细数了IJ上的10大666的姿势,IJ确实很智能,在很多方便可以完爆Eclipes,可在某些方面真的被Eclipse秒杀1、乱码在Eclipse中很少遇到控制台乱码的情况,而在IJ中,不管是tomcat还是main方法经常会遇到乱码的情况,有一些可以指定编码解决问题,而有一些是Eclipse正常在IJ中却乱码真的无从解决。2、注释
2018-01-23 14:03:32 824
原创 Maven Optional & Exclusions使用区别
Optional和Exclusions都是用来排除jar包依赖使用的,两者在使用上却是相反。Optional定义后,该依赖只能在本项目中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。Exclusions则是主动排除子项目传递过来的依赖。用法区别 Project-X -> Project-A\ Project-A -> Project-B
2018-01-23 14:03:20 1467
原创 Spring Boot日志集成
Spring Boot日志框架Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用Logback作为默认日志框架。无论使用哪种日志框架,Spring Boot都支持配置将日志输出到控制台或者文件中。spring-boot-starter启动器包含spring-boot-sta
2018-01-23 14:03:11 1825
原创 hashCode和identityHashCode的区别你知道吗?
hashCode关于hashCode参考之前的文章,点击参考之前文章。identityHashCodeidentityHashCode是System里面提供的本地方法,java.lang.System#identityHashCode。/** * Returns the same hash code for the given object as * would be
2018-01-23 14:02:42 977
原创 Maven如何发布jar包到Nexus私库
Nexus2可以通过管理界面来上传jar包到私库中,而最新的Nexus3却找不到了上传界面,只能通过以下方式来发布到私库。发布第三方jar包这种情况是maven远程仓库没有,本地有的第三方jar包,需要发布到私库。mvn deploy:deploy-file -DgroupId=com.example -DartifactId=test -Dversion=0.0
2018-01-23 14:02:32 2677
原创 高级Java必看的10本书
1、深入理解Java虚拟机:JVM高级特性与最佳实践本书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。2、从Paxos到Zookeeper:分布式一致性原理与实践本书从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和Z
2018-01-22 09:13:18 8860 1
原创 JDK8新特性之方法引用
什么是方法引用方法引用是只需要使用方法的名字,而具体调用交给函数式接口,需要和Lambda表达式配合使用。如:List list = Arrays.asList("a","b","c");list.forEach(str -> System.out.print(str));list.forEach(System.out::print);上面两种写法是等价的。方法引用
2018-01-22 09:12:56 2785
原创 JDK8之新特性扩展篇
之前分篇章讲了一些JKD8中添加的新特性,还有一些新特性这里也一并讲下。BASE64base64编码解码已经被加入到了jdk8中了。import java.nio.charset.StandardCharsets;import java.util.Base64;public class Base64Test { public static void main(St
2018-01-22 09:12:48 503
原创 Spring Boot - Profile配置
Profile是什么Profile我也找不出合适的中文来定义,简单来说,Profile就是Spring Boot可以对不同环境或者指令来读取不同的配置文件。Profile使用假如有开发、测试、生产三个不同的环境,需要定义三个不同环境下的配置。基于properties文件类型你可以另外建立3个环境下的配置文件:applcation.properties\ appli
2018-01-22 09:12:37 473
原创 Spring Boot Starters启动器
Starters是什么?Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管
2018-01-22 09:12:26 311
原创 Spring Boot定制启动图案
启动图案Spring Boot在启动的时候会显示一个默认的Spring的图案,对应的类为SpringBootBanner。. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)|
2018-01-22 09:12:12 2186
原创 JDK8新特性之Optional
Optional是什么java.util.OptionalJdk8提供Optional,一个可以包含null值的容器对象,可以用来代替xx != null的判断。Optional常用方法ofpublic static Optional of(T value) { return new Optionalvalue);}为value创建一个Optiona
2018-01-19 14:19:26 3504 1
原创 Java类初始化顺序,大神3个示例带你躺坑。。
最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量、成员变量、静态代码块、非静态代码块、构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导。示例1:测试单类的初始化顺序public class ClassInitOrderTest { public static String staticField = "static
2018-01-19 14:18:51 3746 3
原创 Tomcat集群session复制与Oracle的坑。。
问题描述公司某个系统使用了tomcat自带的集群session复制功能,然后后报了一个oracle驱动包里面的连接不能被序列化的异常。01-Nov-2017 16:45:26.653 SEVERE [https-jsse-nio-8443-exec-2] org.apache.catalina.ha.session.DeltaManager.requestCompleted Unabl
2018-01-19 14:18:28 618
原创 Spring Boot配置加载顺序
如果加载的配置有重复的,它们的加载顺序是这样的,数字越小的优先级越高,即优先级高的覆盖优先级低的配置。Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties when devtools is active).@TestPropertySource annot
2018-01-19 14:18:04 2598
原创 字符串拼接+和concat的区别
+和concat都可以用来拼接字符串,但在使用上有什么区别呢,先来看看这个例子。public static void main(String[] args) { // example1 String str1 = "s1"; System.out.println(str1 + 100);//s1100 System.out.println(100 + str
2018-01-18 09:16:47 7358
原创 一分钟开启Tomcat https支持
1、修改配置文件打开tomcat/conf/server.xml配置文件,把下面这段配置注释取消掉,keystorePass为证书密钥需要手动添加,创建证书时指定的。Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150"
2018-01-18 09:16:14 517
原创 Java高级进阶:自定义ClassLoader
假如我们的类不在classpath下,而我们又想读取一个自定义的目录下的class,如果做呢?读取自定义目录的类示例读取c:/test/com/test.jdk/Key.class这个类。package com.test.jdk;public class Key { private String key = "111111";}自定义ClassLoader
2018-01-18 09:15:56 876
原创 JDK8新特性之重复注解
什么是重复注解下面是JDK8中的重复注解(java.lang.annotation.Repeatable)定义的源码。@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Repeatable { Class value();
2018-01-18 09:15:41 1055
原创 Spring Boot功能实战
添加web功能启动器添加了Spring Boot基础依赖后,如要使用web mvc功能,只需要添加如下启动器即可,Spring Boot会自动装配web功能。dependencies> dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-start
2018-01-18 09:15:26 1407
原创 年底了,该跳槽了,全套高级Java面试题及答案整理~
又到年底了,又是一轮跳槽季城外的人想进去,城里的人想出来为什么离职?马云说过,要么工资低,要么受了委屈我想大多数人离职是这个原因出来混的,跳槽也都是为了更好的生活干技术的,工资都是跳出来的跳得高低,关键看你有多少实力如何提升硬实力?我们为你准备了以下面试题史上最全阿里巴巴高级Java面试题史上最全Java多线程
2018-01-18 09:13:32 3179
原创 DevOps到底是什么鬼?DevOps介绍及工具推荐。
什么是DevOpsDevOps是Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。传统的
2018-01-17 09:21:30 47557 9
原创 中山大学深圳研究院“智能金融和区块链技术”论坛(理论+实战PPT)
中山大学深圳研究院在昨天11月15号在深圳南山区虚拟大学园举办了“智能金融和区块链技术”论坛。本次论坛邀请了中山大学移动互联网与金融大数据实验室郑子彬教授团队系统地介绍智能金融及区块链技术的现状、挑战、及展望,以及在智能金融及区块链上面的相关理论研究及应用成果。此次论坛从以下四个主题讲述了智能金融理论及实战。1、智能金融与区块链随着数据量的指数增长及计算能力的增强,人工智能开始
2018-01-17 09:21:18 1088
原创 Druid-目前最好的连接池
Druid是什么Druid是阿里开源的连接池,是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能,是为监控而生的数据库连接池! GitHub:https://github.com/alibaba/druid/添加依赖dependency> groupId>com.alibabagroupId> artifactId>druida
2018-01-17 09:20:55 4311
《Java开发手册(嵩山版)》.pdf
2020-08-03
10道Java高级必备的Netty面试题!
2020-03-06
7道消息队列ActiveMQ面试题!
2020-03-06
史上最全 Java 多线程面试题及答案
2019-02-01
20 道 Spring Boot 面试题
2019-02-01
阿里巴巴的《Java开发手册》最新版:黄山版
2023-10-24
史上最全 40 道 Dubbo 面试题及答案
2019-02-01
区块链:将如何重新定义世界
2017-09-25
区块链定义未来金融与经济新格局
2017-09-25
腾讯区块链方案白皮书
2017-09-25
区块链技术指南
2017-09-19
JavaEE开发的颠覆者 Spring Boot实战(源码)
2017-09-19
JDK8代码实践,简单易懂
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人