实例_实例化 - CSDN
精华内容
参与话题
  • 对象和实例的区别

    千次阅读 2018-05-15 18:09:45
    有一种对象只叫对象,有...//Type是抽象类,不允许实例化,这里的type是Type类的对象,而非实例化对象(实例) 而普通类的对象,既可以叫对象,也可以叫实例化对象(实例),如下:class Person{} class Program ...

    有一种对象只叫对象,有一种对象叫实例化对象(实例)。

    我们知道抽象类是不可以被实例化的,那它的对象就不能叫实例化对象,只能叫对象,如下:

    Type type = typeof(int);//Type是抽象类,不允许实例化,这里的type是Type类的对象,而非实例化对象(实例)

     

    而普通类的对象,既可以叫对象,也可以叫实例化对象(实例),如下:


    class Person{}
    
    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();//这里person既可以叫做Person类的对象,也可以叫实例化对象(实例)
    } }

     

    展开全文
  • 实例(instance) 在面向对象程序设计中,“类”在实例化之后叫做一个“实例”。 “类”是静态的,不占进程内存,而“实例”拥有动态内存。 在数据库中,代表一些程序的集合。如Oracle中,实例就是一些能支撑数据库...
    实例(instance)
    面向对象程序设计中,“类”在实例化之后叫做一个“实例”。 “类”是静态的,不占进程内存,而“实例”拥有动态内存。
    在数据库中,代表一些程序的集合。如Oracle中,实例就是一些能支撑数据库运行的数据库程序。
    实例(instance)和对象(object)的区别
    实例和对象基本上是同义词,它们常常可以互换使用。对象代表了类的一个特定的实例。对象具有身份(identity)和属性值(attribute values)2个特征。实例是对象的具体表示,操作可以作用于实例,实例可以有状态地存储操作结果。实例被用来模拟现实世界中存在的、具体的或原型的东西。
    对象就是类的实例,所有的对象都是实例,但并不是所有的实例都是对象。例如,一个关联(UML关系中的一种)的实例不是一个对象,它只是一个实例、一个连接。我们常见的实例都是类的实例,此时二者没有区别。除了类的实例外的实例都不是对象。


    实例化

    面向对象的编程中,通常把用类创建对象的过程称为实例化。(用类创建对象的过程)
    格    式   类名 对象名 = new 类名();
    面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式如下:
    类名 对象名 = new 类名(参数1,参数2...参数n);
    如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化。
    多数语言中,实例化一个对象 就是为对象开辟内存空间,或者是不用声明,直接使用
    new 构造函数名(),建立一个临时对象。
    例:Java
    public class A{
        public static void main(String[] args){
            B b = new B();//实例化
            b.print();
        }
    }
    class B{
        public void print(){
            System.out.println("Hello,World!");
        }
    }

    例: c#
    namespace test
    {
        class A
        {
            public int Sub(int a)
            {
                return a++;
            }
        }
     
        class B
        {
            public void Main(String[] args)
            {
                int p = (new A()).Sub(1);
                System.Console.WriteLine(p);
                System.Console.ReadKey();
            }
        }
    }



    展开全文
  • 数据结构实践教程:内含17个经典数据结构实例 根据五个不同数据结构,对每个结构都有2~4个经典实例。每个实例都有项目简介、设计思路、数据结构、完整程序、运行结果五个部分,可以直接拿来做一篇课程设计。实例名称...
  • 什么是数据库实例

    千次阅读 2019-05-30 21:13:13
    什么是数据库实例 一、通俗解释 首先说说,数据库是做什么? 数据库是用来长久存储数据的,而我们大家都知道内存只能临时存储,磁盘等才能真正存储数据. 那数据库会放那里呢?肯定是存放在磁盘上,其实...

    什么是数据库实例

    一、通俗解释

    首先说说,数据库是做什么?

    数据库是用来长久存储数据的,而我们大家都知道内存只能临时存储,磁盘等才能真正存储数据.

    那数据库会放那里呢?肯定是存放在磁盘上,其实数据库就是磁盘上的一个文件。

    从上面我们得出结论:数据库==磁盘上的文件.

    既然数据库可以看成磁盘上文件,我们怎么使用数据库呢?

    如果说我们可以直接使用数据库,那就等价与直接使用磁盘上的文件.

    我们知道这样的一个常识:必须把磁盘上的文件读入内存才能使用.这就与我们以前所知道的一个常识相违背了.

    那正确的流程是不是应该这样呢?把磁盘上文件先读入内存,然后再使用呢.

    对了,这个才是使用数据库的正确流程.

    数据库如何读入内存呢?

    这个时候,就是我们要介绍的instance(实例)了.实例就是内存结构和一组后台进程.

    实际上,正常的数据库读入内存的过程是,由实例中一组后台进程从磁盘上将数据文件读入到实例的内存中,然后经过在内存中对数据的操作再从实例的内存中经过一组后台进程写到数据库中.

    那实例相对与数据库而言,应该就是数据库的运行环境(随不准确但也很贴切).

    二、专业解释

    实例是“内存”和“后台进程”的集合。数据库是数据的物理存储。特别注意,一个实例可以用于一个数据库,多个实例也可以同时用于一个数据库,实例和数据库的关系是一对多的关系。 
    举个例子,如果把数据库比作一架飞机,实例就是飞机的发动机。那么,一台发动机可以驱动飞机,两台发动机也可以同时驱动一架飞机。 
    多个“实例”同时驱动一个“数据库”的架构叫“集群(Oracle real application clusters,简称RAC)”,这是Oracle的一种高端应用,如果结合磁盘阵列的保护机制,RAC能最大限度的保护我们的应用不间断运行,数据不丢失。

    什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途。这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。当然还可能有别的形式,比如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。

    而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。

    所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而如果只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Oracle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。

    在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为一个数据库Instance在其生存期中最多只能load和打开一个instance。

    三、Oracle

    什么是oracle? 平常所说的 Oracle 或 Oracle 数据库指的是 Oracle 数据库管理系统. Oracle 数据库管理系统是管理数据库访问的计算机软件(Oracle database manager system). 它由 Oracle 数据库和 Oracle 实例(instance)构成(区别mysql,mysql没有实例的概念)

    Oracle 实例: 位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问.Oracle 用它们来管理数据库访问.用户如果要存取数据库(也就是硬盘上的文件) 里的数据, 必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件.实际上, Oracle 实例就是平常所说的数据库服务(service) .在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)

    1、一个Oracle数据库系统中可以同时安装几个数据库,每一个数据库对应一个唯一的实例,但是OPS系统除外,可以多个实例同时对一个数据库操作,称为并行服务器
    2、只是一个名字,SID即是INSTANCE_NAME,SERVICE_NAMES主要用在监听器中,service_names是对外的服务名,是服务器端使用的,一个库可以设置多个对外服务名。比如你身份证叫王大锤,这个就是SID,但是对外不同圈子你有很多外号,蛋蛋,二狗子,这些对外的称呼就是SERVICE_NAME.
    3、NET EASY CONFIG操纵的应该是主机字符串,是为客户端服务的,
          一个数据库可以对外公布多个服务名(SERVICE_NAMES)
          一个客户端也可以用多个主机字符串连接到同一个数据库服务器上
    4、一个OS上可以装多个Oracle数据库(小的概念),每个库可以对外公布多个服务名,都通过init.ora和listener.ora来实现

    注意:在mysql中数据库与数据库实例是一对一之间的关系,区别于oracle一对多的概念

    四、举例

    在Oracle中打开一个数据库,这个时候我们要使用sqlplus了.sqlplus是oracle的一个连接工具,相当于sql server中的查询分析器.

    用户名:system
    密码:manger(自己在装Oracle时设定的)
    点登录进入sqlplus.

    登录sqlplus以后,system这个用户是没有权限启动实例的,所以我们这时要更换登录用户.
    使用sys用户连接
    的命令如下 :
    conn sys as dba
    密码:
    输入完后.可以再输入如下命令查看当前用户:
    show user;
    一:下面就可以打开数据库了
    1.启动实例(instance)
    startup nomount
    2.将数据库装载到实例(instance)中
    alter database mount
    3.打开数据库
    alter database open
    二:关闭数据库:
    1.shutdown immediate(包括三个步骤如下所述:)
    首先关闭数据库
    然后从实例上卸载数据库
    最后关闭实例
    通过Oracle打开以及关闭一个数据库的例子我们可以清楚的区分.数据库(database)和实例(instance)的概念.

     

    参考:

    https://zhidao.baidu.com/question/751534918052583324.html

    https://blog.csdn.net/qq_26442553/article/details/79600820

    https://bbs.csdn.net/wap/topics/120098445

    posted @ 2019-05-27 17:18 小时候挺菜 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • tomcat单机多实例

    千次阅读 2019-02-26 21:51:45
      首先要回答一个问题,为什么要用单机多实例? 在不宕机的情况下,webapps里面存在多个项目,可能由于其中一个项目过度使用内存或者其他不确定的因素使得tomcat挂了,那么同一tomcat下的项目也会一同挂了;而...

    1、前言

      首先要回答一个问题,为什么要用单机多实例?
    在不宕机的情况下,webapps里面存在多个项目,可能由于其中一个项目过度使用内存或者其他不确定的因素使得tomcat挂了,那么同一tomcat下的项目也会一同挂了;而使用不同的tomcat,同一台服务器下,每个tomcat的进程是不一样的额,一个项目出现问题tomcat挂了,那么由于是在不同进程,其他项目不会影响的。
      还有一个问题就是不同tomcat使用了不同端口,最后域名只有一个怎么分配?
    其实这个使用nginx的反向代理,根据请求的前缀,代理到相应的tomcat项目服务端口对应的nginx server即可。

    2、系统环境

    系统:16.04.5 LTS
    JDK版本:openjdk 1.8
    tomcat版本:apache-tomcat-9.0.13

    3、环境搭建

    3.1、下载tomcat

    安装jdk:

    apt-get install openjdk-8-jdk
    

    访问官网:https://tomcat.apache.org/download-90.cgi
    在这里插入图片描述
    找到core,点击tar.gz带弹出下载连接复制下载地址。
    然后使用命令下载tomcat

    wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz
    

    解压tomcat:

    tar -xzvf apache-tomcat-9.0.13.tar.gz
    

    3.1制作多tomcat

    建一个程序目录:

    ##创建一个程序目录
    mkdir /data
    
    ##移动解压文件到data目录下
    mv ./apache-tomcat-9.0.13 /data/
    
    cp /etc/profile /etc/profile.bak
    echo "export CATALINA_HOME=/data/apache-tomcat-9.0.13" >> /etc/profile
    echo "export PATH=\$PATH:\$CATALINA_HOME/bin">> /etc/profile && source /etc/profile
    ##创建sh文件
    touch tomcat-start.sh tomcat-stop.sh
    
    ##更改权限
    chmod 760 /data/tomcat-start.sh /data/tomcat-stop.sh
    

    备份profile,并写入tomcat的CATALINA_HOME到环境变量,激活环境变量。

    创建 tomcat-start.sh,内容如下:

    #!/bin/bash
    ##这里的CATALINA_BASE,是当前脚本的的父目录,如果不在CATALINA_BASE的子目录的话,记得修改
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    
    echo $CATALINA_BASE
    
    TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
    
    if [ -n "$TOMCAT_ID" ] ; then
    echo "tomcat($TOMCAT_ID) still running now , please shutdown it first";
        exit 2;
    fi
    
    TOMCAT_START_LOG=`$CATALINA_HOME/bin/startup.sh`
    
    if [ "$?" = "0" ]; then
    	echo "shell script: $0"
        echo "CATALINA_BASE: $CATALINA_BASE"
        echo "tomcat thread: $TOMCAT_ID"
        echo "start succeed!!!"
    else
        echo "$0 $CATALINA_BASE start failed"
        echo $TOMCAT_START_LOG
    fi
    

    创建 tomcat-stop.sh,内容如下:

    #!/bin/bash
    ##这里的CATALINA_BASE,是当前脚本的的父目录,如果不在CATALINA_BASE的子目录的话,记得修改
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    
    echo $CATALINA_BASE
    
    TOMCAT_ID=`ps aux |grep "java"|grep "[D]catalina.base=$CATALINA_BASE "|awk '{ print $2}'`
    
    if [ -n "$TOMCAT_ID" ] ; then
    TOMCAT_STOP_LOG=`$CATALINA_HOME/bin/shutdown.sh`
    else
        echo "Tomcat instance not found : $CATALINA_BASE"
        exit
    fi
    
    if [ "$?" = "0" ]; then
        echo "shell script: $0"
        echo "CATALINA_BASE: $CATALINA_BASE"
        echo "stop succeed!!!"
    else
        echo "$0 $CATALINA_BASE stop failed"
        echo $TOMCAT_STOP_LOG
    fi
    

    复制两个tomcat:

    ##完成删除lib和bin文件夹内容,生成空的bin文件夹
    cp -r apache-tomcat-9.0.13 /data/apache-tomcat-test1 && cd /data/apache-tomcat-test1  && rm -rf lib/ bin/ && mkdir bin  && cd -
    
    ##复制启动和停止脚本到bin文件夹,带权限复制
    cp -p tomcat-start.sh tomcat-stop.sh /data/apache-tomcat-test1/bin/
    
    ##一个同样的tomcat目录,带权限复制
    cp -Rp /data/apache-tomcat-test1/ /data/apache-tomcat-test2/
    

    配置 server.xml 端口
    你知道的,同一个服务器部署不同 Tomcat 要设置不同的端口,不然会报端口冲突,所以我们只需要修改conf/server.xml中的其中前三个端口就行了。但它有四个分别是:

    • Server Port:该端口用于监听关闭tomcat的shutdown命令,默认为8005
    • Connector HTTP Port:该端口用于监听HTTP的请求,默认为8080
    • Connector AJP Port:该端口用于监听AJP( Apache JServ Protocol )协议上的请求,通常用于整合Apache Server等其他HTTP服务器,默认为8009
    • Redirect Port:重定向端口,出现在Connector配置中,如果该Connector仅支持非SSL的普通http请求,那么该端口会把 https 的请求转发到这个Redirect Port指定的端口,默认为8443;

    去掉注释的版本:

    <?xml version="1.0" encoding="UTF-8"?>
    <Server port="8005" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
      <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
      <GlobalNamingResources>
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
      <Service name="Catalina">
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          </Host>
        </Engine>
      </Service>
    </Server>
    

    tomcat-test1改为:

    • Server Port:9015
    • Connector HTTP Port:9010
    • Connector AJP Port:9019

    tomcat-test2改为:

    • Server Port:9025
    • Connector HTTP Port:9020
    • Connector AJP Port:9029

    修改标识:

    echo "test1"> /data/apache-tomcat-test1/webapps/ROOT/index.jsp
    echo "test2"> /data/apache-tomcat-test2/webapps/ROOT/index.jsp
    

    修改完成,接着启动tomcat:

    /data/apache-tomcat-test1/bin/tomcat-start.sh
    /data/apache-tomcat-test2/bin/tomcat-start.sh
    

    在这里插入图片描述
    curl的时候是比较慢的,因为还没启动完成。启动完之后就好了。

    curl 127.0.0.1:9010
    curl 127.0.0.1:9020
    

    这里注意访问端口是Connector HTTP Port对应的端口

    4、后记

    其实搭起来不太难,经过参考文章的思路,就是公用一个tomcat的lib和bin,这样子升级的时候替换lib即可,bin都同一用CATALINA_HOME的脚本,其实CATALINA_HOME下的bin下的start和shutdown脚本统一调用了catalina.sh,而单机多实例的则是巧妙运用了catalina.sh是通过环境中的CATALINA_HOME和CATALINA_BASE变量启动tomcat的,通过改变CATALINA_BASE的路径达到同一条脚本启动tomcat在不同目录下


    5、问题

    5.1、tomcat启动慢

    在这里插入图片描述
      可以看到因为生成session ID用了1分06秒,太久了,导致应用deploying整体的时间大大增加,这个问题是可以解决的,可以再启动的时候增加jvm参数-Djava.security.egd=file:/dev/./urandom,但是这样做应用产生随机数的能力被减弱,或者说随机不够均匀,对于经常使用加密的应用可能有安全影响。
    修改一下启动脚本,添加了JAVA_OPTS的设置,能使用JAVA_OPTS,是因为catalina.sh会读出这个变量。

    #!/bin/bash
    ##这里的CATALINA_BASE,是当前脚本的的父目录,如果不在CATALINA_BASE的子目录的话,记得修改
    
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    echo $CATALINA_BASE
    
    TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
    
    export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom";
    
    if [ -n "$TOMCAT_ID" ] ; then
    echo "tomcat($TOMCAT_ID) still running now , please shutdown it first";
        exit 2;
    fi
    
    TOMCAT_START_LOG=`$CATALINA_HOME/bin/startup.sh`
    
    if [ "$?" = "0" ]; then
            echo "shell script: $0"
        echo "CATALINA_BASE: $CATALINA_BASE"
        echo "tomcat thread: $TOMCAT_ID"
        echo "start succeed!!!"
    else
        echo "$0 $CATALINA_BASE start failed"
        echo $TOMCAT_START_LOG
    fi
    

    5.2、远程ssh时,环境变量不生效问题

      使用source命令刷新当前环境变量。
    具体修改如下:
    tomcat-start.sh :

    #!/bin/bash
    ##这里的CATALINA_BASE,是当前脚本的的父目录,如果不在CATALINA_BASE的子目录的话,记得修政
    
    source /etc/profile
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom";
    TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
    
    echo "----------------------------------"
    echo "Using CATALINA_BASE:$CATALINA_BASE"
    echo "Using CATALINA_HOME:$CATALINA_HOME"
    echo "----------------------------------"
    
    if [ -n "$TOMCAT_ID" ] ; then
    echo "tomcat($TOMCAT_ID) still running now , please shutdown it first";
        exit 2;
    fi
    
    TOMCAT_START_LOG=`$CATALINA_HOME/bin/startup.sh`
    
    if [ "$?" = "0" ]; then
    	echo "shell script: $0"
        echo "tomcat thread: $TOMCAT_ID"
        echo "start succeed!!!"
    else
        echo "$0 $CATALINA_BASE start failed"
    	echo "CATALINA_BASE: $CATALINA_BASE"
        echo $TOMCAT_START_LOG
    fi
    

    tomcat-stop.sh

    #!/bin/bash
    ## 这里的CATALINA_BASE,是当前脚本的的父目录,如果不在CATALINA_BASE的子目录的话,记得修政
    
    source /etc/profile
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    TOMCAT_ID=`ps aux |grep "java"|grep "[D]catalina.base=$CATALINA_BASE "|awk '{ print $2}'`
    
    echo "----------------------------------"
    echo "Using CATALINA_BASE:$CATALINA_BASE"
    echo "Using CATALINA_HOME:$CATALINA_HOME"
    echo "----------------------------------"
    
    if [ -n "$TOMCAT_ID" ] ; then
    TOMCAT_STOP_LOG=`$CATALINA_HOME/bin/shutdown.sh`
    else
        echo "Tomcat instance not found : $CATALINA_BASE"
        exit
    fi
    
    if [ "$?" = "0" ]; then
        echo "shell script: $0"
        echo "stop succeed!!!"
    else
        echo "$0 $CATALINA_BASE stop failed"
    	echo "CATALINA_BASE: $CATALINA_BASE"
        echo $TOMCAT_STOP_LOG
    fi
    

    附上restart脚本:
    tomcat-restart.sh :

    #!/bin/bash
    
    source /etc/profile
    export CATALINA_BASE=$(cd $(dirname $0); cd .. ; pwd)
    GREEN_COLOR='\E[1;32m' #绿
    RES='\E[0m'
    
    TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
    
    SLEEP_TIME=1
    
    echo "----------------------------------"
    echo "Using CATALINA_BASE:$CATALINA_BASE"
    echo "Using CATALINA_HOME:$CATALINA_HOME"
    echo "----------------------------------"
    
    if [ -n "$TOMCAT_ID" ] ; then
        echo -e "${GREEN_COLOR}found tomcat instance in pid $TOMCAT_ID , shutdown now!${RES}";
        echo -e "${GREEN_COLOR}---------------start shutdown-------------------${RES}"
        source $(dirname $0)/tomcat-stop.sh;
        echo -e "${GREEN_COLOR}--------------- end shutdown -------------------${RES}"
    fi
    
    while [ -n "$TOMCAT_ID" ]
    do  
      sleep $SLEEP_TIME
      echo wait "$SLEEP_TIME" s
      TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
    done 
    
    echo -e "${GREEN_COLOR}---------------start startup-------------------${RES}"
    source $(dirname $0)/tomcat-start.sh
    echo -e "${GREEN_COLOR}---------------end startup-------------------${RES}"
    

    参考博客:

    展开全文
  • Python3 100例 原题地址: http://www.runoob.com/python/python-100-examples.html git地址: ... 原例为Python2.7版本 重写过程中有不少是随意发挥的 重写运行版本:Python3.7 ...总...
  • 单例模式实例(全)

    千次阅读 2020-06-23 10:57:38
    定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例场景,也就是说:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。 构建单例模式...
  • 实例分割总结 Instance Segmentation Summary

    万次阅读 多人点赞 2018-09-26 10:17:21
    实例分割:机器自动从图像中用目标检测方法框出不同实例,再用语义分割方法在不同实例区域内进行逐像素标记 借一个浅显的说法:语义分割不区分属于相同类别的不同实例。例如,当图像中有多只猫时,语义分割会将...
  • 收集的一些小例子..............................................................
  • 如何创建新的SQL SERVER数据库实例

    万次阅读 2018-02-27 20:52:58
    方法:再次安装过程中配置以下步骤:
  • linux下面查看oracle实例

    万次阅读 2012-05-30 13:49:35
    linux下面查看oracle实例名方法:在终端输入echo $ORACLE_SID
  • 查看SQL Server的实例

    万次阅读 2018-01-30 16:08:18
     数据库的实例名是指每个数据库的名称,应该是在数据库安装的时候确定的,分为默认实例(Default Instance)和命名实例(Named Instance)。  一般在安装时,选择默认实例,那么就是用计算机的名字来作为实例名,...
  • 清除AWS实例和卷

    万次阅读 2015-06-11 11:39:27
    清除您的实例和卷在您完成为本教程创建的实例和 Amazon EBS 卷后,应进行清除。首先,终止实例,使卷与实例分离,然后删除卷。因为您无法在终止实例后重新连接到实例,所以终止实例可进行有效删除。这不同于停止实例...
  • [AWS] 如何彻底删除EC2实例

    万次阅读 2018-03-22 14:19:49
    1. Terminate EC2 实例首先,终止Terminate实例,使卷与实例分离,然后删除卷。因为您无法在终止实例Terminate后重新连接到实例,所以终止实例可进行有效删除。这不同于停止实例;当您停止Stop实例时,它将关闭,...
  • C 语言经典100例

    千次阅读 多人点赞 2019-01-10 20:48:24
    C 语言练习实例1 C 语言练习实例2 C 语言练习实例3 C 语言练习实例4 C 语言练习实例5 C 语言练习实例6 C 语言练习实例7 C 语言练习实例8 C 语言练习实例9 C 语言练习实例10 C 语言练习实例11 C 语言练习...
  • 《java经典编程300例》

    万次阅读 2018-06-21 09:52:57
    《java经典编程300例》第1章 java语言概述 实例001 输出“hello world” 实例002 输出控制台传递的参数 实例003 输出由“*”组成的三角形 实例004 输出符号表情 第2章 eclipse开发工具 实例005 下载并运行...
  • 数据库和数据库实例的概念

    万次阅读 2018-09-03 13:48:46
    很多人都把这两个概念弄混淆,认为MySQL是数据库,也是数据库实例。这样的理解在应用到Oracle和SQL Server的时候可能是正确的,但是再MySQL的体系结构中确是不适用的。 那么从概念上理解,该如何区分数据库和数据库...
  • 【数据库】sql2008卸载和默认实例的删除

    万次阅读 热门讨论 2014-11-16 15:15:34
    在安装sql2008的时候,会碰到这一步,要求
  • db2创建实例、删除实例、列出实例

    万次阅读 2011-11-22 22:41:34
    db2ilist ---列出主机所有实例 db2icrt instanceName ---创建实例名为instanceName的实例 db2idrop instanceName ---删除实例名为instanceName的实例
  • 抽象类真的也可以被实例化(Java)

    万次阅读 热门讨论 2017-09-16 16:24:07
    抽象类实例
1 2 3 4 5 ... 20
收藏数 3,990,164
精华内容 1,596,065
关键字:

实例