(转)springboot应用启动原理(二) 扩展URLClassLoader实现嵌套jar加载

转:https://segmentfault.com/a/1190000013532009 在上篇文章《springboot应用启动原理(一) 将启动脚本嵌入jar》中介绍了springboot如何将启动脚本与Runnable Jar整合为Executable Jar的原理,使得生成的jar/war文件可以直接启动 本篇将介绍springboot如何扩展URLClassLoader实现嵌套jar的类(资源)加载,以启动我们的应用。 本篇示例使用 java8 + grdle4.2 + sprin
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

mysql之面试问题总结

问题1、char 与varchar的区别? varchar是变长而char的长度是固定的。如果你的内容是固定的大小,char性能更好。 char[4] 与varchar[4] 存储字母a a占一个字符 varchar长度为4但是占此时为一个字符长度 而char则占4个字符 问题2、truncate 和delete 区别是什么? delete 命令是从表中删除一行或者多行,truncate是从表中永远的删除每一行,truncate是将整个表删除后重新创建当前表结构 问题3、什么是触发器、mysq
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

规格说明书文档——第5小组

一、相关概念,如缩写、专有名词等 投标保证金:投标保证金是指在招标投标活动中,投标人随投标文件一同递交给招标人的一定形式、一定金额的投标责任担保。招标人会在书面合同签订后5日内向中标人和未中标的投标人退还投标保证金及银行同期存款利息。 合同履约金:合同履约金是指为合同的履行所提供的一种金钱保证,并在双方合同到期或者依法解除时才予以退还。 其他押金:公司支付出去的其他押金,当合同到期之后予以收回。 存入保证金:承运商支付给公司的保证金,当合同结束之后予以退还。 二、典型用户 姓名 林小小 岗位
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

[Spark]-Streaming-初识

1.什么是Spark Streaming   Spark Streaming 也是Spark流式处理的解决方案之一.与结构化流相比, Streaming 应该算更早期的解决方案.但在实际工作中,Streaming 才是主流方案.而结构化流更多依然处于实验或者储备状态中. Spark Streaming 它也是支持弹性的, 高吞吐的, 容错的实时数据流的处理. 数据可以通过多种数据源获取, 例如 Kafka, Flume, Kinesis 以及 TCP sockets, 也可以通过例如 map,
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

python之线程(threading)

线程是属于进程的,一个进程可能包含多个线程 至于线程和进程在使用时哪个更好,只能看使用的场景了 话不多说,看下线程模块(threading)的使用方法: #导入模块 import threading,os,time,random #创建一个测试函数subFunc def subFunc(param,ppid): sleepTime = random.randint(1,10) print('Begin %s subProcess,and will wait %s,subPID
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

python_模块与包

(个人笔记 凑活看吧~~~) 模块的概念:    模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。方便组织python代码,使代码更方便易用。 模块的分类:   标准库   第三方模块   自定义模块 import(导入模块)时的搜索路径:     sys.path import的心路历程:   通过搜索路径找到相应的模块的.py文件后,将模块文件里的所有内容执行完后赋值给以模块名命名的变量中 模块调用方法:   import XXX :调用
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

React + Dva + Antd+umi 实践

记录一下最近项目所用到的技术React + Dva + Antd + umi ,以免忘记。之前没有用过它们其中一个,也是慢慢摸索,了解数据整个流程。 先了解下概念 React 不多说,3大框架之一; Dva 是由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:“dva 是 react 和 redux 的最佳实践”。现在已经有了自己的官网 https://dvajs.com; Antd 是阿里的一套开箱即用的中台前端/设计解决方案,UI框
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

在Android初次的前期学习中的二个小例子(2)

Hello13:SQLite数据库 一、简述SQLite的概念和主要特性 SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,使用非常方便,支持SQL语法标准和数据库事务原则。 相对于SharedPreferences使用文件保存数据,SQLite具有处理复杂数据结构的能力。 SQLite支持五种数据类型:NULL,INTEGER,REAL(浮点数),TEXT(字符串文本)和BLOB(二进制对象)。 最大的特点:各种数据类型的数据保存到任何字段中而不用关心字段声明的数据类型,除了声
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

关于java程序在运行时出现a java exception has occured时解决方法

错误截图: 出现情况原因分析: 1.环境没有配置好,配置java环境变量:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 检查是否正确,java javac,可以尝试重新 2.查看使用的jdk版本是否存在版本问题:例如jdk1.7对中文的支持不是很好 3.将tomcat---bin目录下的tomcat-juli.jar包加载到tomcat的paths的第一栏中 Myeclipse->Servers->Tomcat-
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

第四课 计算机的基本组成

1.2 计算机的基本组成 一、冯·诺依曼计算机的特点 现代计算机之父 EDVAC 计算机由五大部件组成 指令和数据以同等地位存于存储器,可按地址寻访 指令和数据用二进制表示 指令由操作码和地址码组成 存储程序 以运算器为中心 冯诺依曼计算机硬件框图 实线表示数据通路,虚线表示控制和状态反馈。 核心:运算器,算术运算和逻辑运算 存储器:存储数据和程序 控制器:指挥程序运行,指令先后顺序 输入设备:将信息装换成机器能识别的形式 输出设备:将结果转换成人们熟悉的形式 问题:运算器过于繁忙,其性能成为
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

