Time of Update: 2018-12-08
Linux下編程,線程、進程退出順序問題紛紛擾擾,如果父進程/線程先於子進程/線程終止,系統會做什麼處理呢?反之,如果子進程/線程先於父進程/線程終止,系統又會做什麼處理呢?下面是我個人平時在筆記上做的一些象徵性的總結,如果有疑問之處,大可提出,我一直認為懷疑是人類進步的根本所在。一、線程Linux線程建立函數為pthread_create(),預設規則是誰建立子線程,誰就要負責子線程的資源回收,當父線程退出後,子線程也隨著退出。所以,一般情況下,父線程退出時都要確保子線程已經退出,所以會使用p
Time of Update: 2018-12-08
二叉樹是一種非常重要的資料結構,很多其它資料結構都是基於二叉樹的基礎演變而來的。對於二叉樹,有前序、中序以及後序三種遍曆方法。因為樹的定義本身就是遞迴定義,因此採用遞迴的方法去實現樹的三種遍曆不僅容易理解而且代碼很簡潔。而對於樹的遍曆若採用非遞迴的方法,就要採用棧去類比實現。在三種遍曆中,前序和中序遍曆的非遞迴演算法都很容易實現,非遞迴後序遍曆實現起來相對來說要難一點。一.前序走訪前序走訪按照“根結點-左孩子-右孩子”的順序進行訪問。1.遞迴實現複製代碼 代碼如下:void preOrder1(
Time of Update: 2018-12-08
需要訓練頸部的職業也很多,比如伏案工作者。如果伏案工作者不進行頸部訓練,頸椎蛻變或頸椎病發病率大於80%。比如文字工作者,電腦工作者,駕駛員等伏案工作者都是頸椎病高危人群。脖子的訓練頸部訓練方法上百種,普通朋友容易做到的有以下幾種:徒手類,抗阻力類,特殊器械類,雙人技巧類。徒手類:通過自己用手抗阻力反向發力訓練。或者頸部起橋。抗阻力類:比如啞鈴送肩加強斜方肌上束。或者鈴片頸屈伸訓練。特殊器械類:頸部訓練器很多,只介紹一種頸部訓練帶。看看NFL球員是怎麼用頸部訓練帶訓練的,真比足球運動員脖子恐怖。
Time of Update: 2018-12-08
先使用先序的方法建立一棵二叉樹,然後分別使用遞迴與非遞迴的方法實現前序、中序、後序遍曆二叉樹,並使用了兩種方法來進行層次遍曆二叉樹,一種方法就是使用STL中的queue,另外一種方法就是定義了一個數組隊列,分別使用了front和rear兩個數組的下標來表示入隊與出隊,還有兩個操作就是求二叉樹的深度、結點數。。。複製代碼 代碼如下:#include<iostream>#include<queue>#include<stack>using namespace
Time of Update: 2018-12-08
假期的時候偶爾安裝了一下,安裝版和免安裝版的都試過了,覺得免安裝版的比較好一點,涉及到的配置比較多,檔案也多,根據我現在掌握的知識,簡單的做了一下免安裝版的tomcat的基本配置和安裝方法。一、配置JDK要想在自己的電腦上安裝Tomcat,需要JDK的支援,因為Tomcat是用java語言編寫的一個很輕量級的Web伺服器。Java
Time of Update: 2018-12-08
jQuery部分代碼: 複製代碼 代碼如下:<script type="text/javascript"> function current(){ var d=new Date(),str=''; str +=d.getFullYear()+'年'; //擷取當前年份 str +=d.getMonth()+1+'月'; //擷取當前月份(0——11) str +=d.getDate()+'日'; str +=d.getHours()+'時'; str +=d.getMinutes()
Time of Update: 2018-12-08
接下來總結一下常用的幾種串連方式。
Time of Update: 2018-12-08
“清除系統垃圾.bat”,“clear.bat”,“一鍵清除系統垃圾.bat”,“30秒清除系統垃圾.bat”,“快速清除系統垃圾.bat” 基本上找到的者是一個檔案, 但這裡面也有很多不足或需要改進的地方,但大多數人看不懂DOS命令,所以被改的機會會很少,下面是我所發現的問題及其改進,可以說是比較完美的版本了。 從網上找的,修改了一行,以解決ASP+ACCESS錯誤:“Microsoft JET Database Engine 錯誤 '80004005' 未指定的錯誤”
Time of Update: 2018-12-08
1.對查詢進行最佳化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應盡量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如: select id from t where num is null 可以在num上設定預設值0,確保表中num列沒有null值,然後這樣查詢: select id from t where num=0 3.應盡量避免在 where 子句中使用!=或<>操作符,
Time of Update: 2018-12-08
1、 故障發生原因 :由於電腦配置較差 ,經常死機 或者 MyEclipse假死 ,所以通過工作管理員強行關閉掉Eclipse.exe和javaw.exe進程 ;2、故障現象: 開啟MyEclipse,出現啟動介面 ,然後一直停留在此頁面 ,長時間沒有反應 ;3、解決辦法 : a、把MyEclipse目錄下的.settings\org.eclipse.ui.ide.prefs的 SHOW_WORKSPACE_SELECTION_DIALOG=false 修改為true
Time of Update: 2018-12-08
所以我個人看法學彙編,不一定要寫程式,寫程式確實不是彙編的強項,大家不妨玩玩DEBUG,有時CRACK出一個小軟體比完成一個程式更有成就感(就像學電腦先玩遊戲一樣)。某些高深的指令事實上只對有經驗的組譯工具員有用,對我們而言,太過高深了。為了使學習組合語言有個好的開始,你必須要先排除那些華麗複雜的命令,將注意力集中在最重要的幾個指令上(CMP LOOP MOV JNZ……)。但是想在囉裡吧嗦的教科書中完成上述目標,談何容易,所以本人整理了這篇超濃縮(用WINZIP、WINRAR…依次壓迫,嘿嘿!
Time of Update: 2018-12-08
有一個多選的需求,在網上找到了這個外掛程式:multiselect https://github.com/ehynds/jquery-ui-multiselect-widget csdn部落格上有這個外掛程式的介紹,不少童鞋都問了這麼個問題,怎麼擷取選中的值?真是個好問題,因為我在看demo的時候也發現了這個問題,呵呵! 先簡單說說這個外掛程式: jquery-multiselect 基於Jquery-ui的組件體系。 所以使用它的時候,先得匯入jquery-ui相關的js和css哦 特性
Time of Update: 2018-12-08
複製代碼 代碼如下:#include <windows.h>#include <iostream.h>#include <tlhelp32.h>#include <stdio.h>int main(int argc, char* argv[]){ char exename[500]; printf("[ENTER EXE FILE NAME]\t");scanf("%s",exename);printf("\n[YOU ENTER]\t%s\n"
Time of Update: 2018-12-08
Father 1.建立一個按鈕 複製代碼 代碼如下:<asp:Button ID="btnFresh" runat="server" Text="" OnClick="btnFresh_Click" /> 2.JS 複製代碼 代碼如下:<script type="text/javascript"> function btnFreshData() { document.getElementById("btnFresh").click(); } </script>
Time of Update: 2018-12-08
Problem DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It needs some time, called setup time, for the machine to
Time of Update: 2018-12-08
方法一:複製代碼 代碼如下:#include "stdio.h"#include "stdlib.h"//初始化最大值為a[0],次大值為a[1],遍曆一次,每次比較並更新最大值和次大值,最後就可以得到次大值。int findsecondmaxvalue(int *a,int size){ int i,max,s_max; max=a[0]; //最大值 s_max=a[1]; //次大值 for(i=0;i<size;i++) { if(a[i]
Time of Update: 2018-12-08
解法1: 我們可以對這個亂序數組按照從大到小先行排序,然後取出前k大,總的時間複雜度為O(n*logn + k)。解法2: 利用選擇排序或互動排序,K次選擇後即可得到第k大的數。總的時間複雜度為O(n*k)解法3: 利用快速排序的思想,從數組S中隨機找出一個元素X,把數組分為兩部分Sa和Sb。Sa中的元素大於等於X,Sb中元素小於X。這時有兩種情況:1. Sa中元素的個數小於k,則Sb中的第k-|Sa|個元素即為第k大數;2.
Time of Update: 2018-12-08
float和double型資料分別是單精確度和雙精確度型數,他們的取值分別是3.4E+10的負38次方到3.4E+10的38次方,和1.7E+10的負308次方到1.7E+10的308次方。那麼對於float而言,只有6-7位的有效數字,怎麼能裝下可達3.4*10^(-38)這麼大的數呢?同理,15-16位的double型,也無法裝下1.7*10^(-308)這麼大的數啊?回答: float 6-7位指的是有效數位位元(精度),而不是數值大小。例如,3.14159267有9位有效數字,數值卻在3
Time of Update: 2018-12-08
問題:有一個大小為n的數組A[0,1,2,…,n-1],求其中第k大的數。該問題是一個經典的問題,在《演算法導論》中被作為單獨的一節提出,而且其解決方案很好的利用了分治的思想,將時間複雜度控制在了O(n),這多少出乎我們的意料,此處暫且不表。該問題還可以變形為:有一個大小為 n的數組A[0,1,2,…,n-1],求其中前k大的數。一字之差,原問題是“第k大”,變形的問題是“前k大”,但是平均時間複雜度卻都可以控制在O(n),這不由得讓人暗暗稱奇。我們先分析原問題:有一個大小為 n的數組A[0,1
Time of Update: 2018-12-08
複製代碼 代碼如下:#include <stdio.h>#include <string.h> #include <stdlib.h> #include <math.h>#include <assert.h> #include <ctype.h> #include <map>#include <string>#include <set>#include