自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 资源 (3)
  • 收藏
  • 关注

原创 valgrind

1.执行命令:valgrind --tool=massif asf -d=/home/fm/server/workspace/invest -h=/home/fm/server。4.日志分析:ms_print massif.out.19292 > massif.19292.log。3.在第1步中命令执行目录会生成一个文件:massif.out.19292(19292为进程号)2.长时间运行后通过top观察若内存增长较多,停止节点:asf-invest stop。

2024-01-29 14:30:33 448

原创 mybatis

org.apache.ibatis.session.Configuration:mybatis配置信息,主要包含Environment配置和Mapper配置。org.apache.ibatis.mapping.Environment:mybatis环境配置信息,主要包含数据源、事务管理器。org.apache.ibatis.transaction.TransactionFactory:事务管理器。

2024-01-19 09:50:21 378

原创 java数据库操作

常用函数有:static void registerDriver(java.sql.Driver driver):供驱动程序注册自己static Connection getConnection(String url,String user, String password):取数据库连接,根据url找到合适的数据库连接。数据库数据源工厂,驱动程序管理器的另一个选择,构造时需传入url地址、用户名、密码等,常用函数有:Connection getConnection():获取数据库连接。

2024-01-18 20:31:19 873

原创 SSL协议握手过程

2.服务器收到响应,选择双方都支持的协议套件、服务端随机数,向客户端发送Server Hello。同时服务器也将自己的证书发送到客户端(证书包含服务端公钥)。1.客户端向服务器发送Client Hello,告诉服务器我支持的协议版本,加密套件、客户端随机数等信息。3.客户端自己生产预主密钥(随机数),通过公钥加密预主秘钥,将加密后的预主秘钥发送给服务器。5.客户端和服务端使用相同的算法根据客户端随机数、服务端随机数、预主密钥计算产生主密钥。6.后续客户端和服务端通信使用主密钥加密通信(对称加密)。

2024-01-12 17:17:40 373

原创 openssl命令详解

openssl genrsa:使用rsa算法生成私钥(包含公钥)。openssl rsa:rsa密钥管理。openssl req:请求证书管理。

2024-01-11 15:48:08 540

原创 安全加密算法

加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。常用对称加密算法如下:DES:密钥长度8个字节,安全性不足,已被证明可以在短时间内破解。3DES:3次DES加密,密钥长度增加到24字节,兼容DES加密,破解难度增大,性能慢。3DES为DES到AES的过渡算法。AES:分组加密算法,比3DES安全性更高、性能更快。

2024-01-11 10:59:12 579

原创 Spring框架获取ApplicationContext的方式

1.通过ClassPathXmlApplicationContext获取;2.通过FileSystemXmlApplicationContext获取;3.通过AnnotationConfigApplicationContext获取;4.通过继承ApplicationContextAware获取;

2024-01-03 17:06:08 620

原创 maven项目构建过程

jar打包完成后重新打包,生成可执行jar,包含所有依赖的jar包。在集成测试执行之前,执行所需的操作,例如设置环境变量。处理资源文件,并复制到输出目录,为打包阶段做准备。在集成测试被执行后执行必要的操作,例如清理环境。处理和部署所需的包到集成测试能够运行的环境中。编译测试源代码并移动到测试输出目录中。结束阶段生成站点结束后所需要做的工作。在真正打包之前,执行—些必要的操作。准备阶段在生成站点前所需要做的工作。生成编译阶段需要的所有源码文件。生成项目打包阶段需要的资源文件。生成编译阶段需要的测试源代码。

2024-01-03 13:28:32 459

原创 SpringBoot注解

PostConstruct:注解成员函数,该成员函数在所有@Autowired成员变量被注入之后再调用,调用顺序:Constructor >> @Autowired >> @PostConstruct。@Component:单例模式,自动注册到Spring容器中,Spring容器启动时被实例化,Spring容器关闭时被销毁,通过@Autowired注入到其他组件中被使用。prototype 多实例的(多例)   ---- 每次获取Bean的时候会有一个新的实例。

2023-12-11 19:13:42 554

