初始化

RHEL7使用国内yum源,安装Mariadb 10.2.25, 并配置字符集为utf8mb4

不打扰是莪最后的温柔 提交于 2020-03-26 01:48:09
目前阿里, 清华,163等镜像站的Mariadb都是5.5的,有些项目需要用到更新的版本,所以顺便安装一下10版本的,并记录过程 添加中科大的Mariadb 10.2.25 yum源,并yum安装 [mariadb] name = MariaDB baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64 gpgkey = https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1 # 需要重新生成yum 缓存,再安装 yum clean all yum makecache all # 安装mariadb客户端,服务端 yum install mariadb-server mariadb -y # 启动 systemctl start mariadb #启动 MariaDB systemctl enable mariadb #设置开机启动 初始化前注意 在确认 MariaDB 数据库软件程序安装完毕并成功启动后请不要立即使用。为了确保数据 库的安全性和正常运转,需要先对数据库程序进行初始化操作。这个初始化操作涉及下面 5 个 步骤。 ➢ 设置 root 管理员在数据库中的密码值(注意,该密码并非 root 管理员在系统中的密

【MySQL】1.MySQL安装配置

守給你的承諾、 提交于 2020-03-25 21:25:26
MySQL官网: https://www.mysql.com/ 一、MySQL的安装配置 下载需要安装的软件包: https://dev.mysql.com/downloads/mysql/ MySQL的安装包有已经编译成二进制文件的,RPM包或者源码,下载二进制文件版本的,直接使用就可以了。按需选择版本。 [root@node1 soft]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz [root@node1 soft]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz [root@node1 soft]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql [root@node1 ~]# yum install libaio -y #安装MySQL依赖libaio [root@node1 ~]# groupadd mysql [root@node1 ~]# useradd -r -g mysql -s /bin/false mysql [root@node1 ~]# cd /usr/local/mysql/ [root@node1

Spring IOC 启动过程?

只愿长相守 提交于 2020-03-25 21:01:50
这是一道经典的Spring回答的深入程度可以看出面试者对Spring框架的理解。 https://www.jianshu.com/p/8c24e0c804cc 首先看图理解过程 Spring的模型是一切皆Bean,从上图可以看出,分为以下几步: 第一步读取bean配置信息 第二步根据bean注册表实例化Bean 第三步将Bean实例放到容器中 第四步使用Bean 然后看一下Spring类的继承图 然后结合代码看过程 上面的回答是个简单版本,不够详细,大部分面试官是不满意的,下面结合代码。 我们学习并练习Spring框架时,一般开始都是这样一句代码: 意思是加载xml文件创建一个ApplicationContext 的Spring 容器。 那么就从new ClassPathXmlApplicationContext这个构造方法开始看吧。进入源码: 其实可以看到他是来到这里了: 上面这个构造方法呢,其实就是new ClassPathXmlApplicationContext("classpath:application.xml") 真正开始的地方。开始之前大家先看看上面第二、第三张图“ApplicationContext 的继承图”和“BeanFactory的继承图”,ClassPathXmlApplicationContext 经过好几次继承才到 ApplicationContext

刚从京东面试回来,我才知道这些JVM知识有多重要

