- 博客(29)
- 资源 (27)
- 收藏
- 关注
原创 Spring Boot注解
文章目录简介@SpringBootApplication@EnableAutoConfiguration条件自动配置@ConditionalOnClass 和 @ConditionalOnMissingClass@ConditionalOnProperty@ConditionalOnResource@ConditionalOnWebApplication 和 @ConditionalOnNotWe...
2020-01-30 10:40:07 11921
原创 Maven Wrapper简介
文章目录简介Maven Wrapper的结构下载Maven Wrapper使用Maven Wrapper简介简介开发java项目少不了要用到maven或者gradle,对比gradle而言,可能maven要更加常用一些。要使用maven那就必要要安装maven,如果有些用户不想安装maven怎么办?或者说用户不想全局安装maven,那么可以使用项目级别的Maven Wrapper来实现这个功...
2020-01-29 14:43:20 13209
原创 spring boot 使用maven和fat jar/war运行应用程序的对比
文章目录简介Spring Boot Maven Plugin使用Maven命令来运行应用程序作为fat jar/war包运行应用程序详解War文件详解jar文件如何选择使用maven和fat jar/war运行应用程序的对比简介上篇文章我们介绍了Spring boot的fat jar/war包,jar/war包都可以使用 java -jar 命令来运行,而maven也提供了mvn sprin...
2020-01-28 11:58:41 12091
原创 使用spring boot创建fat jar APP
文章目录介绍build和runfat jar和 fat war更多配置介绍在很久很很久以前,我们部署web程序的方式是怎么样的呢?配置好服务器,将自己写的应用程序打包成war包,扔进服务器中指定的目录里面。当然免不了要配置一些负责的xml和自定义一些servlet。现在有了spring boot,一切都变了,我们可以将web应用程序打包成fat jar包,直接运行就行了。本文将会关注于怎么...
2020-01-27 17:20:06 11801
原创 Spring boot自定义parent POM
文章目录概述不使用Parent POM来引入Spring boot覆盖依赖项版本概述在之前的Spring Boot例子中,我们都会用到这样的parent POM。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-...
2020-01-26 10:53:21 12613
原创 使用VSCode连接到IBM Cloud区块链网络
文章目录从IBM Cloud控制面板导出连接信息在VSCode中创建gateway和wallet在VSCode中提交transaction上篇文章我们讲到怎么在IBM Cloud搭建区块链环境并且将本地的智能合约导出并安装在IBM Cloud网络环境中。本篇文章我们会继续讲解如何通过本地的VSCode来远程连接和调用部署在远程的IBM Cloud上的智能合约。从IBM Cloud控制面板导出...
2020-01-25 11:59:20 11720
原创 Spring Boot Starters介绍
文章目录Web StartTest StarterData JPA StarterMail Starter结论对于任何一个复杂项目来说,依赖关系都是一个非常需要注意和消息的方面,虽然重要,但是我们也不需要花太多的时间在上面,因为依赖毕竟只是框架,我们重点需要关注的还是程序业务本身。这就是为什么会有Spring Boot starters的原因。Starter POMs 是一系列可以被引用的依赖...
2020-01-23 08:21:34 13051
原创 如何在Spring boot中修改默认端口
文章目录介绍使用Property文件在程序中指定使用命令行参数值生效的顺序如何在Spring boot中修改默认端口介绍Spring boot为应用程序提供了很多属性的默认值。但是有时候,我们需要自定义某些属性,比如:修改内嵌服务器的端口号。本篇文章就来讨论这个问题。使用Property文件第一种方式,也是最常用的方式就是在属性文件中,覆盖默认的配置。对于服务器的端口来说,该配置就是:...
2020-01-22 09:34:50 12509
原创 使用Spring Boot搭建你的第一个应用程序
文章目录依赖配置main程序配置MVC配置安全配置存储Web 页面和Controller异常处理测试结论Spring Boot是Spring平台的约定式的应用框架,使用Spring Boot可以更加方便简洁的开发基于Spring的应用程序,本篇文章通过一个实际的例子,来一步一步的演示如何创建一个基本的Spring Boot程序。依赖配置本例子使用Maven来做包的依赖管理,在pom.xml文...
2020-01-21 10:20:34 14124 6
原创 在IBM Cloud中运行Fabric
文章目录打包智能合约创建IBM Cloud services创建fabric网络创建org和相应的节点创建order org和相应节点创建和加入channel导入智能合约上篇文章我们讲了怎么使用IBM blockchain platform extension在VS Code编辑器中创建本地运行的智能合约。创建完智能合约之后,可以在自己搭建的blockchain环境中运行,也可以在各大云平台上...
2020-01-20 09:34:32 11744 4
原创 使用IBM Blockchain Platform extension开发你的第一个fabric智能合约
文章目录安装IBM Blockchain Platform extension for VS Code创建一个智能合约项目理解智能合约打包智能合约Local Fabric Ops安装智能合约实例化智能合约提交和查询事务使用IBM Blockchain Platform extension开发你的第一个fabric智能合约IBM Blockchain Platform extension是VSC...
2020-01-19 10:49:38 12119 4
原创 Solidity的Bytecode和Opcode简介
Solidity的Bytecode和Opcode简介随着我们更深入地编写智能合约,我们将遇到诸如“ PUSH1”,“ SSTORE”,“ CALLVALUE”等术语。 他们是什么,我们什么时候应该使用到他们?要了解这些命令,我们必须更深入地了解以太坊虚拟机(EVM)。本文将会尝试尽可能简单地解释一些EVM基础。希望大家都有所收获。像许多其他流行的编程语言一样,Solidity是一种高级编程语...
2020-01-17 10:24:50 12685 6
原创 Fabric的6大特性
文章目录什么是Hyperledger Fabric1. 成员准入2. 性能,可伸缩性和信任级别3 需要了解的数据4 通过不可变的分布式账本进行复杂查询5 支持插件组件的模块化架构6 保护数字钥匙和敏感数据什么是Hyperledger Fabric为了满足现代业务需求,IBM与其他公司合作,共同开发了一个开放源代码,可立即投入生产的业务区块链框架,称为Hyperledger Fabric™,这是...
2020-01-17 10:06:34 12794 1
原创 混合密码系统
之前的文章我们讲了两种加密方式,一种是对称加密,一种是非对称加密。对称加密可以解决通信的机密性的问题,但是不能解决密钥配送的问题。而非对称加密算法虽然可以解决密钥配送的问题,但是它的加密速度比较慢,并且无法抵御中间人攻击。那么如果将对称加密算法和非对称加密算法结合起来,是不是就能够得到一种既不用配送密钥,加密速度又快的系统呢?答案是肯定的,著名的SSL/TLS协议就是这样的加密系统。这样的系...
2020-01-16 11:18:22 11661 1
原创 单向散列函数
文章目录单向散列函数单向散列函数的性质单向散列函数的实现对单向散列算法的攻击单向散列函数在介绍单向散列函数之前,我们先了解一下什么情况下需要使用到单向散列函数。如果你需要从国外的网站上下载一个软件,但是因为种种原因,国外的网络太慢了,下载几个G的数据几乎是不可能的。刚好国内有镜像网站,可以从国内下载数据。但是如何保证国内的镜像不是被篡改过后的呢?这个时候就需要单向散列函数了。一般来说网站会提...
2020-01-16 11:15:57 11831 1
原创 中间人攻击
前面的文章我们讲到了RSA算法以目前的手段是很难被攻破的,那么使用RSA算法是不是就一定安全了呢?答案当然是否,因为我们并没有考虑到网络传输中的各种情况。本文会讲一种攻击叫做中间人攻击,为了抵御这种攻击,我们引入证书的概念。我们会在后续的文章中讲解证书的概念。这里我们重点讲一下中间人攻击。所谓中间人攻击就是在A和B通信的过程中加入了恶意攻击者C。C作为中间人转发两者的请求。示意图如下:消息...
2020-01-15 09:49:13 18756 2
原创 RSA算法详解
文章目录什么是RSARSA的加密RSA的解密N,E,D的生成1. 生成N2. 求L3. 求E4. 求D破解RSA什么是RSA前面文章我们讲了AES算法,AES算法是一种是对称加密算法,本文我们来介绍一个十分常用的非对称加密算法RSA。非对称加密算法也叫公钥密码算法,通过生成的公私钥来对明文密文进行加密解密。 RSA的名字是由它的三个开发者Ron Rivest, Adi Shamir和 Leo...
2020-01-15 09:40:16 15562 5
原创 Scala的自定义类型标记
Scala的自定义类型标记Scala中有很多千奇百怪的符号标记,看起来是那么的独特,就像是一杯dry martini…好像黑夜中的萤火虫,那么耀眼,那么出众。好了言归正传,这一篇文章我们会讲一下Scala中的自定义类型标记,通过自定义类型标记可以将this指向额外的类型期望。我们先看一个观察者模式的例子:abstract class SubjectObserver { ...
2020-01-14 10:19:12 3006 1
原创 新版gitbook导出pdf
文章目录gitbook自带的npm模块gitbook使用vscode的插件Markdown PDF使用CommandBox GitBook Exporter最近想把自己写的一个gitbook转成pdf分享出去,突然发现最新的gitbook版本已经不支持导出PDF了。于是在网上找了好久终于被我发现了三个将gitbook转换成pdf的方式,现分享给大家。我使用的是mac系统,如果是其他系统大家可以查...
2020-01-14 10:15:49 11636 2
原创 Spring MVC 中的http Caching
文章目录过期时间Last-ModifiedETagSpring ETag filterSpring MVC 中的http CachingCache 是HTTP协议中的一个非常重要的功能,使用Cache可以大大提高应用程序的性能,减少数据的网络传输。通常来说我们会对静态资源比如:图片,CSS,JS文件等做缓存。同样的我们可以使用HTTP Cache配合Spring MVC来做动态资源的缓存。...
2020-01-13 10:46:03 10890 1
原创 scala教程之:可见性规则
文章目录publicProtectedprivatescoped private 和 scoped protected和java很类似,scala也有自己的可见性规则,不同的是scala只有private和protected关键字,没有public关键字,同时scala还提供了更加细粒度的访问控制如protected[scope]和private[scope]。publicscala中默认的...
2020-01-13 10:43:00 2851 1
原创 Scala教程之:深入理解协变和逆变
文章目录函数的参数和返回值可变类型的变异在之前的文章中我们简单的介绍过scala中的协变和逆变,我们使用+ 来表示协变类型;使用-表示逆变类型;非转化类型不需要添加标记。假如我们定义一个class C[+A] {} ,这里A的类型参数是协变的,这就意味着在方法需要参数是C[AnyRef]的时候,我们可以是用C[String]来代替。同样的道理如果我们定义一个class C[-A] {}, 这...
2020-01-10 10:13:18 3117 1
原创 Scala教程之:Either
在之前的文章中我们提到了Option,scala中Option表示存在0或者1个元素,如果在处理异常的时候Option就会有很大的限制,因为Option如果返回None,那么我并不知道具体的异常到底是什么,这样scala引入了Either。顾名思意,Either表示或者是这一个元素或者是那个元素。这样在异常处理的时候就非常有用了。我们先看一下Either的定义:sealed abstract...
2020-01-09 10:34:06 3264
原创 @SessionAttributes 和 @SessionAttribute的区别
@SessionAttributes 和 @SessionAttribute的区别Spring MVC中有两个长得非常像的注解:@SessionAttributes 和 @SessionAttribute。我们先看下@SessionAttributes的定义:@SessionAttributes用于在请求之间的HTTP Servlet会话中存储model属性。 它是类型级别的注解,用于声明特...
2020-01-08 14:23:42 6317
原创 Scala教程之:可变和不变集合
文章目录mutable HashMapimmutable HashMap集合在程序中是非常有用的,只有用好集合才能真正感受到该语言的魅力。在scala中集合主要在三个包里面:scala.collection, scala.collection.immutable和scala.collection.mutable。scala中引入不可变集合是为了方便程序的使用并减少在程序中的未知风险。如果一个集...
2020-01-08 14:10:25 3479
原创 分布式账本简介
文章目录什么是分布式分布式账本分布式账本在现实业务中的作用当前业务分布式账本的问题什么是区块链区块链网络如何工作区块链的商业利益区块链的使用什么是超级账本企业区块链要求什么是分布式分布式账本分布式账本是一种数据库类型,可在分散网络的成员之间共享,复制和同步。分布式账本记录网络参与者之间的交易,例如资产或数据交换。网络的参与者对分布式账本中记录的更新进行管理并达成共识。不涉及中央机构或第三方调...
2020-01-07 11:02:09 15555 1
原创 Scala教程之:Future和Promise
文章目录定义返回Future的方法阻塞方式获取Future的值非阻塞方式获取Future的值Future链flatmap VS mapFuture.sequence() VS Future.traverse()Future.foldLeft VS Future reduceLeftFuture firstCompletedOfFuture zip VS zipWithFuture andThen...
2020-01-07 10:59:32 3989
原创 Scala教程之:PartialFunction
Scala中有一个很有用的traits叫PartialFunction,我看了下别人的翻译叫做偏函数,但是我觉得部分函数更加确切。那么PartialFunction是做什么用的呢?简单点说PartialFunction用在模式匹配中,是一个不完整的函数,它只实现了函数的部分功能,也就是列举了部分case的情况。我们先看下PartialFunction的定义:trait PartialFunc...
2020-01-06 09:53:53 3590
原创 Hyperledger Fabric基础知识
文章目录什么是Hyperledger Fabric?Hyperledger架构是怎么工作的?Hyperledger交易如何执行总结Hyperledger Fabric基础知识本文我们会介绍Hyperledger Fabric的基础知识,并了解如何充分利用这个多功能的区块链框架。区块链技术为创新提供了丰富的机会。它提供了一种新的交易方式,从而可以从根本上改变业务的实现。那么,在众多的区块链框...
2020-01-06 09:51:15 11761
Stream和Lambda表达式最佳实践
2024-04-24
JAVA IO-NIO 详解
2024-04-24
JAVA高质量并发详解,多线程并发深入讲解
2024-04-24
java-collection-all-in-one.pdf
2020-10-26
JDK14GC-cheatsheet.pdf
2020-07-24
JDK13GC-cheatsheet.pdf
2020-07-24
JDK12GC-cheatsheet.pdf
2020-07-24
JDK11GC-cheatsheet.pdf
2020-07-22
JDK10GC-cheatsheet.pdf
2020-07-16
JDK9GC-cheatsheet.pdf
2020-06-26
JDK8GC-cheatsheet.pdf
2020-06-22
Spring5.1中文参考指南.pdf
2019-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人