初始化

Apusic上用JavaMail发邮件

折月煮酒 提交于 2020-03-06 13:35:38
Apusic上用JavaMail发邮件 0. JavaMail基本介绍 JavaMail是属于J2EE框架中的一部分,主要是为简化Mail部分开发工作。使用JavaMail发送邮件需要以下步骤: 1)初始化Session实例; 在初始化Session实例中有两种方式:使用JNDI初始化和在代码中自行完成初始化。 ★ 如果SMTP不需要认证,则不再做其他工作; ★ 如果SMTP需要认证,则确定在Session中提供嵌入认证信息,还是由3)Transport完成认证过程。 2)初始化Message实例,填充相关信息; 3)初始化Transport实例,连接到远程SMTP服务器,发送邮件。 在初始化Transport实例时也有两种情况: ★ 如果SMTP不需要认证,可以直接调用send()函数发送邮件,应用服务器会在后台调用connect()函数完成谁,进行邮件发送; ★ 如果SMTP需要认证,需要调用connect()函数,并提供认证需要的用户名/密码,才可以正确发送邮件。 1. javax.mail.Session的初始化 1.1. 使用JNDI初始化(配置JavaMail的JNDI) 在Apusic的J2EE应用中找到apusic-application.xml文件,增加<mail-session>部分,示例如下: <apusic-application> <module uri=

类加载机制学习

给你一囗甜甜゛ 提交于 2020-03-06 10:15:50
简单讲下JVM中的类加载过程 JVM中的类加载和卸载的时机? 如何理解JVM中不同类加载器的概念和作用? 简单讲下JVM中的双亲委派模型? 什么情况下会破坏双亲委派模型?为什么?可否举个例子? Tomcat中的类加载机制有了解吗?为什么这么设计? 实际开发中有遇到哪些类加载器相关的问题?你又是如何解决的? JVM之上的弱类型语言例如Groovy是如何实现?简单讲下动态类加载机制? 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。平常我们写的Java文件,需要编译为class文件才能交给JVM运行。可以这么说:C语言代码——>二进制文件——>计算机硬件,就相当于Java代码——>字节码文件——>JVM。JVM将指定的class文件读取到内存里,并运行该class文件里的Java程序的过程,就称之为类的加载;反之,将某个class文件的运行时数据从JVM中移除的过程,就称之为类的卸载。 class文件的运行时数据就是C++对象,也称为kclass对象,这些运行时数据在JDK7之前是放在永久代(PermGen),JDK8之后则放在元空间(Metaspace)。 类的生命周期 Java类从被虚拟机加载开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析

C++标准库

十年热恋 提交于 2020-03-06 09:57:18
C++总结-标准库 一、 容器 1. 顺序容器 1) 定义,初始化,赋值 初始化: a) 默认构造函数(最常用的方式) b) 用其他相同容器初始化,包括用容器本身,或用迭代器 c) 能构造拥有n相同元素容器的构造函数,包括有元素或默认元素的形式 赋值: a) 使用重载的“=”。 b) 使用容器函数assign( )。 c) 使用容器函数swap( ),具有较高的性能(事实上只交换某些内部指针),这个函数的功能是交换两个容器内的函数。 2) 操作 添加: a) 尾部插入元素,push_back( )。 b) 头部插入元素,push_front( ),只适用于list和deque。 c) 任意位置插入元素,insert( ),要指明插入的位置和插入的元素. d) 任意位置插入另个容器或容器中的元素,splice( ),只适用list 删除: a) 删除尾元素,pop_back( ) b) 删除头元素,pop_front( ),只适用于list和deque c) 删除任意位置元素,erase( ),参数是迭代器。 d) 删除特定值或判断值为true的元素,remove(), remove_if(), 只适用list e) 全部清空,clear( ) 大小: a) 获得容器中元素的个数size( ) b) 重新设定容器的大小,resize( ) c)

react生命周期