百般思念 提交于 2020-03-25 17:24:55
刚从京东面试回来,我才知道这些JVM知识有多重要 面试题 关于JVM的知识之前也写过相关的文章整理,但是从京东面试后,才发现这些JVM的知识点尤为重要,所以特意整理出来以供大家参考。 1.什么是类的加载? 2.哪些情况会触发类的加载? 3.讲一下JVM加载一个类的过程 4.什么时候会为变量分配内存? 5.JVM的类加载机制是什么? 6.双亲委派机制可以打破吗?为什么 答案放在文章的最后,来不及看原理也可以直接跳到最后直接看答案。 深入原理 类的生命周期 类的生命周期相信大家已经耳熟能详,就像下面这样: 不过这东西总是背了就忘,忘了又背,就像马什么梅一样,对吧? 其实理解之后,基本上就不会再忘了。 加载 加载主要做三件事: 1.找到类文件(通过类的全限定名来获取定义此类的二进制字节流) 2.放入方法区(将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构) 3.开个入口(生成一个代表此类的java.lang.Class对象,作为访问方法区这些数据结构的入口) 总的来讲,这一步就是通过类加载器把类读入内存。需要注意的是,第三步虽然生成了对象,但并不在堆里,而是在方法区里。 连接 连接分为三步,一般面试都比较喜欢问准备这一步。 校验 顾名思义,检查Class文件的字节流中包含的信息是否符合当前虚拟机的要求。 准备 这一步中将为静态变量和静态常量分配内存,并赋值。 需要注意的是

java对象初始化顺序

早过忘川 提交于 2020-03-25 14:58:57
3 月,跳不动了?>>> 静态代码块B 静态代码块A 普通的代码块B 构造器B 普通的代码块A 构造器A public class B { public B() { super(); System.out.println("构造器B"); } { System.out.println("普通的代码块B"); } static{ System.out.println("静态代码块B"); } } */ public class A extends B { public A () { super () ; System. out .println( " 构造器 A" ) ; } { System. out .println( " 普通的代码块 A" ) ; } static { System. out .println( " 静态代码块 A" ) ; } public static void main (String[] args) { A a= new A() ; } } 来源: oschina 链接: https://my.oschina.net/u/4115727/blog/3211162

Hexo最佳实践推荐

隐身守侯 提交于 2020-03-25 12:16:42
3 月,跳不动了?>>> 该实践其实是一个目录操作规范,以易于使用为最终目的,将需要个性化和经常会变动的目录或文件独立出来,借助简单的 Shell 脚本进行 Hexo 的初始化及 NexT 主题的升级。 说明:来源于个人使用过程中的总结,可能并不适合所有人,仅供参考。 <!-- more --> 1. 最终目录结构 . ├── config_hexo.yml # 软链接到 Hexo 配置文件 ├── config_next.yml # 软链接到 NexT 主题配置文件 ├── core # Hexo 根目录,可自定义 │ ├── _config.yml -> ../config_hexo.yml # 个人修改后的配置文件 │ ├── _config.yml.bak # 原 Hexo 配置文件 │ ├── db.json │ ├── node_modules │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── scaffolds │ ├── source -> ../source_hexo # 个人变动后的资源目录 │ ├── source_bak # 原 Hexo 资源目录的备份 │ └── themes │ ├── landscape # Hexo 默认主题根目录 │ └── next # NexT

Java 对象初始化

点点圈 提交于 2020-03-25 08:46:25
对象A的创建过程: 1. 构造器实际上是静态方法。当首次创建对象A 或者 A类的静态方法/静态域首次被访问时,Java解释器查找类路径,以定位 A.class文件。(当程序创建第一个对类的静态成员的应引用时,类会被动态加载到JVM中) 2. 载入A.class,有关静态初始化的所有动作都会执行。因此,静态初始化只在Class对象首次加载的时候进行一次。 3. 当用new A()创建对象时,首先在堆上为A对象分配足够的存储空间。 4. 这个存储空间会被清零,这样就自动将A对象的所有基本类型数据设置成了默认值,引用则被设置成了null。 5. 执行所有出现于字段定义处的初始化工作。 6. 执行构造器。 属性、方法、构造方法和自由块都是类中的成员,在创建类的对象时,类中各成员的执行顺序: 1. 父类静态成员和静态初始化快,按代码出现的顺序依次执行。 2. 子类静态成员和静态初始化块,按代码出现的顺序依次执行。 3. 父类的实例成员和实例初始化块,按代码出现的顺序依次执行。 4. 父类的构造方法(如果没有明确指出调用某个父类的构造器,就会默认调用父类默认构造器,如果不存在默认构造器,编译器会出 错) 5. 子类实例成员和实例初始化块,按代码出现的顺序依次执行。 6. 子类的构造方法。 编写构造器的一条有效准则:(Java编程思想第四版中文P163) “用尽可能简单的方法使对象进入正常状态

