java,架构,编程语言相关专家
1.主从复制是MongoDB最常用的复制方式,这种方式非常灵活,可用于备份、故障恢复、读扩展等 2最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址。运行mongod –master就启动了主服务器。运行mongod –slave –source master_address则启动了从服务器,其中master_address就是上面主节点的地址。
1 Maven是跨平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理。 项目构建 清理à编译à测试à报告à打包à部署 理想的项目构建: 高度自动化 跨平台 可重用的组件 标准化的 依赖管理
简介: 概览 当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置。这包含了本地仓库位置,远程仓库服务器以及认证信息等。 settings.xml存在于两个地方: 1.安装的地方:$M2_HOME/conf/settings.xml 2.用户的目录
注意:要加入mongodb相应的jar包 package cn.toto.mongodb; import java.net.UnknownHostException; import org.bson.types.ObjectId; import org.junit.Test; import com.mongodb.BasicDBObject;
1 固定集合 固定集合值得是事先创建而且大小固定的集合 2 固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制。 3 创建固定集合使用命令: db.createCollection(“collectionName”,{capped:t
一:普通索引 1创建一个新的数据库 > use toto; switched to db toto > show dbs; admin (empty) local 0.078GB > use toto; switched to db toto > db toto > 2创建1
1排序sort() A降序排列 db.c4.find().sort().sort({age:-1}); B升序排列: db.c4.find().sort({age:-1}); C排序分页 db.collectionName.find().sort({age:-1}).skip(2
1代开一个cmd窗口,当作mongodb客户端,执行以下命令: mongo localhost:27017 2查看所有的数据库: > show dbs; admin (empty) local 0.078GB 3 db命令,查看当前窗口在那个数据库下面(test数据库没有任何数据,在内存里面):
1.MongoDB官方网站上下载MongoDB的安装版本。截图如下: 2 安装64位版本的mongodb。将它解压到: E:\Installed\mongodb-win32-x86_64-2.6.4 bin目录 3将bin的位置配置到环境变量 4启动mongodb数据库,怎么通过客户端连接数据库,跟mongo
mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | +--
mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,执行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- 选择数据库 use mydb61; -- 增加 dbuser1 用户
第一层因素: mysql的自身的设置 mysql有六处使用了字符集,分别为:client 、connection、database、results、server 、system。 mysql>show variables like 'character%'; +------------
当虚拟机可以连通本机,但是发现远程还是不可以连通,这时候要在防火墙处添加规则,添加的方式是: A : 以root登录 B : 在终端上输入setup,对防火墙进行配置。截图如下: C : 查看oracle相关端口是否进行了配置。(上下键进行查看,左右键进行转发或关闭) D 如果没有定义相关的规则,重新定义。 接着
1 以root身份登录redhat操作系统 2 查看mysql的相关进程 ps –u mysql 3 杀死mysql的进程6195 Kill -9 6195 4 启动mysql服务 service mysql start(这一步也可以不要,但是要看是否自动启动了mysql服务) 5 登录mysql
1.右击“我的电脑”—>计算机管理à设置管理器 2.添加过时硬件时候的效果(再点击下一步) 3.选择“安装我手动从列表选择的硬件(高级)M” 4 选择“网络适配器”,点击下一步 5 选择’Microsoft’àMicrosoft KM-TEST环回适配器 最后一直点击,直到完成。 6 设置”
进入超级管理员,执行以下命令 Window下创建数据库,表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 根据实际安装环境进行调整 CREATE TABLESPACE ts_myscott LOGGING DATAFI
##如果存在同名的数据库,删除此同名的数据库。 DROP DATABASE IF EXISTS cfms; ##如果不存在字符集为utf8的cfms这个数据库,那么就创建 CREATE DATABASE IF NOT EXISTS cfms CHARACTER SET utf8; ##第一次时表示使用此数据库 US
1、spool命令 spool "D:\test.txt" spool off SQL> host cls 2、创建一个表 SQL> --条件(1):有创建表的权限,(2):有表空间 SQL> desc t4; 名称 是否为空? 类型
1 将相关的mysql rpm包上传到redhat上 2 我的电脑是Redhat 6.*版本,所以这里使用上面一个 3 解压zip包 4 安装以下几个rpm MySQL-client-advanced-5.6.20-1.el6.x86_64.rpm MySQL-server-advanced-5.6.20-1.el6.x86_64.rpm
1 什么是Pro*C/C++ 1、通过在过程编程语言C/C++中嵌入SQL语句而开发出的应用程序 2、什么是嵌入式SQL 1、在通用编程语言中使用的SQL称为嵌入式SQL 2、在SQL标准中定义了很多中语言的嵌入式SQL 3、各个厂
1 安装UltraEdit 2 配置FTP相关的配置 文件àFTP/Tenet(T)à 注意这里的协议要选择SFTP 用户名和密码是oracle数据库的用户名和密码,回到: 点击“连接”按钮,效果图如下: 3在day03中选中文件后:效果如下图
1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date definition Language)
ROWNUM的知识点 A ROWNUM按照oracle的默认机制生成。 B rownum只能使用<= <号,不能使用> >= rownum的实现机制 rownum表示,返回的结果集的行号(是一个属性,固化到一行之中,不会因为你排序,而发生变化)。没有第一行,就没有第二行;没有第二行就没有第三行。
1笛卡尔集基本原理 两个表如果笛卡尔集运算 (1)行数是两个表行数相乘的结果 (2)列是两个表合集 案例: 错误查询方式: select count(e.EMPNO) from emp e,dept d; 正确查询方式: select count(e.EMPNO) from emp e,dept d where e.deptno = d.deptno; 2.等值连接 Eg:查询员工信
1组函数 avg(),sum(),max(),min(),count()案例: selectavg(sal),sum(sal),max(sal),min(sal),count(sal) from emp / 截图: 2 组函数和null在一起 案例:求员工的平均奖金 错误sql: select avg(comm)
1 多行函数(理解:有多个输入,但只输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lower
1 有关日期格式属性修改常识 NLS_DATE_FORMAT DD-MON-RR select sysdate from dual; NLS_CURRENCY ¥ 可以通过下面的方式查到上面的格式默认参数: 2 v$nls_parameters SQL>select * from v$nls_par
1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11 (格式:sqlplus 用户名/密码) 退出eg:quit退出 超级用户登录 C:\>sqlplus/nolog
1 oracle的安装常识(oracle10g和oracle11g的版本差别): A 安装目录都不要有中文和空格 B oracle10g支持winxp 不支持win7,8和vista;Oracle11g支持所有版本 2 Oralce服务器:由oracle实例和oracle数据库组成 oracle数据库:磁盘上物理文件的集合 A 当配置了o
1.解压文件10201_database_win32.zip,并双击解压目录下的setup.exe,出现安装界面,如下: 输入口令和确认口令,如:password,点击下一步,出现如下进度条, 注:此口令即是管理员密码。 检查先决条件,选中红框所示的选择框,如下图: 点击“下一步”,
将文件win32_11gR2_database_1of2.zip和win32_11gR2_database_2of2.zip解压。 注意:这两个文件解压到同一个目录下,即:将Components目录合并到一起 双击“setup.exe”,弹出以下安装向导。去掉“I wish to receive security updates via M
在Linux下安装配置Oracle 11g R2详细过程(在整个过程中是在虚拟机下模拟的,虚拟机磁盘设置成了100GB) 1.Linux环境配置准备 环境:Linux:Redhat Enterprise 6,DB:Oracle 11gR2 X64,Oracle安装到/home/oralce_11目录下。 配置过程如下:(大部分是网上的内容,个人也是按照网上步骤来的) 1) 检查基本需求(
1 选中虚拟机,右击,然后点击:安装Vmware-tool(最好是有网络的情况下安装) 2 将Vmware-tool的安装文件拷贝到临时目录下,截图如下: 3 解压VMwareTools-9.6.0-1294478.tar.gz 4 解压后的结果如下: 5 进入vmware-tools-distrib
1 ip ad查看网卡编号 2、ifconfig查看网卡信息 3、关闭网卡 4、启动网卡 5、给etho配置临时ip sudo ifconfig ethoIP地址 6、ping命令 ping [选项]主机名/IP地址 查看网络上的主机是否在工作。它向该主机发
socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计
1 UDP局域网服务器 A读出每一个客户端发送过来的数据包,然后fork出子进程,由子进程去处理客户端请求。 B客户端与服务器段交换多个数据报,服务器为每一个客户端连接创建新的socket,在其上bind一个临时端口,然后用该socket处理对应客户端上的所有应答,这个办法要求在客户查看服务器第一个应答中的源端口号。然后后面利用此端口号和服务器进行交互。 2函
1 epoll epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并、发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入
1 poll A 依赖的头文件 #include <poll.h> B 函数声明 int poll(struct pollfd *fds, nfds_t nfds,int timeout); struct pollfd { int fd; /* 文件描述符*/ short events; /* 监控的事件*
1 C/S模型—UDP UDP处理模型 说明: 由于UDP不需要维护连接,程序逻辑简单了很多,但是UDP协议是不可靠的,实际上有很多保证通讯可靠性的机制需要在应用层实现。 编译运行server,在两个终端里各开一个client与server交互,看看server是否具有并 发服务的能力。用Ctrl+C关闭server,然后再运行server
1多线程并发服务器 在使用线程模型开发服务器时需要考虑以下问题: A调整进程最大文件描述符上限 B线程如有共享数据,考虑线程同步 C服务于客户端线程退出时,退出处理。(退出值,分离态) D系统负载,随着连接客户端增加,导致其它线程不能及时得到CPU 2.案例说明 server.c,代码如下: /* server.c */
1多进程并发服务器 使用多进程并发服务器时要考虑以下几点: A.父最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符) B.系统内创建进程个数(和内存大小相关) C.进程创建过多是否降低整体服务性能(进程调度) 2.案例说明 server.c,代码如下: #include <stdio
1 Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP 地址+端口号”就称为socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。socket本身有“插座
现在的软件越来越好安装,尤其是在ubuntu下安装软件,更是没有技巧,只需要在联网的情况下使用apt-get inatll 即可。在决定安装mysql之前,要先确定系统是否已经安装mysql。如下图: 由此可以看出系统中并没有安装mysql.下面执行sudo apt-get install mysql-server my-client进行安装。下图:
1进程间pthread_mutex A依赖的头文件 #include<pthread.h> B函数声明 int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr,
1信号量 信号量可以有n把锁。 依赖的头文件 #include <semaphore.h> 函数声明 sem_t表示信号量 int sem_init(sem_t *sem, int pshared,unsigned int value); 名称: sem_init 功能:
1条件变量 条件变量给多个线程提供了一个汇合的场所。 依赖的头文件 #include<pthread.h> 函数声明 定义分配条件变量 pthread_cond_t cond =PTHREAD_COND_INITIALIZER; int pthread_cond_init(pthread_cond_t*restrict c
1读写锁 读共享,写独占 2读写锁说明 读写锁与互斥量类似,不过读写锁的并行性更高。 读写锁可以有三种状态: A读模式加锁 B写模式加锁 C不加锁 3在写加锁状态时,在解锁之前,所有试图对这个锁加锁的线程都会被阻塞。在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权限。但是如果线程希望以写模式加锁,它必须阻塞,直到
1线程为什么要同步 A:共享资源,多个线程都可对共享资源操作。 B:线程操作共享资源的先后顺序不确定。 C:处理器对存储器的操作一般不是原子操作。 2互斥量 mutex操作原语 pthread_mutex_t pthread_mutex_init pthread_mutex_destroy pthread_mutex_loc
1线程终止方式 如果需要只终止某个线程而不终止整个线程,可以有三种方法: A:从主线程函数return.这种方法对主线程不适合,从main函数return相当于调用exit. B:一个线程可以调用pthread_cancel终止同一进程中的另一个线程。 C:线程可以调用pthread_exit终止自己 同一个进程的线程间,pthread_
1 pthread_create()函数 创建线程 A:依赖的头文件 #include<pthread.h> B:函数声明 int pthread_create(pthread_t *thread, constpthread_attr_t *attr, void *(*start_routine) (void *), void *