以太坊mapping長度
A. CreateFileMapping 大文件拷貝問題
函數CreateFileMapping()第四個參數指定了創建的文件映射對象的位元組大小,該參數類型為DWORD,也就是說文件映射對象的尺寸最大為2147483648位元組,即2G。
文件大小確實與和虛擬內存有關,畢竟是需要在進程內部開辟與文件大小相同的內存空間的。
如果要大於2G的文件,那麼不能使用文件映射對象的方法,可以使用簡單的復制文件方法,如從源文件依次讀取N個位元組,並依次寫入目的文件。
B. 請問如果火幣Global的EOS不做映射,資產會清零嗎
EOS 將在北京時間2018年6月2日06:59:59 結束眾籌,您需在該時間之前盡快完成映射,將基於以太坊的 EOS 更換為 EOS 主網代幣,
否則,屆時所持有的EOS將被清零,並且在眾籌結束後23小時內,基於以太坊網路發行的 EOS 將停止轉賬。
C. <hibernate-mapping>
這是hibernate與資料庫的對象關系映射文件**.hbm.xml。
<class name="c.lw.model.Changeroll" table="changeroll" catalog="sms">
表明類c.lw.model.Changeroll對應資料庫實例sms中的表changeroll
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
表changeroll的主鍵為id ,是資料庫自成生成的,對應的c.lw.model.Changeroll類中的欄位id,類型為java.lang.Integer
<many-to-one name="systemuser" class="c.lw.model.Systemuser" fetch="select">
<column name="student" />
</many-to-one>
多對一的關系:多個changeroll,對應一個student。這是hibernate與資料庫的對象關系映射文件**.hbm.xml。
<class name="c.lw.model.Changeroll" table="changeroll" catalog="sms">
表明類c.lw.model.Changeroll對應資料庫實例sms中的表changeroll
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
表changeroll的主鍵為id ,是資料庫自成生成的,對應的c.lw.model.Changeroll類中有類型為c.lw.model.Systemuser的欄位systemuser,fecth="select" 表示通過changeroll表查詢c.lw.model.Systemuser對應的表時,使用select方式(還有一種是join,具體情況你可以自己去查一下它們的區別)。表changeroll中對應的的欄位名為student.
<property name="changetype" type="java.lang.String">
<column name="changetype" length="20" />
</property>
c.lw.model.Changeroll類中的java.lang.String類欄位changetype對應表changeroll中的changetype欄位,最大長度為20
最後一個property意思跟這個一樣
答的有點亂,網上有很多關於hibernate配置文件的說明,你自己可以搜一下。
D. 為啥VM克隆後重啟發現eth0變成了eth1
昨天寫了個日誌關於udev, sysfs,今天繼續。 要說的是由於udev的存在引起的一個問題:克隆一台vm(ubuntu),poweron之後這台vm的網卡是eth1,而被克隆的vm的網卡是eth0,讓人很費解。 root cause: 出現這種情況一般都是udev設置的rule引起的。ubuntu(其他系統沒試過)一般有類似下面的一條rule去定義kernel發現的網卡(sysfs)與用戶希望這塊網卡使用的名字的一個mapping: ~$ cat /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==" 00:23:5a:bd:14:f8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 輸出中紅色的是網卡的mac地址。在vm克隆並poweron之後,這個vm會產生一個新的mac,但是這個udev rule文件由於是克隆的並不會被修改。因此,系統在啟動過程中,udev在查看rule的時候發現eth0已經被定義了,而且和目前檢測到的網卡mac不匹配,所以只能創建個eth1出來。實際上,這個eth1並不是被udev map出來的,而是在內核里export到sysfs中的設備就叫這個名字。 為了避免這種情況,可以直接清空這條rule或者是把mac匹配那項刪掉。 ----------------------------------- 現在疑問的地方如下: 疑問的出現: 為了重現上面的問題,手工修改匹配mac然後重啟,發現eth0變成了eth1。但是如下輸出表明udev冒失影響了內核 - 但是,可當是, 不應該這樣啊......原始狀態: $ sudo find /sys -name "eth*" [sudo] password for zhuzhu: /sys/class/net/eth0 修改 rule後狀態: $ sudo find /sys -name "eth*" [sudo] password for zhuzhu: /sys/class/net/eth1 再改回來的狀態:
E. Java 代碼中@RequestMapping(value = "/**/*.*", method = RequestMethod.GET)
請仔細閱讀理解Ant風格的路徑匹配語法。這里*匹配到一級如abc.do**/..能匹配到任意長度的子URL地址
F. hibernate mapping ID生成方式
1) assigned
主鍵由外部程序負責生成,無需Hibernate參與。
2) hilo
通過hi/lo 演算法實現的主鍵生成機制,需要額外的資料庫表保存主
鍵生成歷史狀態。
3) seqhilo
與hilo 類似,通過hi/lo 演算法實現的主鍵生成機制,只是主鍵歷史
狀態保存在Sequence中,適用於支持Sequence的資料庫,如Oracle。
4) increment
主鍵按數值順序遞增。此方式的實現機制為在當前應用實例中維持
一個變數,以保存著當前的最大值,之後每次需要生成主鍵的時候
將此值加1作為主鍵。
這種方式可能產生的問題是:如果當前有多個實例訪問同一個數據
庫,那麼由於各個實例各自維護主鍵狀態,不同實例可能生成同樣
的主鍵,從而造成主鍵重復異常。因此,如果同一資料庫有多個實
例訪問,此方式必須避免使用。
5) identity
採用資料庫提供的主鍵生成機制。如DB2、SQL Server、MySQL
中的主鍵生成機制。
6) sequence
採用資料庫提供的sequence 機制生成主鍵。如Oralce 中的
Sequence。
7) native
由Hibernate根據底層資料庫自行判斷採用identity、hilo、sequence
其中一種作為主鍵生成方式。
8) uuid.hex
由Hibernate基於128 位唯一值產生演算法生成16 進制數值(編碼後
以長度32 的字元串表示)作為主鍵。
9) uuid.string
與uuid.hex 類似,只是生成的主鍵未進行編碼(長度16)。在某些
資料庫中可能出現問題(如PostgreSQL)。
10) foreign
使用外部表的欄位作為主鍵。
一般而言,利用uuid.hex方式生成主鍵將提供最好的性能和資料庫平台適
應性。
另外由於常用的資料庫,如Oracle、DB2、SQLServer、MySql 等,都提
供了易用的主鍵生成機制(Auto-Increase 欄位或者Sequence)。我們可以在數
據庫提供的主鍵生成機制上,採用generator-class=native的主鍵生成方式。
不過值得注意的是,一些資料庫提供的主鍵生成機制在效率上未必最佳,
大量並發insert數據時可能會引起表之間的互鎖。
資料庫提供的主鍵生成機制,往往是通過在一個內部表中保存當前主鍵狀
態(如對於自增型主鍵而言,此內部表中就維護著當前的最大值和遞增量),
之後每次插入數據會讀取這個最大值,然後加上遞增量作為新記錄的主鍵,之
後再把這個新的最大值更新回內部表中,這樣,一次Insert操作可能導致數據
庫內部多次表讀寫操作,同時伴隨的還有數據的加鎖解鎖操作,這對性能產生
了較大影響。
因此,對於並發Insert要求較高的系統,推薦採用uuid.hex 作為主鍵生成
機制。
G. 什麼是主網映射
維基鏈(wicc)主網映射,是用基鏈公鏈上面的維基幣wicc替換之前ERC20 TOKEN的過程。公鏈主網映射是公鏈真正投入使用的標志,主網映射後基於該公鏈的各種應用和開發才能真正展開,並真正進入該公鏈的服役期。
H. 我想用servlet 編寫一個mapping 調用這個servlet 來實現URL 重寫。 把URL的坑爹的長度換成簡略易讀的。
<servlet>
<servlet-name>aaaaa</servlet-name>
<servlet-class>com.bdqn</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaaaa</servlet-name>
<url-pattern>ac</url-pattern>
</servlet-mapping>
servlet中的servlet-name要與servlet-mapping中的servlet-name一致
servlet-class中寫的是你要連接到的類的位置 寫法為包.類名稱
url-pattern中寫的是你要在瀏覽器上輸入的名稱
比如你在瀏覽器中打入http://localhost:8080/項目名稱/ac
則伺服器會先找到url-pattern名字叫ac的哪一個servlet-mapping,然後再找到該servlet-mapping的servlet-name,然後再找servlet-name一樣的servlet,然後再找這個servlet的servlet-class 這樣就找到這個處理類了
(水平有限 廢話不少 不過應該是說清楚了)