别等时光非礼了梦想. 提交于 2020-03-06 09:00:00
组件的生命周期 可分为三个状态: Mounting:已插入真实DOM Updating:正在被重新渲染 Unmounting:已移出真实DOM 下图展示了不同阶段生命周期函数的执行顺序: 生命周期函数 指在某一个时刻组件会自动执行的函数。 constructor() 在React组件挂载之前,会调用它的构造函数。主要做两件事情: 通过给 this.state 赋值对象来初始化内部 state。 为事件处理函数绑定实例 注意事项: 在为 React.Component 子类实现构造函数时,应在其他语句之前前调用 super(props)。否则,this.props 在构造函数中可能会出现未定义的 bug。 不要在里边调用setState componentWillMount() 在渲染前调用,在客户端也在服务端。(组件即将挂载到页面上自动执行) componentDidMount() (组件被挂载之后自动执行)在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 componentWillReceiveProps() 在组件接收到一个新的prop时被调用。这个方法在初始化render时不会被调用。 shouldComponentUpdate(nextProps, nextState) 返回一个布尔值

《C++ Primer(第五版)》第六章笔记

旧城冷巷雨未停 提交于 2020-03-06 08:53:59
6.1 函数基础   通过 调用运算符 来执行函数。函数的调用完成两项工作:用实参初始化函数的形参;将控制权转移给被调用函数。   当遇到一条 return 语句时函数结束执行过程。return 也完成两项工作:返回 return 语句中的值;将控制权从被调用函数转移回主调函数。 形参和实参   形参出现在函数定义的地方,实参出现在函数调用的地方。实参是形参的初始值,实参的类型必须与对应的形参类型相匹配。   任意两个形参都不能同名,而且函数最外层作用域中的局部变量也不能使用与函数形参一样的名字(外层局部变量被内部形参隐藏)。 6.1.1 局部对象   对象的 生命周期 是程序执行过程中该对象存在的一段时间。   形参和函数体内部定义的变量统称为 局部变量 。局部变量会 隐藏 在外层作用域中同名的其他所有声明中。   只存在于块执行期间的对象称为 自动对象 。    局部静态对象 在程序的执行路径第一次经过对象定义语句时初始化,并且直到程序终止才被销毁。内置类型的未初始化局部变量产生未定义的值,内置类型的局部静态变量初始化(值初始化)为 0。 6.2 参数传递   形参的类型决定了形参和实参交互的方式。当形参是引用类型时,其对应的实参被 引用传递 或函数被 传引用调用 ;当实参的值被拷贝给形参时,实参被 值传递 或函数被 传值调用 。 6.2.1 传值参数  

JavaSE!面向对象!!!!

情到浓时终转凉″ 提交于 2020-03-06 03:21:27
1. 面向对象的编程思想: 面向对象的编程思想就是把一个事物看成一个整体,把这个事物中的属性(特征)和功能(方法)表述出来。 面向对象的编程思想更贴近于人的正常思维方式。 面向对象的编程思想来源于生活服务于生活。 面向对象的编程思想中,一定会用到面向过程(以流程为基本单位,注重最后结果。)的编程思想。有缺陷:功之间有很强的关联。不利于程序的维护和扩展。 面向对象的特征: 抽象!! 封装!! 继承!! 多态!! 。 2. 对象 在现实生活中,具体存在的一个事物。 在java编程中,万事万物皆对象。 特点: 在java编程中,无论两个事物多么相近或是相似,他们永远都是两个不同的对象。 各种法律、规则制度也是一种对象。 对象的内存图解 1 1.在堆内存中开辟一个空间并分配地址 2.按照类的描述,在该空间中定义成员变量 并且有默认初始化值 3.加载成员函数进入方法区(只加载一次) 4.对象创建完毕 将空间地址赋值给相应的变量 5.变量(p1/p2)调用成员变量 先通过该变量所存储的地址去堆空间中找 然后在该空间中找相应的成员变量 6.变量(p1/p2)调用成员函数 直接去方法区中找该成员函数 将该函数加载进栈内存开始运行 为了方便区分哪个对象调用的该成员函数 由this这个关键字段 来区分 this主要存的是当前对象的地址 注意:当成员函数在操作变量的时候 先在当前函数的空间里找 局部变量