原创 mysql时间类型处理

【代码】mysql时间类型处理。

2023-12-05 13:07:22 388

原创 oracle时间类型处理

【代码】oracle时间类型处理。

2023-12-05 08:59:07 353

原创 一、opengauss基础

用户:用户属于数据库服务器,用户对数据库、表空间、模式、表都有拥有关系数据库:一个数据库服务器可以创建多个数据库,每个数据库都有一个拥有者,一般为系统管理员表空间:每个数据库都有一个缺省表空间,数据库下创建的表默认在缺省表空间下模式:每个用户创建都会自动创建一个同名模式,一个用户可以有多个模式逻辑图:相关查询sql:二、开始opengauss opengauss安装成功后只默认安装一个postgres数据库和一个omm系统管理员用户,omm用户只能本地登录,如下命令:登录

2023-12-01 14:28:22 390

原创 一、Oceanbase基础

整个分布式数据库。:表示区域,是地域的逻辑概念,如1个城市,1个集群可以有多个Region,用于跨城市远 距离容灾。:表示分区,是机房或机架的逻辑概念,1个Region包含1个或多个Zone,分区部署可提高可用。:observer为1个进程/1个节点(通常1台服务器部署1个observer进程),Oceanbase是 一个单进程软件,包含数据库所有管理功能:连接、sql解析、存储、事务、负载均衡。

2023-11-27 20:48:35 721

原创 一、TIDB基础

TIDB集群:相当于MYSQL的数据库服务器,区别是MYSQL数据库服务器为单进程的,TIDB集群为分布式多进程的。用户:同MYSQL用户,用户属于集群,不属于某个数据库,通过赋权让用户获取数据库权限。数据库:同MYSQL数据库,数据库属于集群,1个集群可以创建多个数据库。表:同MYSQL表,表属于数据库。

2023-11-23 15:09:42 806

原创 TIDB拓扑结构

TiDB Server:SQL层,负责接受客户端的连接,执行SQL解析和优化,最终生成分布式执行计划。TiDB Server为无状态的,可增加节点负载均衡。PD (Placement Driver) Server:整个TiDB集群的元信息管理模块,负责存储每个TiKV节点实时的数据分布情况和集群的整体拓扑结构,为分布式事务分配事务 ID。PD节点有状态,所有PD节点实时做数据同步。TiKV Server:负责存储数据,从外部看TiKV是一个分布式的提供事务的Key-Value存储引擎。

2023-11-23 14:54:23 478

原创 java发送邮件

mail.smtp.ssl.checkserveridentity:指定是否检查服务器的身份验证,默认情况下为 false。mail.smtp.starttls.enable:指定是否启用 STARTTLS 加密,默认情况下为 false。mail.smtp.ssl.enable:指定是否启用 SSL 加密,默认情况下为 false。setProperty:设置属性key-value键值对,如:prop.setProperty("mail.transport.protocol", "smtp");

2023-10-25 16:22:18 1186

原创 POM配置

当使用import作为 依赖的scope时,实际的依赖分辨在父POM中声明,在子模块中只需指定groupId和 artifactId。不同的是,它会将项目中依赖的所有jar包都放在WEB-INF/lib这个文件夹下,war包非常适合 部署时使用,不再需要下载其他的依赖包,能够使用户拿到war包直接使用,因此它经常使用 于微服务项目群中的入口项目的pom配置中。jar:表示标准的Java库,这是默认值。

2023-10-11 14:06:15 258

原创 maven构建java项目

mvn deploy:将项目构建结果部署到远程Maven仓库,供其他开发人员访问和下载。mvn package:将项目打包为可分发的格式,如JAR、WAR或EAR文件。mvn install:将项目构建结果安装到本地Maven仓库,供其他项目使用。mvn clean install:清理项目并安装到本地Maven仓库。mvn clean package:清理项目并打包为可分发的格式。mvn clean:清理项目,删除目标文件和构建产生的临时文件。mvn clean test:清理项目并运行项目的单元测试。

2023-07-13 16:12:22 103

原创 Java注解