Vue 1.0动画

Vue 1.0动画(自定义动画) 步骤:   1.给当前动画元素添加‘transition’属性 其值就是动画名称(假如:fade)   2.给动画名称写css定义     a: .fade-transition{/*定义动画过渡*/ transition:1s all ease;}     b: .fade-enter{/*定义进入动画 注意:进入离开最终一样*/}     c:fade-leave{/*定义离开动画*/} html 如下:    <div id="wrap"> <i
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

线程的状态与基本操作

参考博客:https://blog.csdn.net/sinat_33087001/article/details/73607625
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

html5表单验证反馈

表单验证: validity对象,通过下面的valid可以查看验证是否通过,如果八种验证都通过返回true,否则返回false - oText.addEventListener("invalid",fn1,false); // invalid 验证反馈事件 - ev.preveDefault() // 阻止默认验证 - valueMissing:输入值为空时 - typeMismatch:控件值与预期类型不匹配 - patternMismatch:输入值不满足pattern正则 - tooLo
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

springboot系列(五) 静态资源处理

转载:https://www.cnblogs.com/magicalSam/p/7189476.html 1、静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取。 2、在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 一、默认静态资源映射 Spring Boot 对静态资源映射提供了
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

[Spark]-Streaming-输入篇

1.Input DStreams 和 Receivers   Streaming的输入是由两个部分组成. Input DStreams 和 Receivers   Input DStream 代表从数据源接受到的输入数据流   Receiver 是从数据源接受输入数据,将其写入到 Input DStream的具体执行者. 每一个 Input DStream ( FileStream 除外) 都会与一个Receiver 关联   如果需要在流处理程序中并行的接受多个数据流,可以创建多个 Inpu
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

图解利用vmware工具进行虚拟机克隆

在vmware上创建一台完整的虚拟机,在该创建的虚拟机上进行克隆,先关闭创建的虚拟机,然后选中你要克隆的虚拟机,右击->管理->克隆,然后点击下一步,如下图所示: 2 然后点击下一步,如下图所示: 3 选择完整克隆,如下图所示: 4 设置虚拟机名称及克隆后的位置,如下图所示: 5 等待克隆完成,如下图所示: 6 完成克隆,如下图所示: END 虚拟机配置 因为我们是克隆的虚拟机,所有新的机子和旧的完全一样,包括ip,主机名等信息等,我们要进行修改。 选中新克隆的虚拟机-右击-设置-高级-网络适
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

python学习之老男孩python全栈第九期_day011知识点总结

# 装饰器的形成的过程:最简单的装饰器;有返回值的;有一个参数的;万能参数 # 装饰器的作用 # 原则:开放封闭原则 # 语法糖 # 装饰器的固定模式: # def wrapper(f): # 装饰器函数,f是被装饰的函数 # def inner(*args,**kwargs): # '''在被装饰函数之前要做的事''' # res = f(*args,**kwargs) # 被装饰的函数 #
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

Myeclipse2017删除tomcat后,项目全部报错的解决办法

由于Myeclipse2017自带tomcat,本人想要用自己的tomcat然后在学习期间多次尝试,最后只能想到在Runtime Environments中进行删除,删除前系统还提示如下,为了删除他 我真是天不怕地不怕,就要做先驱 删除完毕觉得应该没问题了把,然而点击OK后发现他还在系统里,并没有删除,带来的后果不堪一击, 系统工程中就变成了这中模样,(图中是解决后为了演示找的几个工程) 出问题了抓紧时间弥补漏洞呀,找呀找呀,发现提供解决办法的不是很多,而且很多小编电脑上都不存在,有的解释是在
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

“冒泡”——最应该掌握的排序

冒泡排序:将一组N个数两两进行比较,经过一趟比较可以将最大数“沉”到底部,而小的数都可以上浮一个位置(看判断条件,也可以说是最小的数“上浮”到顶部,而大的数都下沉一个位置),经过N-1趟比较,就可以得到整个数组的排序。需要引起注意的就是相等的数的处理。(一不小心就写成选择排序了,后面会专门讲一下选择排序和冒泡的区别)。 排序虽然可以从大到小,也可以从小到大,我还是一般喜欢从小到大来排,而且“冒泡”也喜欢按照人的正常逻辑习惯,小的数应该是轻的,应该往上冒,大的数沉应该下沉,针对数组的排序会了,针
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0

Postman 使用方法详细介绍

1,下载安装: 2,打开Postman,如图所示: 3,创建一个接口项目 4,新增接口文件 5,。。。 —————————————————————————————————————————————————————————————————————————————— 未完,待续!!!
分类: 其他 发布时间: 07-10 23:43 阅读次数: 0