Lua 脚本

柔情痞子 提交于 2020-03-06 03:18:43
Lua 脚本 ¶ Lua 脚本功能是 Reids 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。 本章先介绍 Lua 环境的初始化步骤, 然后对 Lua 脚本的安全性问题、以及解决这些问题的方法进行说明, 最后对执行 Lua 脚本的两个命令 —— EVAL 和 EVALSHA 的实现原理进行介绍。 初始化 Lua 环境 在初始化 Redis 服务器时, 对 Lua 环境的初始化也会一并进行。 为了让 Lua 环境符合 Redis 脚本功能的需求, Redis 对 Lua 环境进行了一系列的修改, 包括添加函数库、更换随机函数、保护全局变量, 等等。 整个初始化 Lua 环境的步骤如下: 调用 lua_open 函数,创建一个新的 Lua 环境。 载入指定的 Lua 函数库,包括: 基础库(base lib)。 表格库(table lib)。 字符串库(string lib)。 数学库(math lib)。 调试库(debug lib)。 用于处理 JSON 对象的 cjson 库。 在 Lua 值和 C 结构(struct)之间进行转换的 struct 库( http://www.inf.puc

Spring Cloud Gateway 扩展动态路由

人走茶凉 提交于 2020-03-06 02:13:04
Spring Cloud Gateway 扩展动态路由 路由配置 配置文件 spring : application : name : sc - gw cloud : nacos : discovery : server-addr : 127.0.0.1 : 8848 config : server-addr : 127.0.0.1 : 8848 file-extension : yml shared-dataids : application - $ { spring.profiles.active } .$ { spring.cloud.nacos.config.file - extension } gateway : discovery : locator : enabled : true lower-case-service-id : true routes : # Route Predicate Factories - id : nacos - getway - provider #自定义的路由ID,保持唯一 uri : lb : //nacos - provider #目标服务地址,以lib://开头(lb代表从注册中心获取服务) predicates : #路由条件,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将

vue生命周期简概

眉间皱痕 提交于 2020-03-06 01:40:18
什么是生命周期:简单的讲就是数据驱动页面,页面在更新的过程就是生命周期。在这个过程中我们可以写我们的逻辑。 什么是生命周期钩子:生命周期钩子就是指的各个生命周期的回调函数 beforeCreate 组件属性刚创建完,组件计算属性之前 例如data、watcher等 created 实例创建完成后被立即调用,属性已绑定,但是挂载阶段还没开始,$el 属性目前尚不可用 beforeMount 挂载开始之前被调用 mounted 挂载之后被调用,el 被新创建的 vm.$el 替换了 beforeUpdate 数据更新时调用,适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。 updated 数据更改重新渲染和打补丁,在这之后会调用该钩子。 activated 被 keep-alive 缓存的组件激活时调用 deactivated 被 keep-alive 缓存的组件停用时调用 beforeDestroy 实例销毁之前调用。在这一步,实例仍然完全可用。 destroyed 销毁后调用 errorCaptured 当捕获一个来自子孙组件的错误时被调用。 < ! DOCTYPE html > < html > < head > < title > < /title > < script type = "text/javascript" src = "https://cdn

Spring Boot 学习笔记(十六)启动原理、运行流程、自动配置原理

孤街醉人 提交于 2020-03-06 01:01:14
1、启动流程 1)创建 springApplication 对象 此对象调用 initialize 方法进行初始化 * 主配置类就是 springboot 工程的主类,run方法传进去的 class 对象 当然可以传多个,最后一个语句就是用来判断哪个是有 main 方法的! * 若在创建工程时候导入了 web 模块,则判断语句会判断出这是一个 web 应用 * spring.factories 文件在 autoconfigure 包下 * 找到的 initializers 和 listeners 保存了当前 springApplication 类中,用 Array 存储 2)运行 run 方法 有关 IOC 的初始化,涉及到 AbstractApplicationContext 中重点的 refresh 方法 源码分析看这里 ==> click here 来源: https://www.cnblogs.com/qwertiLH/p/12369140.html