Inherited//获取方法上的注解并输出注解的值//调用sayHello函数。

2023-06-29 16:56:45 242

原创 Java反射

反射机制:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为 java 语言的反射机制。反射原理:jvm加载.class文件时会为每个java类创建一个class对象,class对象会保存类的所有函数、属性等信息,我们只要获取到类的class对象,就可以通过class对象在不知道类的类型的情况下创建类的对象、调用类的函数。

2023-06-29 11:16:25 136

原创 Java HelloWorld

javac:将.java文件编译成.class文件cp - 指定class搜索路径d - 指定class文件生成目录java: 执行.class或.jar文件cp指定class搜索路径示例:java test1.app #表示执行./test1/app.class文件main函数jar:打包生成.jar文件v- 可视化输出c - 创建一个新的Jar文件示例:jar cvf myapp.jar *.classt - 列出Jar文件中所有的文件示例:jar tvf myapp.jar。

2023-06-27 15:36:25 910

原创 cargo手册

Cargo 是 Rust 的构建系统和包管理器,使用 Cargo 来管理 Rust 项目,因为它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。

2023-05-30 11:18:48 161

原创 rust安装及helloword

1.创建目录及main.rs文件。

2023-05-30 10:54:32 47

原创 TIUP安装及相关命令

tidb官网文档地址:https://docs.pingcap.com/zh/tidb/stable。

2023-04-26 19:13:05 910

原创 Oracle DataGuard

有两种类型的STANDBY:物理STANDBY和逻辑STANDBY。物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。主要目的是灾备恢复。逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,...

2021-07-18 12:40:12 2777

原创 TCP三次握手、四次挥手过程及原理

参考:https://www.cnblogs.com/onesea/p/13053697.html写的非常好了

2021-07-16 10:37:59 104

原创 linux五种IO模型

linux五种IO模型,包括同步模式(阻塞模式、非阻塞模式、多路复用模式、信号驱动模式)和异步模式在Linux中,对于一次写入IO操作,是将数据拷贝到TCP内核缓冲区;对于一次读取IO的操作,通常包括两个不同阶段: (1)等待数据准备好,到达内核缓冲区; (2)从内核向进程复制数据。参考:https://blog.csdn.net/z_ryan/article/details/808734491.阻塞式模型阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。se

2021-07-14 13:18:05 119

原创 源码安装mysql

1.openssl安装下载地址:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1e.tar.gzwget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1e.tar.gztar -zxvf openssl-1.1.1e.tar.gzcd openssl-1.1.1e/./configmake && make installopenssl version -..

2021-07-12 15:59:14 80

原创 数据库多版本事务控制(mvcc)

事务多版本控制,事务开始时生成一个id,事务修改数据时,将id保存到记录行上,当前事务id假设为current_id1.小于current_id且已经提交的记录行,对当前事务可见2.小于current_id但未提交的记录行,对当前事务不可见3.大于current_id无论是否提交的记录,对当前事务都不可见oracle实现机制,scn事务ID + cmflag提交标志,每行记录上都有一个scn和cmflag,由于行记录是随机读写,增加这两个字段会降低读写性能,oracle将这两个字段放到文件头集中存

2021-07-01 22:23:48 428

原创 二、MYSQL表

一、建表建表方式#创建表create table if not exists tb1( id int primary key, name varchar(100));#创建临时表,创建的客户端可见,会话结束后自动销毁,若临时表名与永久表名相同,永久表会被隐藏create temporary table if not exists tmptb1( id int primary key, name varchar(100));#复制表结构(包括主键、索引、约束等,不包括数据)

2021-03-11 08:55:21 91

原创 一、MYSQL基础篇

一、前言数据库服务器:整个MYSQL数据库软件,包括运行在它之上的所有数据库即为数据库服务器。MYSQL是一个单进程数据库,一个数据库服务器可以创建多个数据库,所有数据库运行在同一个进程中,数据库服务mysqld启动,则所有数据库都启动了。数据库:一个数据库服务器可以创建多个数据库,表、触发器等对象都属于数据库,用户不属于数据库。由于MYSQL是单进程,一个数据库服务器上的多个数据库中的表可以很方便的关联。系统自带名称为mysql的数据库,保存所有数据库系统对象。用户:与oracle不同,mys

