Time of Update: 2018-12-04
這裡的rotate操作,也就是指迴圈移位。比如將串“ABCDEFG”以D為中心旋轉,就相當將該串向左迴圈移位,直到第一個元素為D為止,最後 得到新串“DEFGABC”。要想方便的完成rotate操作,一個常見的技巧是這樣的:先將前半部分反轉,再將後半部分反轉,最後再將整個串反轉即可 (這裡的前半部分與後半部分是以旋轉中心來劃分的)。還是以串“ABCDEFG”以D為中心旋轉為例,以D為分割點,將先半部分與後半部分分別反轉後,得
Time of Update: 2018-12-04
在ubuntu下用Document Viewer( 2.24.1)查看PDF檔案有時有亂碼終於找到瞭解決辦法編輯 /etc/fonts/conf.d/49-sansserif.conf,修改一個字型設定就OK。例如以下,將倒數第四行的字型改為漢字的字型,我改成了文泉驛正黑。<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig><!--If the font
Time of Update: 2018-12-04
1、下載安裝samba yum -y install samba2、vi /etc/samba/smb.conf加入[dir_name] comment = work directory path = /home/存在的目錄名 writable = ye3、smbpasswd -a xxx 加入使用者 必須是系統存在的使用者 設定密碼4、service iptables stop 把iptables關了5、
Time of Update: 2018-12-04
轉載:http://www.cnitblog.com/tarius.wu/articles/2277.html轉載:http://www.fansoo.com/blog/2011/kernel-threads-lightweight-processes-threads-and-linuxthreads-library-users/核心線程核心線程只運行在核心態,不受使用者態內容相關的拖累。處理器競爭:可以在全系統範圍內競爭處理器資源;使用資源:唯一使用的資源是核心棧和環境切換時保持寄存器的空間調
Time of Update: 2018-12-04
釋放的過程正好與分配的過程相反,先將object釋放到cpu local slab中,如果cpu local slab滿了,就將cpu local slab中的free object釋放到share local slab中,如果share local slab也滿了,就把share local slab的部分free object釋放到slab lists中,然後再將cpu local slab中batcount個free object釋放到share local
Time of Update: 2018-12-04
為什麼寫部落格寫技術部落格對於程式員的提升是不可估量的。只要你堅持一段時間,你就會發現它給你帶來的各種積極的變化。思考問題更加深入了,更容易關注細節了,表達能力也增強了……不斷的總結自己。程式員面對的世界是非常複雜的,未知領域也很多,在解決問題時第一次的方式並不一定是最完美的,只有通過不斷的總結,不斷的反思,才更容易抓住事物的本質。隨著程式員的水平提高,需要思考的問題就開始變的更深度,更抽象、更複雜。這個時候就會遇到瓶頸,而通過寫部落格的方式能將自己的經驗整理成型,形成一個完善的體系。能夠認識到
Time of Update: 2018-12-04
GWT應用程式有兩種方式運行:Hosted Model 在Hosted Model方式下,Java程式並不會被編譯成JavaScript,GWT只是創造了一個類似 瀏覽器的環境,直接運行使用GWT開發的程式。這種模式最具生產力(這種模式下可以Debug所有的Java代碼), 所以開發環境通常使用Hosted Model,但是真正的程式執行不使用這種模式。Web
Time of Update: 2018-12-04
1. 一般MIPS CPU 都有一對 WatchPoints register:可以設定 WatchLo 指定一個監測的記憶體位址,一旦有對該地址的操作,即觸發一個 watch 異常下面的設定監測 0x8000000004190000 的記憶體寫操作: unsigned long cat_wlo1 = 0x8000000004190001; unsigned long cat_whi1 = 0x40000000; __write_64bit_c0_register($18, 1
Time of Update: 2018-12-04
今天分析下socket的建立流程關於使用者態socket如何通過系統調用進入核心態到sys_socke,這裡就不再分析,直接看核心態socket入口SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol){ int retval; struct socket *sock; int flags; /* Check the SOCK_* constants for consistency. */
Time of Update: 2018-12-04
配置Tomcat目錄 %TOMCAT_HOME%/conf下面的server.xml檔案,在檔案中加入如下xml內容: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="/conf/server.keystore"
Time of Update: 2018-12-04
排序的演算法,時間複雜度不可能達到O(n),最快是O(logN)或者O(fun(n)),fun(n)>n;原因如下:1.時間是O(n)意味著只遍曆一遍,在任何時候都不往回遍曆,遍曆一遍的限制太嚴格,如下例: 比如序列:a b c d e;在看到第四個元素d時,不能往回去比較d是處在a b c中大小位置【這句話明白?就是,假設abc是排過序的,不知道d要放在哪兒,是dabc還是abdc】,這樣的條件,是排不了序的。從這裡也能看出,排序演算法的好壞,關鍵在於“算出d在abc中位置的效率”
Time of Update: 2018-12-04
64位多核 MIPS 異常和中斷核心程式碼分析 (4) 1.3 其它例外入口初始化其它例外的入口初始化位於:[arch/mips/kernel/traps.c]void __init trap_init(){...... /* * Copy the generic exception handlers to their final destination. * This will be overriden later as suitable for a
Time of Update: 2018-12-04
(1) 一個整數數列,元素取值可能是0~65535中的任意一個數,相同數值不會重複出現。0是例外,可以反覆出現。 請設計一個演算法,當你從該數列中隨意選取5個數值,判斷這5個數值是否連續相鄰。 注意: - 5個數值允許是亂序的。比如: 8 7 5 0 6 - 0可以通配任意數值。比如:8 7 5 0 6 中的0可以通配成9或者4 - 0可以多次出現。 - 複雜度如果是O(n2)則不得分。 (2) 設計一個演算法,找出二叉樹上任意兩個結點的最近共同父結點。 複雜度如果是O(n2)則不得分。 (3)
Time of Update: 2018-12-04
函數原型:int select(int maxfdp1,fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout)主要代碼路徑與檔案 linux/fs/select.c
Time of Update: 2018-12-04
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.Socket; import javax.net.ssl.SSLSocketFactory; public class Test { public static final
Time of Update: 2018-12-04
#pragma #pragma 預先處理指令詳解 在所有的預先處理指令中,#Pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。#pragma指令對每個編譯器給出了一個方法,在保持與C和C++語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的。 其格式一般為: #Pragma Para 其中Para 為參數,下面來看一些常用的參數。 (1)message 參數。
Time of Update: 2018-12-04
花了半天,把epoll的實現大體看了下,這裡稍總結下:epoll相關的三個使用者態API介面:1、epoll_create函數函式宣告:int epoll_create(int size)該函數產生一個epoll專用的檔案描述符。它其實是在核心申請一空間,用來存放你想關注的socket fd上是否發生以及發生了什麼事件。size就是你在這個epoll fd上能關注的最大socket fd數。2、epoll_ctl函數函式宣告:int epoll_ctl(int epfd, int op,
Time of Update: 2018-12-04
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text;
Time of Update: 2018-12-04
功能說明:分析可載入模組的相依性。語 法:depmod [-adeisvV][-m <檔案>][--help][模組名稱]補充說明:depmod可檢測模組的相依性,供modprobe在安裝模組時使用。參 數: -a或--all 分析所有可用的模組。 -d或debug 執行排錯模式。 -e 輸出無法參照的符號。 -i 不檢查符號表的版本。 -m<檔案>或system-map<檔案> 使用指定的符號表檔案。 -s或--system-log
Time of Update: 2018-12-04
用gdb查看記憶體格式: x /nfu <addr>說明x 是 examine 的縮寫n表示要顯示的記憶體單元的個數f表示顯示方式, 可取如下值x 按十六進位格式顯示變數。d 按十進位格式顯示變數。u 按十進位格式顯示無符號整型。o 按八進位格式顯示變數。t 按二進位格式顯示變數。a 按十六進位格式顯示變數。i 指令地址格式c 按字元格式設定顯示變數。f 按浮點數格式顯示變數。u表示一個地址單元的長度b表示單位元組,h表示雙位元組,w表示四位元組,g表示八位元組Format