欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Java學(xué)習(xí)之Iterator(迭代器)的一般用法

      時(shí)間:2019-05-14 08:23:19下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Java學(xué)習(xí)之Iterator(迭代器)的一般用法》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Java學(xué)習(xí)之Iterator(迭代器)的一般用法》。

      第一篇:Java學(xué)習(xí)之Iterator(迭代器)的一般用法

      迭代器(Iterator)

      迭代器是一種設(shè)計(jì)模式,它是一個(gè)對象,它可以遍歷并選擇序列中的對象,而開發(fā)人員不需要了解該序列的底層結(jié)構(gòu)。迭代器通常被稱為“輕量級”對象,因?yàn)閯?chuàng)建它的代價(jià)小。

      Java中的Iterator功能比較簡單,并且只能單向移動(dòng):

      (1)使用方法iterator()要求容器返回一個(gè)Iterator。第一次調(diào)用Iterator的next()方法時(shí),它返回序列的第一個(gè)元素。注意:iterator()方法是java.lang.Iterable接口,被Collection繼承。

      (2)使用next()獲得序列中的下一個(gè)元素。

      (3)使用hasNext()檢查序列中是否還有元素。

      (4)使用remove()將迭代器新返回的元素刪除。

      Iterator是Java迭代器最簡單的實(shí)現(xiàn),為List設(shè)計(jì)的ListIterator具有更多的功能,它可以從兩個(gè)方向遍歷List,也可以從List中插入和刪除元素。

      迭代器應(yīng)用:

      list l = new ArrayList();l.add(“aa”);l.add(“bb”);l.add(“cc”);for(Iterator iter = l.iterator();iter.hasNext();){

      String str =(String)iter.next();System.out.println(str);} /*迭代器用于while循環(huán)

      Iterator iter = l.iterator();while(iter.hasNext()){

      String str =(String)iter.next();System.out.println(str);} */

      第二篇:java之webservice_aegis.xml學(xué)習(xí)

      *.aegis.xml學(xué)習(xí)

      public interface UserInfo {

      public User findUserInfosByUserID(String userUniqueID);

      public String test();

      public Collection findRoleInfosByUserID(String userUniqueID);

      }

      觀察此接口,受限我們看findRoleInfosByUserID方法,此方法傳入String,返回類型為Collection,此時(shí),我們即需要配置findRoleInfosByUserID方法。

      配置步驟,在接口類的同一包下建立和接口名相同的aegis.xml文件,即UserInfo.aegis.xml文件。

      UserInfo.aegis.xml

      Java代碼

      其中,method代表需要配置的方法名,由于XFire可以支持基本類型,針對集合類型時(shí),需要配置,返回類型或參數(shù)類型為基本類型時(shí)不需要特殊配置。

      為配置返回類型,componentType屬性代表返回的集合中所包含的類,此類可以是自定義的對象,也可以是基本類型,例如java.lang.String

      此時(shí),findRoleInfosByUserID方法配置完畢

      PS,還拿此接口舉例,如接口中,findRoleInfosByUserID接受的參數(shù)也為集合類型,那么需要在之間再加入以下代碼

      Java代碼

      index=“0”代表方法的參數(shù)的序號,0即第一個(gè)參數(shù)。

      componentType代表集合參數(shù)內(nèi)包含的類型,也可以為自定義對象,例如User

      注意,如果findRoleInfosByUserID方法有兩個(gè)參數(shù),一個(gè)比如為String,一個(gè)為集合,那么只需要配置集合參數(shù)即可。

      二。映射POJO

      比如還是上面的UserInfo接口,第一個(gè)方法

      public User findUserInfosByUserID(String userUniqueID);

      此時(shí),返回類型為User

      如果User中僅為基本類型,例如String,int等基本類型,無需配置User

      但如果User中還包含有其他類型,比如包含有Set,List,那么需要對其進(jìn)行配置

      比如User代碼如下:

      Java代碼

      public class User implements java.io.Serializable {

      private Integer userId;

      private String loginName;

      private String userPassword;

      private Integer SOrder;

      private String userCa;

      private String userName;

      private String userTel;

      private String userEmail;

      private String ZNote;

      private String userCode;

      private DicSystemAuth SDicSystemAuth;private

      Set SGroupUsers = new HashSet(0);private Set

      SUserDepts = new HashSet(0);

      }

      此時(shí)User中還包含有SDicSystemAuth的對象,以及SUserDepts等Set集合這種情況主要可能會(huì)出現(xiàn)在使用Hibernate,映射一對一,一對多表時(shí)

      這里要特別注意

      那么此時(shí)我們需要對User進(jìn)行aegis綁定,控制POJO和XML的映射

      配置方法:

      在User對象所在包內(nèi)建立User.aegis.xml

      由于User中包含Set,那么只需要對集合做設(shè)置即可,DicSystemAuth下面單獨(dú)討論

      我們可以分兩次來配置,分別講解

      1,Java代碼

      此時(shí),配置文件中配置了兩個(gè)Set集合,componentType明確定義了Set集合內(nèi)包含的內(nèi)容

      此時(shí),DicSystemAuth即便是自定義的對象類,由于不是集合,XFire也可以對其正確映射。

      Java代碼

      第二種方式,定義了三個(gè)字段,并使用了ignore屬性,表示這三個(gè)屬性不能被序列化。

      那么,何時(shí)會(huì)遇到類似于User中Set集合,不被序列化呢?

      當(dāng)客戶端訪問本地代理時(shí),如果User表內(nèi)包含有其他表的關(guān)聯(lián)時(shí),如果基于hibernate的持久層,由于hibernate的惰性加載機(jī)制,加載User時(shí)僅會(huì)將User中的屬性值加載而不會(huì)加載關(guān)聯(lián)表中的值,比如set和SDicSystemAuth對象等,當(dāng)客戶端訪問本地代理,序列化User對象時(shí),如果沒有設(shè)置關(guān)聯(lián)字段是否序列化,那么它會(huì)將其全部序列化,但當(dāng)序列化時(shí),由于hibernate的惰性加載,此時(shí)Session已經(jīng)關(guān)閉,那么在序列化關(guān)聯(lián)字段的時(shí)候,就會(huì)出現(xiàn)session was close的異常。因此解決辦法是在aegis綁定時(shí)制定關(guān)聯(lián)字段的ignore屬性設(shè)置為true。

      還有一種解決辦法,就是仍然按照第一種配置方式,明確指明關(guān)聯(lián)的Set集合內(nèi)的對象,但在執(zhí)行序列化前,session關(guān)閉之前,提前將關(guān)聯(lián)字段內(nèi)的值初始化。

      用Hibernate.initialize初始化

      最后補(bǔ)充一小句

      XFire對于自定義的對象可以聰明的找到,前提是它不包含集合例如你的方法返回一個(gè)User對象

      User中都是基本類型,或者User中包含有Dept對象的引用,都沒有問題。

      但如果你不希望加載user時(shí)序列化Dept出問題,就乖乖把dept初始化或?qū)ept的ignore屬性設(shè)置為true

      本篇文章沒什么頭緒,想哪兒寫哪兒,主要是對這段時(shí)間的xfire的基本的學(xué)習(xí)的一個(gè)小結(jié),所以沒有太注重詞語搭配,以看懂為主。。有時(shí)間再來整理整理

      注意問題:

      當(dāng)遇到需要映射POJO或配置WebService接口方法返回類型(如集合類型,自定義對象類型)時(shí),需要進(jìn)行綁定,此時(shí)aegis的綁定為建立 xxxx.aegis.xml的文件(xxxx為對應(yīng)的實(shí)

      體名,如User.aegis.xml)。對于正常的String,int類型的數(shù)據(jù),無需做特別說明就能映射。對于Collection類型,需要如下配置:(例如User對象里包含一個(gè)roleList屬性)

      這是如果你的Role對象里都是基本數(shù)據(jù)類型,則可以不寫Role.aegis.xml,但如果Role對象里也有其他類型的對象,則同樣需 要配置Role.aegis.xml。

      當(dāng)然如果你不想映射roleList,可以這么配置(所以無需映射的屬性都可以這樣配置):

      注意:對于一些非標(biāo)準(zhǔn)的寫法需要做特殊處理。

      例如:在User實(shí)體類里有一個(gè)方法getOrg(),返回Department對象,但是User實(shí)體里面并沒有org屬性(正因?yàn)槿绱?,我稱之為非標(biāo)準(zhǔn)寫法),這個(gè)時(shí)候,如果不特殊處理,此處會(huì)出現(xiàn)如下異常:

      java.lang.StackOverflowError

      at com.ctc.wstx.sw.BaseNsStreamWriter.closeStartElement(BaseNsStreamWriter.java:387)

      at com.ctc.wstx.sw.BaseNsStreamWriter.checkStartElement(BaseNsStreamWriter.java:436)

      at com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:257)

      at com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:318)

      at org.codehaus.xfire.aegis.stax.ElementWriter.writeStartElement(ElementWriter.java:116)

      at org.codehaus.xfire.aegis.stax.ElementWriter.(ElementWriter.java:61)

      at org.codehaus.xfire.aegis.stax.ElementWriter.getElementWriter(ElementWriter.java:161)

      at org.codehaus.xfire.aegis.type.basic.BeanType.getWriter(BeanType.java:421)

      at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:386)

      ………………

      此時(shí)你無法跟蹤。

      解決辦法:在User實(shí)體里增加一個(gè)org屬性,在User.aegis.xml里增加對org屬性的配置就行了。

      客戶端訪問方法:

      package com.nstar.xfire.client;

      import java.util.List;

      import java.net.MalformedURLException;

      import java.util.ArrayList;

      import org.codehaus.xfire.*;

      import org.codehaus.xfire.client.XFireProxyFactory;

      import org.codehaus.xfire.service.Service;

      import org.codehaus.xfire.service.binding.ObjectServiceFactory;

      import com.nstar.xfire.IHelloWordService;

      import com.nstar.xfire.Student;

      public class HelloWorldClient {

      /**

      * @param args

      */

      public static void main(String[] args){

      Service serviceModel = new ObjectServiceFactory().create(IHelloWordService.class);

      XFireProxyFactory factory =

      XFireProxyFactory(XFireFactory.newInstance().getXFire());

      String url = “http://10.232.75.61:8090/Xfire/services/HelloWordService”;

      new

      try {

      IHelloWordService service =(IHelloWordService)factory.create(serviceModel, url);

      List list = new ArrayList();

      List list1 = new ArrayList();

      list.add(new String(“測試”));

      int age = service.getAge(“邊蘇濤”);

      String name = service.getName(1);

      Student s = service.getOneStudent(27);

      list1 = service.getStudent(list);

      System.out.println(“邊蘇濤's age ==”+age);

      System.out.println(“學(xué)號為1的學(xué)生姓名 ”+name);

      System.out.println(“age == ”+s.getAge()+“ name == ”+s.getName()+“ list content ”+s.getList().get(0).toString());

      System.out.println(list1.size());

      for(int i=0;i

      System.out.println(list1.get(i).toString());

      }

      } catch(MalformedURLException e){

      e.printStackTrace();

      }

      }

      }

      第三篇:學(xué)習(xí)JAVA之前有必要學(xué)習(xí)C++嗎

      學(xué)習(xí)JAVA之前有必要學(xué)習(xí)C++嗎?

      在很多大學(xué)計(jì)算機(jī)或軟件專業(yè)的教程中,C語言及C++往往作為必修課,JAVA往往作為選修或限修課程。C語言是應(yīng)用最廣的語言,在很多工科專業(yè),如機(jī)械、電氣、通信等都會(huì)開設(shè)C語言課程。而C++和JAVA作為高級語言,則往往只有計(jì)算機(jī)類相關(guān)專業(yè)開設(shè)。那么,作為一個(gè)想要往軟件領(lǐng)域發(fā)展的童鞋來說,先學(xué)C++還是先學(xué)JAVA?如果打算畢業(yè)從事java開發(fā),有必要學(xué)習(xí)C++嗎?下面就針對這個(gè)問題給大家以簡要分析:

      JAVA和C++基本思想相同

      JAVA和C++都是面向?qū)ο笏枷?,同屬于高級編程語言。一般來說,做任何高級開發(fā),使用兩種編程語言都可以實(shí)現(xiàn)。JAVA可以算是C++的表親,C++也算是JAVA的前輩。JAVA是參照C++的精髓而創(chuàng)造出的編程語言。JAVA希望能取代C++,同時(shí)使編程變得簡單。JAVA比C++簡單

      JAVA比C++簡單的多,因?yàn)镃++里有許多比較難的概念,尤其對于初學(xué)者來說,比JAVA要難的多。JAVA的初衷就是要比C++簡單,而JAVA比C++多的一個(gè)優(yōu)勢即時(shí)跨平臺(tái)性,這實(shí)際上也使java變得簡單,由此可見,JAVA創(chuàng)始人的目的就是使java變成一門容易掌握且強(qiáng)大的簡單高級語言。

      時(shí)間充足的大學(xué)生最好了解一下C++

      大學(xué)生時(shí)間比較充足,所以學(xué)一下C++還是很有必要的。因?yàn)镃++中有些內(nèi)容是非常巧妙的,C++在性能方面要強(qiáng)于JAVA。當(dāng)然,是先學(xué)C++再學(xué)java,還是后學(xué)C++,都無關(guān)緊要了,實(shí)際上兩者基礎(chǔ)部分差不多,從繼承和多態(tài)處才開始不同。

      快速學(xué)習(xí)者最好精于一門

      編程語言,一通百通。你精通了一門,學(xué)習(xí)其他的就很快了。如果你時(shí)間不充足,比如上java培訓(xùn)班的同學(xué)們,時(shí)間緊迫,不可能兼顧學(xué)習(xí)java和c++,肯定是從一門由始而終的學(xué)到底。這樣能夠比較快的掌握編程語言,以后時(shí)間寬松,則需要多接觸一下其他技術(shù),豐富自己的知識技能體系,使自己成為一個(gè)真正的“能手”。

      第四篇:Docker學(xué)習(xí)筆記之,搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

      Docker學(xué)習(xí)筆記之一,搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

      前言

      Docker旨在提供一種應(yīng)用程序的自動(dòng)化部署解決方案,在 Linux 系統(tǒng)上迅速創(chuàng)建一個(gè)容器(輕量級虛擬機(jī))并部署和運(yùn)行應(yīng)用程序,并通過配置文件可以輕松實(shí)現(xiàn)應(yīng)用程序的自動(dòng)化安裝、部署和升級,非常方便。因?yàn)槭褂昧巳?器,所以可以很方便的把生產(chǎn)環(huán)境和開發(fā)環(huán)境分開,互不影響,這是 docker 最普遍的一個(gè)玩法。更多的玩法還有大規(guī)模 web 應(yīng)用、數(shù)據(jù)庫部署、持續(xù)部署、集群、測試環(huán)境、面向服務(wù)的云計(jì)算、虛擬桌面 VDI 等等。

      主觀的印象:Docker 使用 Go 語言編寫,用 cgroup 實(shí)現(xiàn)資源隔離,容器技術(shù)采用 LXC.提供了能夠獨(dú)立運(yùn)行Unix進(jìn)程的輕量級虛擬化解決方案。它提供了一種在安全、可重復(fù)的環(huán)境中自動(dòng)部署軟件的方式。LXC命令有些復(fù)雜,若感興趣,這里有 一篇我以前寫的基于LXC,(從無到有,搭建一個(gè)簡單版的JAVA PAAS云平臺(tái)),可以提前復(fù)習(xí)一下。

      環(huán)境

      本文所有環(huán)境,VMware WorkStation上運(yùn)行ubuntu-13.10-server-amd64,注意是64位系統(tǒng),理論上其它虛擬機(jī)也是完全可行的。

      安裝Docker

      Docker 0.7版本需要linux內(nèi)核 3.8支持,同時(shí)需要AUFS文件系統(tǒng)。# 檢查一下AUFS是否已安裝

      sudo apt-get update

      sudo apt-get install linux-image-extra-`uname-r`

      # 添加Docker repository key

      sudo sh-c “wget-qO-https://get.docker.io/gpg | apt-key add-”# 添加Docker repository,并安裝Docker

      sudo sh-c “echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list”

      sudo apt-get update

      sudo apt-get install lxc-docker

      # 檢查Docker是否已安裝成功

      sudo docker version

      # 終端輸出 Client version: 0.7.1

      Go version(client): go1.2

      Git commit(client): 88df052

      Server version: 0.7.1

      Git commit(server): 88df052

      Go version(server): go1.2

      Last stable version: 0.7.1

      去除掉sudo

      在Ubuntu下,在執(zhí)行Docker時(shí),每次都要輸入sudo,同時(shí)輸入密碼,很累人的,這里微調(diào)一下,把當(dāng)前用戶執(zhí)行權(quán)限添加到相應(yīng)的docker用戶組里面。# 添加一個(gè)新的docker用戶組

      sudo groupadd docker

      # 添加當(dāng)前用戶到docker用戶組里,注意這里的yongboy為ubuntu server登錄用戶名

      sudo gpasswd-a yongboy docker

      # 重啟Docker后臺(tái)監(jiān)護(hù)進(jìn)程

      sudo service docker restart

      # 重啟之后,嘗試一下,是否生效

      docker version

      #若還未生效,則系統(tǒng)重啟,則生效

      sudo reboot

      安裝一個(gè)Docker運(yùn)行實(shí)例-ubuntu虛擬機(jī)

      Docker安裝完畢,后臺(tái)進(jìn)程也自動(dòng)啟動(dòng)了,可以安裝虛擬機(jī)實(shí)例(這里直接拿官方演示使用的learn/tutorial鏡像為例):

      docker pull learn/tutorial

      安裝完成之后,看看效果

      docker run learn/tutorial /bin/echo hello world

      交互式進(jìn)入新安裝的虛擬機(jī)中

      docker run-i-t learn/tutorial /bin/bash

      會(huì)看到:

      root@51774a81beb3:/#

      說明已經(jīng)進(jìn)入交互式環(huán)境。

      安裝SSH終端服務(wù)器,便于我們外部使用SSH客戶端登陸訪問

      apt-get update

      apt-get install openssh-server

      which sshd

      /usr/sbin/sshd

      mkdir /var/run/sshd

      passwd #輸入用戶密碼,我這里設(shè)置為123456,便于SSH客戶端登陸使用 exit #退出

      獲取到剛才操作的實(shí)例容器ID

      #docker ps-l

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

      51774a81beb3 learn/tutorial:latest /bin/bash 3 minutes ago Exit 0 thirsty_pasteur

      可以看到當(dāng)前操作的容器ID為:51774a81beb3。注意了,一旦進(jìn)行所有操作,都需要提交保存,便于SSH登陸使用:

      docker commit 51774a81beb3 learn/tutorial

      以后臺(tái)進(jìn)程方式長期運(yùn)行此鏡像實(shí)例:

      docker run-d-p 22-p 80:8080 learn/tutorial /usr/sbin/sshd-D

      ubuntu容器內(nèi)運(yùn)行著的SSH Server占用22端口,-p 22進(jìn)行指定。-p 80:8080 指的是,我們ubuntu將會(huì)以8080端口運(yùn)行tomcat,但對外(容器外)映射的端口為80。

      這時(shí),查看一下,是否成功運(yùn)行。

      #docker ps

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

      871769a4f5ea learn/tutorial:latest /usr/sbin/sshd-D About a minute ago Up About a minute 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare

      注意這里的分配隨機(jī)的SSH連接端口號為49154:

      ssh root@127.0.0.1-p 49154

      輸入可以口令,是不是可以進(jìn)入了?你一旦控制了SSH,剩下的事情就很簡單了,安裝JDK,安裝tomcat等,隨你所愿了。以下為安裝腳本:

      # 在ubuntu 12.04上安裝oracle jdk 7

      apt-get install python-software-properties

      add-apt-repository ppa:webupd8team/java

      apt-get update

      apt-get install-y wget

      apt-get install oracle-java7-installer

      java-version

      # 下載tomcat 7.0.47

      wget

      http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz

      # 解壓,運(yùn)行

      tar xvf apache-tomcat-7.0.47.tar.gz

      cd apache-tomcat-7.0.47

      bin/startup.sh

      默認(rèn)情況下,tomcat會(huì)占用8080端口,剛才在啟動(dòng)鏡像實(shí)例的時(shí)候,指定了-p 80:8080,ubuntu鏡像實(shí)例/容器,開放8080端口,映射到宿主機(jī)端口就是80。知道宿主機(jī)IP地址,那就可以自由訪問了。在宿主機(jī)上,通過curl測試一下即可:

      curl http://192.168.190.131

      當(dāng)然,你也可以使用瀏覽器訪問啦。

      真實(shí)情況,可能不會(huì)讓tomcat直接對外開放80端口,一般都會(huì)位于

      nginx/apache或者防火墻的后面,上面僅為演示。

      小結(jié)

      在Docker幫助下搭建一個(gè)Tomcat運(yùn)行時(shí)環(huán)境,總體很簡單,讓我們看到了PAAS的身影。不錯(cuò),使用Docker作為PAAS底層服務(wù),本身就不復(fù)雜。下面有時(shí)間,會(huì)談一談如何使用腳本文件構(gòu)建一個(gè)鏡像實(shí)例,同時(shí)會(huì)談一談Docker的實(shí)現(xiàn)原理和機(jī)制等。

      Docker學(xué)習(xí)筆記之二,基于Dockerfile搭建JAVA Tomcat運(yùn)行環(huán)境

      前言

      在第一篇文字中,我們完全人工方式,一個(gè)命令一個(gè)命令輸入,實(shí)現(xiàn)一個(gè) java tomcat運(yùn)行環(huán)境,雖然也初見成效,但很累人。如果依靠依靠腳本構(gòu)建一個(gè)Tomcat容器實(shí)例,一個(gè)命令可以搞定,何樂而不為呢。好在Docker提 供了Dockerfile作為構(gòu)建Docker鏡像腳本,避免人們一行一行的輸入,真是善莫大焉。Dockerfile腳本可以做到隨時(shí)維護(hù)修改,即可以 分享,更有利于在模板化,更不用說傳輸了,好處那是一大籮筐!

      最終目的:打造一個(gè)支持SSH終端登錄、Tomcat7自動(dòng)運(yùn)行的Docker鏡像。編寫一個(gè)Dockerfile

      所有環(huán)境,同第一篇文字。在ubuntu下安裝好vim之后(吐槽一下,ubuntu系統(tǒng)內(nèi)置vi命令十分難用,只好求助于vim):

      sudo vim Dockerfile

      編輯一個(gè)Dockerfile文件了,下面就是具體文件內(nèi)容:

      # VERSION 0.0.1

      # 默認(rèn)ubuntu server長期支持版本,當(dāng)前是12.04

      FROM ubuntu

      # 簽名啦

      MAINTAINER yongboy “yongboy@gmail.com”

      # 更新源,安裝ssh server

      RUN echo “deb http://archive.ubuntu.com/ubuntu precise main universe”> /etc/apt/sources.list

      RUN apt-get update

      RUN apt-get install-y openssh-server

      RUN mkdir-p /var/run/sshd

      # 設(shè)置root ssh遠(yuǎn)程登錄密碼為123456

      RUN echo “root:123456” | chpasswd

      # 添加orache java7源,一次性安裝vim,wget,curl,java7,tomcat7等必備軟件

      RUN apt-get install python-software-properties

      RUN add-apt-repository ppa:webupd8team/java

      RUN apt-get update

      RUN apt-get install-y vim wget curl oracle-java7-installer tomcat7

      # 設(shè)置JAVA_HOME環(huán)境變量

      RUN update-alternatives--display java

      RUN echo “JAVA_HOME=/usr/lib/jvm/java-7-oracle”>> /etc/environment

      RUN echo “JAVA_HOME=/usr/lib/jvm/java-7-oracle”>> /etc/default/tomcat7

      # 容器需要開放SSH 22端口

      EXPOSE 22

      # 容器需要開放Tomcat 8080端口

      EXPOSE 8080

      # 設(shè)置Tomcat7初始化運(yùn)行,SSH終端服務(wù)器作為后臺(tái)運(yùn)行

      ENTRYPOINT service tomcat7 start && /usr/sbin/sshd-D

      需要注意:

      1.ENTRYPOINT,表示鏡像在初始化時(shí)需要執(zhí)行的命令,不可被重寫覆蓋,需謹(jǐn)記

      2.CMD,表示鏡像運(yùn)行默認(rèn)參數(shù),可被重寫覆蓋

      3.ENTRYPOINT/CMD都只能在文件中存在一次,并且最后一個(gè)生效 多個(gè)存在,只有最后一個(gè)生效,其它無效!

      4.需要初始化運(yùn)行多個(gè)命令,彼此之間可以使用 && 隔開,但最后一個(gè)須要為無限運(yùn)行的命令,需切記!

      ENTRYPOINT/CMD,一般兩者可以配合使用,比如:

      ENTRYPOINT [“/usr/sbin/sshd”]

      CMD [“-D”]

      在Docker daemon模式下,無論你是使用ENTRYPOINT,還是CMD,最后的命令,一定要是當(dāng)前進(jìn)程需要一直運(yùn)行的,才能夠防容器退出。

      以下無效方式:

      ENTRYPOINT service tomcat7 start #運(yùn)行幾秒鐘之后,容器就會(huì)退出CMD service tomcat7 start #運(yùn)行幾秒鐘之后,容器就會(huì)退出

      這樣有效:

      ENTRYPOINT service tomcat7 start && tail-f

      /var/lib/tomcat7/logs/catalina.out

      # 或者

      CMD service tomcat7 start && tail-f /var/lib/tomcat7/logs/catalina.out 這樣也有效:

      ENTRYPOINT [“/usr/sbin/sshd”]

      CMD [“-D”]

      具體請參考官方文檔:Dockerfiles for Images

      ?

      第五篇:2018昆明教師招聘考試:學(xué)習(xí)的一般理論之認(rèn)知主義

      kunming.offcn.com

      2018昆明教師招聘考試:學(xué)習(xí)的一般理論之認(rèn)知主

      一、知識來源

      本知識點(diǎn)來自于《教育學(xué)心理學(xué)》,“學(xué)習(xí)的基本理論”章節(jié),本章節(jié)首先介紹了學(xué)習(xí)的本質(zhì)和學(xué)習(xí)的基本分類,學(xué)生在充分的了解了學(xué)習(xí)的基本概念之后,學(xué)習(xí)“學(xué)習(xí)理論”的內(nèi)容,整體知識的條理性會(huì)比較清晰。

      二、考情分析

      題型:客觀題,選擇題居多。

      考察類型:單選題呈現(xiàn)例子,要求學(xué)生能夠區(qū)分不同的心理學(xué)家的觀點(diǎn),以及同一個(gè)心理學(xué)家的不同的觀點(diǎn),例如:布魯納的結(jié)構(gòu)主義和發(fā)現(xiàn)學(xué)習(xí);奧蘇貝爾的有意義的學(xué)習(xí);加涅信息加工的階段。

      三、知識點(diǎn)詳情

      (一)認(rèn)知主義認(rèn)為知識客觀存在的,學(xué)習(xí)是個(gè)體主動(dòng)地在頭腦內(nèi)部構(gòu)建認(rèn)知結(jié)構(gòu)的過程,不同的心理學(xué)家認(rèn)為,學(xué)習(xí)者頭腦中建構(gòu)的認(rèn)知結(jié)構(gòu)是不同的;是通過頓悟與理解獲得期待。

      (二)苛勒:完形——頓悟說

      1.觀點(diǎn):學(xué)習(xí)是個(gè)體利用本身的智慧與理解力對情境及情境與自身關(guān)系的頓悟,而不是動(dòng)作的累積或盲目的嘗試,苛勒反對桑代克的“完形-頓悟說”。

      2.實(shí)驗(yàn):黑猩猩取香蕉

      3.學(xué)習(xí)的實(shí)質(zhì)是在主體內(nèi)部構(gòu)造完形

      苛勒認(rèn)為,學(xué)習(xí)過程中問題的解決,都是由于對情境中事物關(guān)系的理解而構(gòu)成一種“完形”來實(shí)現(xiàn)的。

      更多公職類考試信息和資料

      kunming.offcn.com

      (三)托爾曼的符號學(xué)習(xí)理論

      1.實(shí)驗(yàn):白鼠迷宮實(shí)驗(yàn)

      2.托爾曼的學(xué)習(xí)理論基本觀點(diǎn)

      (1)學(xué)習(xí)是有目的的行為,而不是盲目的。

      (2)學(xué)習(xí)是對“符號——完形”的認(rèn)知(形成認(rèn)知地圖)。

      (3)在外部刺激(S)與行為反應(yīng)(R)之間存在中介變量(O)。主張將行為主義S—R公式改為S—O—R,O代表機(jī)體的內(nèi)部變化。

      (4)潛伏學(xué)習(xí):托爾曼認(rèn)為,外在的強(qiáng)化并不是學(xué)習(xí)產(chǎn)生的必要因素,不強(qiáng)化也會(huì)出現(xiàn)學(xué)習(xí)。

      (四)布魯納的認(rèn)知結(jié)構(gòu)學(xué)習(xí)理論

      布魯納主張學(xué)習(xí)的目的在于以發(fā)現(xiàn)學(xué)習(xí)的方式,使學(xué)科的基本結(jié)構(gòu)轉(zhuǎn)變?yōu)閷W(xué)生頭腦中的認(rèn)知結(jié)構(gòu)。因此,他的理論常被稱為認(rèn)知結(jié)構(gòu)論或認(rèn)知發(fā)現(xiàn)說。而布魯納強(qiáng)調(diào)的認(rèn)知結(jié)構(gòu)指的是學(xué)科結(jié)構(gòu)的建構(gòu)。

      1.學(xué)習(xí)觀

      (1)學(xué)習(xí)的實(shí)質(zhì)是主動(dòng)的形成認(rèn)知結(jié)構(gòu)

      布魯納認(rèn)為,學(xué)習(xí)的本質(zhì)是主動(dòng)的形成認(rèn)知結(jié)構(gòu)。學(xué)習(xí)者不是被動(dòng)地接受知識,而是主動(dòng)地獲取知識,并通過把新獲得的知識和已有的認(rèn)知結(jié)構(gòu)聯(lián)系起來,積極地建構(gòu)其知識體系。

      (2)學(xué)習(xí)包括獲得、轉(zhuǎn)化和評價(jià)三個(gè)過程

      獲得:新知識的獲得;轉(zhuǎn)化:轉(zhuǎn)變給定信息,以適合新任務(wù),并獲得更多的知識;評價(jià):評價(jià)是對知識轉(zhuǎn)化的一種檢查,處理知識的方法是否適合新的任務(wù),或者運(yùn)用得是否正確。

      更多公職類考試信息和資料

      kunming.offcn.com

      2.教學(xué)觀

      (1)教學(xué)的目的在于理解學(xué)科的基本結(jié)構(gòu)

      由于布魯納強(qiáng)調(diào)學(xué)習(xí)的主動(dòng)性和認(rèn)知結(jié)構(gòu)的重要性,所以他主張教學(xué)的最終目標(biāo)是促進(jìn)學(xué)生對學(xué)科結(jié)構(gòu)的一般理解。

      學(xué)科的基本結(jié)構(gòu),是指學(xué)科的基本概念、基本原理、基本態(tài)度和方法。而掌握學(xué)科的結(jié)構(gòu),應(yīng)該是學(xué)習(xí)知識方面的最低要求。因此,布魯納把學(xué)科的基本結(jié)構(gòu)放在設(shè)計(jì)課程和編寫教材的中心地位,讓它成為教學(xué)的中心。

      (2)提倡發(fā)現(xiàn)學(xué)習(xí)

      所謂發(fā)現(xiàn),不只限于發(fā)現(xiàn)人類尚未知曉的事物的行動(dòng),而且還包括用自己頭腦親自獲得知識的一切形式。

      A.發(fā)現(xiàn)學(xué)習(xí)有以下四點(diǎn)作用:①提高智能的潛力。②使外部獎(jiǎng)賞向內(nèi)部動(dòng)機(jī)轉(zhuǎn)移。③學(xué)會(huì)將來作出發(fā)現(xiàn)的最優(yōu)方法和策略。④幫助信息的保持和檢索。

      B.發(fā)現(xiàn)學(xué)習(xí)有以下四個(gè)特點(diǎn):①強(qiáng)調(diào)學(xué)習(xí)的過程,而不只是最后的結(jié)果。②強(qiáng)調(diào)直覺思維。③強(qiáng)調(diào)內(nèi)部動(dòng)機(jī)。④強(qiáng)調(diào)信息的組織、提取,而不只是存儲(chǔ)。

      (3)掌握學(xué)科基本結(jié)構(gòu)的教學(xué)原則

      ①動(dòng)機(jī)原則。②結(jié)構(gòu)原則。③程序原則。④強(qiáng)化原則。(口訣:動(dòng)結(jié)程強(qiáng))

      (五)奧蘇貝爾的有意義學(xué)習(xí)的接受學(xué)習(xí)

      1.有意義學(xué)習(xí)的實(shí)質(zhì)及條件

      有意義學(xué)習(xí)的實(shí)質(zhì)是將新知識與已有知識建立起非人為(內(nèi)在的)的和實(shí)質(zhì)性(非字面)的聯(lián)系。非人為的指的是知識本身的聯(lián)系,認(rèn)為沒有辦法改變。(例如:四邊形內(nèi)角和360度,對角線劃分分成兩個(gè)三角形,每個(gè)三角形內(nèi)角和180度)實(shí)質(zhì)性的指知識有可能表述不同,但是本身的含義是一樣的。(例如:“創(chuàng)可貼”和“OK繃”)

      有意義學(xué)習(xí)的條件:①學(xué)習(xí)材料具有邏輯意義;②有意義學(xué)習(xí)的心向;③學(xué)習(xí)者認(rèn)知結(jié)構(gòu)中必須具有適當(dāng)?shù)闹R,以便與新知識進(jìn)行聯(lián)系。(三者缺一不可)

      2.有意義學(xué)習(xí)的類型

      (1)表征學(xué)習(xí):表征學(xué)習(xí)是最低層次的一種學(xué)習(xí)方式,指學(xué)習(xí)一個(gè)符號或一組符號所代表的事物和意義。(“魚”這個(gè)字所代表的的事物)

      (2)概念學(xué)習(xí):概念是同類事物的共同關(guān)鍵特征或本質(zhì)特征,是區(qū)分事物的關(guān)鍵。(魚是生活在水中的,有鱗有鰭的用鰓呼吸的冷血?jiǎng)游?。所有的魚都符合這樣的特點(diǎn)。)

      (3)命題學(xué)習(xí):概念和概念之間的關(guān)系。(例如:鯨不是魚.其中涉及到魚和鯨兩個(gè)概念)

      3.意義的同化

      更多公職類考試信息和資料

      kunming.offcn.com

      奧蘇貝爾認(rèn)為,學(xué)生能否習(xí)得新知識,主要取決于他們認(rèn)知結(jié)構(gòu)中已有的有關(guān)觀念,有意義學(xué)習(xí)是通過新信息與學(xué)生認(rèn)知結(jié)構(gòu)中已有的有關(guān)觀念的相互作用才得以發(fā)生的,這種相互作用的結(jié)果導(dǎo)致了新舊知識的意義的同化。

      4.組織學(xué)習(xí)的原則與策略

      (1)逐漸分化原則:即首先應(yīng)該傳授最一般的、包攝性最廣的觀念,然后根據(jù)具體細(xì)節(jié)對它們逐漸加以分化,這樣可以為每個(gè)知識單元的教學(xué)都提供理想的固定點(diǎn),即對新知識起固定作用的先前知識。

      (2)整合協(xié)作原則:是指如何對學(xué)生認(rèn)知結(jié)構(gòu)中現(xiàn)有要素重新加以組合。奧蘇貝爾認(rèn)為所有導(dǎo)致整合協(xié)調(diào)的學(xué)習(xí),同樣也會(huì)導(dǎo)致學(xué)生現(xiàn)有知識的進(jìn)一步分化。因此,整合協(xié)調(diào)是意義學(xué)習(xí)中發(fā)生的認(rèn)知結(jié)構(gòu)逐漸分化的一種形式。

      (3)先行組織者策略:奧蘇貝爾任務(wù)要產(chǎn)生有意義學(xué)習(xí),新舊知識必須能夠建立起來聯(lián)系,但是我們平時(shí)在學(xué)習(xí)的過程中并不是所有的新知識和舊知識都能建立起來聯(lián)系,這時(shí)候需要人為的制造條件,使新舊知識之間能夠建立起來聯(lián)系,因此奧蘇貝爾提出了先行組織者策略。

      先行組織者策略有四個(gè)條件:首先,先行組織者不是人,是一個(gè)學(xué)習(xí)材料;其次先行組織者要先于學(xué)習(xí)的新知識呈現(xiàn);再次,先行組織者的概念要比新知識的概念要大;最后,先行組織者要和新舊知識均有聯(lián)系。

      例如:學(xué)生之前學(xué)了四邊形的概念即四條線段組成的封閉圖形;今天老師要給學(xué)生講正方形的概念,在上課之前給學(xué)生呈現(xiàn)了“對邊平行且相等的四邊形是平行四邊形”的概念,在給學(xué)生講“有一個(gè)角是直角,且四條線段相等的平行四邊形是正方形”的概念。其中平行四邊形的概念就屬于先行組織者。

      “組織者”可分為兩類:一類是陳述性“組織者”,當(dāng)學(xué)生面對學(xué)習(xí)任務(wù),倘若其認(rèn)知結(jié)構(gòu)中缺乏適當(dāng)?shù)纳衔挥^念可以用來同化新知識,則可以設(shè)計(jì)一個(gè)概括與包容水平高于要學(xué)習(xí)的新材料的組織者,目的在于為新知識提供類屬者,與新知識產(chǎn)生上位關(guān)系。

      另一類是比較性“組織者”,用于較熟悉的學(xué)習(xí)材料中,其目的在于比較新材料與認(rèn)知結(jié)構(gòu)中相類似的材料,從而增強(qiáng)似是而非的新舊知識之間的可辨別性,并為這些新觀念提供穩(wěn)定的固定點(diǎn)。

      5.接受學(xué)習(xí)

      與布魯納的發(fā)現(xiàn)學(xué)習(xí)觀點(diǎn)相反,奧蘇貝爾認(rèn)為,學(xué)生的學(xué)習(xí)主要是接受學(xué)習(xí),學(xué)習(xí)應(yīng)該是通過接受而發(fā)生,而不是通過發(fā)現(xiàn)。他把強(qiáng)調(diào)接受學(xué)習(xí)的教學(xué)方法叫做“講解教學(xué)”。

      (六)加涅——學(xué)習(xí)的信息加工論觀點(diǎn)

      更多公職類考試信息和資料

      kunming.offcn.com

      1.學(xué)習(xí)過程的八個(gè)階段

      (1)動(dòng)機(jī)階段:激發(fā)動(dòng)機(jī)和興趣;

      (2)了解階段:選擇學(xué)習(xí)內(nèi)容;

      (3)獲得階段:所學(xué)的東西進(jìn)入了短時(shí)記憶;

      (4)保持階段:所學(xué)信息進(jìn)入長時(shí)記憶;

      (5)回憶階段:提供線索幫助學(xué)生檢索、回憶信息;

      (6)概括階段:獲得的知識遷移到新的情境;

      (7)操作階段:應(yīng)用所學(xué)信息;

      (8)反饋階段:評價(jià)應(yīng)用結(jié)果。

      (七)重點(diǎn)知識總結(jié)

      認(rèn)知主義強(qiáng)調(diào)學(xué)習(xí)者對知識的主動(dòng)建構(gòu)的過程,知識是客觀存在的,其中,不同的心理學(xué)家認(rèn)為學(xué)習(xí)者形成的認(rèn)知結(jié)構(gòu)不同。

      格式塔學(xué)派苛勒反對桑代克的試誤說,認(rèn)為學(xué)習(xí)是“完形-頓悟”的過程;托爾曼認(rèn)為學(xué)習(xí)者是形成認(rèn)知地圖的過程;布魯納認(rèn)為學(xué)習(xí)是學(xué)習(xí)者通過發(fā)現(xiàn)學(xué)習(xí)建構(gòu)學(xué)科結(jié)構(gòu)的過程;奧蘇貝爾的有意義的接受學(xué)習(xí),強(qiáng)調(diào)新舊知識之間的關(guān)系,強(qiáng)調(diào)舊知識的重要性;加涅提出信息加工理論,提出學(xué)習(xí)的八階段。

      四、歷年考題

      奧蘇貝爾認(rèn)為學(xué)生的學(xué)習(xí)主要是()。

      A.機(jī)械學(xué)習(xí)B.有意義的發(fā)現(xiàn)學(xué)習(xí)

      C.有意義的接受學(xué)習(xí)D.研究性學(xué)習(xí)

      【答案】C。解析:奧蘇貝爾提出學(xué)習(xí)是有意義的接受學(xué)習(xí),強(qiáng)調(diào)學(xué)生通過學(xué)生以接受的方式,理解新舊知識之間的關(guān)系。故選C選項(xiàng)。A選項(xiàng),指不理解新舊知識之間的關(guān)系的學(xué)習(xí),如三歲的孩子能背誦五百首唐詩;B選項(xiàng),如:科學(xué)家進(jìn)行科學(xué)鉆研;D選項(xiàng)研究性學(xué)習(xí)是一種以學(xué)生為主的學(xué)習(xí)模式。在教師的輔助下,由學(xué)生策劃、執(zhí)行及自我評估的學(xué)習(xí)方法。它是一種跨學(xué)科的學(xué)習(xí)技巧。學(xué)生透過研習(xí)一個(gè)特定的專題的同時(shí),運(yùn)用現(xiàn)有的知識和技巧來重新綜合,并透過進(jìn)行一些特定的活動(dòng),使學(xué)生能自主地建構(gòu)知識,繼而學(xué)會(huì)這個(gè)新的題目,而達(dá)至學(xué)會(huì)學(xué)習(xí)的目的,并培養(yǎng)學(xué)生的自學(xué)精神。

      更多昆明教師考試信息關(guān)注昆明中公教育信息網(wǎng)

      更多公職類考試信息和資料

      下載Java學(xué)習(xí)之Iterator(迭代器)的一般用法word格式文檔
      下載Java學(xué)習(xí)之Iterator(迭代器)的一般用法.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