2021-03-06 20:52:58 655 1

原创 一、Oracle基础篇

本篇介绍Oracle数据库、实例、命名空间、段、区、块、用户、模式、角色、权限等概念。数据库:存储数据的多个物理文件的集合,如控制文件,数据文件,参数文件,日志文件,临时文件等,一个linux用户可以创建多个oracle数据库,数据库实例启动前通过ORACLE_SID标识启动哪个数据库(sqlplus / as sysdba,startup),启动后通过数据库实例名确定连接哪个数据库实例(sqlplus system/1@orcl1,orcl1为数据实例名)实例:访问数据库文件的一组进程,实例和数据

2021-02-25 20:13:01 884

原创 linux静态链接和动态链接

gcc 编译c/c++源代码-E 预编译,生成后缀为.i 的预编译文件。处理#开头预处理指令,#difine、#include、#if等-S 生成汇编代码,生成后缀为.s 的汇编源文件。-c 只编译不连接,生成后缀为.o 的目标文件。-o 确定输出文件的名称-g 产生符号调试工具(GNU的 gdb)所必要的符号信息objdum 命令Linux下的反汇编目标文件或者可执行文件的命令objdump -d 1.o #反汇编代码段objdump -r 1....

2021-02-04 13:34:37 869

原创 C++内存泄漏排查

linux c++内存泄漏排查方案汇总参考:https://www.cnblogs.com/kex1n/p/11572313.html使用mtrace分析内存泄漏参考:https://zhuanlan.zhihu.com/p/83547768

2021-01-13 20:43:31 4786

转载 Unable to open socket (192.168.7.200),Too many open files

单个进程创建sqlserver连接超过2020个报错:Unable to open socket (192.168.7.200),Too many open files执行下面命令查看进程限制的,文件上限是4096[fm@vm-rhel76 lib]$ cat /proc/4289/limitsLimit Soft Limit H...

2020-03-03 17:34:45 1711

原创 linux磁盘的分区

 磁盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。(逻辑分区就是为了解...

2019-01-18 10:35:42 692

原创 Keepalived功能及配置介绍

定义:Keepalived是基于vrrp协议的一款应用高可用开源软件,包括“虚拟路由冗余”和“状态检测故障剔除”两个功能子模块;启动后有3个进程core(主进程的启动、维护以及全局配置文件的加载和解析)、vrrp(虚拟路由冗余)、check(状态检测故障剔除)相关命令:keepalived -hkeepalived.conf详解Keepalived的配置文件可以分为三块:1.全局定...

2019-01-17 11:04:34 573

原创 区块链学习资料

智能合约Solidity编程语言-语言语法:http://www.tryblockchain.org/

2018-03-14 15:43:46 321

原创 区块链开发:(3)以太坊开发环境搭建-truffle和testrpc安装

     truffle是本地的用来编译、部署智能合约的工具,而testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到geth中去。所以可以说truffle和testrpc就是两大杀器。1.安装node.jscurl -sL https://deb.nodes...

2018-03-11 23:45:52 2360

原创 区块链开发:(1)Ubuntu 搭建以太坊客户端geth

geth是以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等1.安装Ubuntu虚拟机。 官网下载地址:http://www.ubuntu.com 如下图,选择Alternative downloads,向下拉到BitTorrent页,下载种子后,用迅雷下载ios镜像,最后用VMWare 安装镜像。    参考:http:...

2018-03-10 10:57:12 1752

用java语言编写的推箱子游戏的源代码

这是个用java编写的推箱子游戏的源代码。

2009-09-22

DD省某银行扣税系统需求说明书

这是一个pdf文件,详细介绍了DD省某银行扣税系统的需求说明分析。

2009-09-22

软件设计文档国家标准

这是一个压缩文件,里面包含若干world文档,详细介绍了软件工程设计的国家标准。

2009-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除