nginx启动过程分析

那年仲夏 提交于 2020-03-25 08:45:53
nginx的启动过程紧紧环绕着ngx_cycle_t的结构体展开,首先通过ngx_get_options()获取命令行參数。然后通过ngx_time_init()进行时间的初始化。如全局变量 ngx_cached_time 。 再通过ngx_regx_init()完毕正则的初始化。通过ngx_log_init()创建日志对象, 初始化日志,如初始化全局变量 ngx_prefix 。打开日志文件 ngx_log_file.fd 。 通过ngx_create_pool()创建内存池, 大小为 1024B 。 ngx_save_argv() 保存命令行參数至全局变量 ngx_os_argv 、 ngx_argc 、 ngx_arg v ;通过ngx_process_options()处理init_cycle中的配置文件路径。 初始化 ngx_cycle 的 prefix, conf_prefix, conf_file, conf_param 等字段。 ngx_os_init()完毕操作系统的一些信息的获取。如内存页面大小、系统限制资源等信息,将其保存在相应的全局变量中。通过ngx_crc32_table_init()初始化一个循环冗余校验表,为后面高效查找循环冗余做准备;通过ngx_add_inherited_sockets:通过环境变量 解析环境变量 NGINX_VAR="NGINX"

作业10总结

孤人 提交于 2020-03-25 08:43:54
一、知识点:   1.指针表量的概念:     变量可以用来存放数值(如整数、实数等),也可以用来存放地址(另一个变量的地址),这种专门用于储存指针(地址)的变量就称为指针变量。   2.指针变量的定义:     在定义指针变量时,需要用指针声明符“*”表示此变量并非一般变量,而是用来存放其他变量地址的指针变量。由于每一个变量都属于一个特定类型 ,因此在定义指针变量时,需要声明该变量的类型,以便能够通过指针正确访问特定类型的数据。     定义一个指针的语法格式为:       基类型标识符 *指针变量名;   (1)“基类型”就是指针所指数据的类型。   (2)定义指针变量的时,在指针变量名前加符号“*”。“*”称为指针声明符,用于说明其后的名字是一个指针变量名。   3.指针变量名的初始化和赋值:     和其他变量一样,指针变量也可以进行初始化。可以用变量的地址对指针变量进行初始化,但必须注意:该变量的类型必须和指针变量的基类型相同。也可以用一个指针变量的值给另一个指针变量赋值,但它们应该具有相同的基类型。   4.引用指针变量:     当一个指针变量被初始化或被赋值之后,它就指向一个特定的变量。这时,就可以使用指针访问它所指向的内存空间。使用指针访问它所指向的内存空间的方法是在指针变量名前加一个“*”号。此处的“*”号是“指针运算符”。又称为“间接访问运算符”,它作用于

Mysql初始化root密码和允许远程访问

一世执手 提交于 2020-03-25 06:10:41
mysql默认root用户没有密码,输入mysql –u root 进入mysql 1、初始化root密码 进入mysql数据库 1 mysql> update mysql.user set password=PASSWORD('xjx') where User='root'; 2、允许mysql远程访问,可以使用以下三种方式: a、改表。 1 2 3 4 mysql -u root –p mysql>use mysql; mysql> update user set host = '%' where user = 'root' ; mysql> select host, user from user ; b、授权。 例如,你想root使用123456从任何主机连接到mysql服务器。 1 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root' @ '%' IDENTIFIED BY '123456' WITH GRANT OPTION ; 如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码 1 2 mysql> GRANT ALL PRIVILEGES ON *.* TO 'jack' @’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT