Time of Update: 2018-07-28
package itat.org.zttc.mail;import java.io.UnsupportedEncodingException;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Message;import javax.mail.Message.RecipientType;import
Time of Update: 2018-07-28
線程池 線程池通常適合下面的幾個場合: (1) 單位時間內處理任務頻繁而且任務處理時間短 (2) 對即時性要求較高。如果接受到任務後在建立線程,可能滿足不了即時要求,因此必須採用線程池進行預建立。 (3) 必須經常面對高突發性事件,比如Web伺服器,如果有足球轉播,則伺服器將產生巨大的衝擊。此時如果採取傳統方法,則必須不停的大量產生線程,銷毀線程。此時採用動態線程池可以避免這種情況的發生。 高並發情境 非同步I/O: 多線程、線程池 保持很多的長串連,而且串連的開關很頻繁,
Time of Update: 2018-07-28
#include <stdio.h>int fib_rec( int n ){if(n==0||n==1)return 1;else return fib_rec(n-1)+fib_rec(n-2);}int fib_iter( int n ){int i=2;int num=0;if(n<2)return 1;int head=1,hair=1;for(;i<=n;i++){num=head+hair;hair=head;head=num;}return
Time of Update: 2018-07-28
索引:[LeetCode] Leetcode 題解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 027. Remove Element (Easy) 連結: 題目:https://oj.leetcode.com/problems/remove-element/ 代碼(github):https://github.com/illuz/leetcode 題意: 刪除一個數組裡值為
Time of Update: 2018-07-28
1、執行個體方法 執行個體方法的第一個參數必須是”self”,執行個體方法只能通過類執行個體進行調用,這時候“self”就代表這個類執行個體本身。通過”self”可以直接存取執行個體的屬性。 class person(object): tall = 180 hobbies = [] def __init__(self, name, age,weight): self.name = name self.age = age
Time of Update: 2018-07-28
索引:[LeetCode] Leetcode 題解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 033. Search in Rotated Sorted Array (Hard) 連結: 題目:https://leetcode.com/problems/search-in-rotated-sorted-array/ 代碼(github):https://github.com/illuz/
Time of Update: 2018-07-28
C# 5.0中引入了async 和 await。這兩個關鍵字可以讓你更方便的寫出非同步代碼。 看個例子: public class MyClass{public MyClass(){DisplayValue(); //這裡不會阻塞System.Diagnostics.Debug.WriteLine("MyClass() End.");}public Task<double> GetValueAsync(double num1, double num2
Time of Update: 2018-07-28
最近和一些朋友討論到了C++中數學工具的問題,以前總是很2地自己寫矩陣運算,或者有時候在matlab裡計算了一些資料再往C程式裡倒,唉~想想那些年,我們白寫的代碼啊……人家早已封裝好了。首先推薦幾個可以在C++中調用的數學平台:eigen、bias、lapack、svd、CMatrix,本文著重eigen做以講解,希望對各位有所協助。 下面是本文主線,主要圍繞下面幾點進行講解: *******************************************************
Time of Update: 2018-07-28
前言:這是一年前我為公司內部寫的一個文檔,旨在向年輕的嵌入式軟體工程師們介紹如何在裸機環境下編寫優質嵌入式C程式。感覺是有一定的參考價值,所以拿出來分享,拋磚引玉。 轉載請註明出處:http://blog.csdn.net/zhzht19861011/article/details/45508029 摘要:本文首先分析了C語言的陷阱和缺陷,對容易犯錯的地方進行歸納整理;分析了編譯器語義檢查的不足之處並給出防範措施,以Keil
Time of Update: 2018-07-28
閱讀目錄: 基本介紹 基本原理剖析 內部實現剖析 重點注意的地方 總結 基本介紹 Async、Await是net4.x新增的非同步編程方式,其目的是為了簡化非同步程式編寫,和之前APM方式簡單對比如下。 APM方式,BeginGetRequestStream需要傳入回呼函數,線程碰到BeginXXX時會以非阻塞形式繼續執行下面邏輯,完成後回調先前傳入的函數。 HttpWebRequest myReq
Time of Update: 2018-07-28
C/C++中的日期和時間 time_t與struct tm轉換 摘要:本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的資料結構和函數,並對計時、時間的擷取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的執行個體向你展示了time.h標頭檔中聲明的各種函數和資料結構的詳細使用方法。
Time of Update: 2018-07-28
C#中的非同步編程 進程與線程 程式在啟動時,系統會在記憶體中建立一個進程。進程是程式運行所需資源的集合,這些資源套件括虛地址空間、檔案控制代碼和其他程式運行所需的東西。在進程的內部,系統建立一個稱為線程的核心對象,代表真正執行的程式。當線程被建立時,系統在Main方法的第一行語句處開始執行線程。關於線程: 預設情況下,一個進程只包含一個線程,從程式開始執行到結束; 線程可以派生其他線程,因此一個進程可能包含多個不同狀態的線程,執行程式的不同部分;
Time of Update: 2018-07-28
前一段時間,在用GTK+2.0做一個貪吃蛇的小遊戲,有這樣一個想法,遊戲的每一關不僅障礙物要增多,而且地圖也要變大,也就是程式中二維數組要變化。這樣就有了一個需求,要做一個可以接收任意的二維數組的函數介面,並且在函數中要做到用數組下標的方式引用數組元素,如a[3][2](強調用這種方式引用元素,原因見後).
Time of Update: 2018-07-28
以下代碼源自http://blog.csdn.net/nuaazdh/article/details/7059630,在CentoS下用 【g++ -o bank bank.c 】編譯通過,稍微修改。 系統每次隨機產生的是1)當前顧客顧客的櫃檯被服務時間2)當前顧客和下一個顧客到達的間隔時間,記住這2點就理解了整個代碼,書裡說得不太清楚。每個顧客在銀行的等待時間取決於隊列裡前一個節點的離開時間,而不是自己的到達時間+服務時間。 代碼設定了EventList這個事件鏈表
Time of Update: 2018-07-28
非同步就是方法非同步執行, 這個好理解。 非同步有啥用。 以前只是聽說過, 也不想計較。 不過還是碰到了需要這個東西的時候。 比如: 定時執行, 如果不用非同步方法呼叫,也不用定時器,只用Thread.Sleep來間隔。 執行方法本身需要時間,這樣定時的意義就變了——兩次的執行時間肯定相隔不止1分鐘了。 下面是實現非同步最簡單的一個demo: using System;using System.Collections.Generic;using
Time of Update: 2018-07-28
1. Async 官方文檔上的解釋 關於C# 我覺得最下面關於 await 在文檔上的理解比較好,^^ 使用 async 修飾符可將方法、lambda 運算式或匿名方法指定為非同步。 如果用在方法或運算式使用此修飾符,則其稱為非同步方法呼叫 public async Task<int> ExampleMethodAsync() { // . . . . } an async method uses the await keyword to do
Time of Update: 2018-07-28
類層次中的同名成員函數,有3種關係:重載overload,覆蓋override和隱藏oversee,hide。 1.成員重載 只有在同一個類中定義的同名成員函數才存在重載關係,主要特點是函數的參數和數目不同,但不能是參數的個數和類型均相同,僅僅依靠傳回值的不同來區分函數,和普通的函數重載是一樣的,另外,重載和成員函數是否是虛函數無關。 class A{//下面都是重載關係的函數...virtual int fun();void fun(int);void fun(double,
Time of Update: 2018-07-28
為了方便我的遊戲開發,寫了這麼一個通用的分層有限狀態機器。希望在其穩定以後,可以作為一個組件加入到我的遊戲引擎當中。 目前使用了std::function來調用回呼函數,在未來可能會用委託機制代替。 第一版僅僅是為了快速開發出來使用,在未來會對效能和易用性改進。 代碼下載:http://download.csdn.net/detail/vvsxr/8060377 使用方法: HFSM
Time of Update: 2018-07-28
轉載自:http://www.cnblogs.com/mr-wid/archive/2013/02/18/2916309.html(但是他的內容中有一些錯誤) 一、"類" 的介紹 在C++中, 用 "類" 來描述 "對象", 所謂的"對象"是指現實世界中的一切事物。那麼類就可以看做是對相似事物的抽象, 找到這些不同事物間的共同點, 如單車和>機車, 首先他們都屬於"
Time of Update: 2018-07-28
初學者在Linux中進行C++編程時會遇到“‘cout’在此範圍中尚未聲明”的錯誤。很多人會覺得很奇怪,我是嚴格按照C++文法來寫的,為什麼還會在編譯時間提示“‘cout’在此範圍中尚未聲明”的錯誤呢?下面來詳細分析一下錯誤原因,通過分析來得到問題解決辦法。 首先我們以一段代碼為例。 如果我們將這個代碼儲存為hello.cpp 在終端輸入g++ hello.cpp -o hello 編譯過很中肯定會報“‘cout’在此範圍中尚未聲明”錯誤。 錯誤原因: #include