锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品久久久久久久午夜片,在线高清一区,欧美96在线丨欧http://m.shnenglu.com/aaxron/璁板綍淇鐨勫嵃璁? zh-cnSun, 16 Nov 2025 12:15:45 GMTSun, 16 Nov 2025 12:15:45 GMT60鍗曟枃浠禔ES鍔犺В瀵嗙畻娉?/title><link>http://m.shnenglu.com/aaxron/archive/2021/08/30/217802.html</link><dc:creator>澶╀笅</dc:creator><author>澶╀笅</author><pubDate>Mon, 30 Aug 2021 13:39:00 GMT</pubDate><guid>http://m.shnenglu.com/aaxron/archive/2021/08/30/217802.html</guid><wfw:comment>http://m.shnenglu.com/aaxron/comments/217802.html</wfw:comment><comments>http://m.shnenglu.com/aaxron/archive/2021/08/30/217802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/aaxron/comments/commentRss/217802.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/aaxron/services/trackbacks/217802.html</trackback:ping><description><![CDATA[#pragma once   #include <stdint.h>  //for int8_t #include <string.h>  //for memcmp #include <wmmintrin.h> //for intrinsics for AES-NI //compile using gcc and following arguments: -g;-O0;-Wall;-msse2;-msse;-march=native;-maes //internal stuff   //macros #define DO_ENC_BLOCK(m,k) \     do{\      m = _mm_xor_si128  (m, k[ 0]); \      m = _mm_aesenc_si128 (m, k[ 1]); \      m = _mm_aesenc_si128 (m, k[ 2]); \      m = _mm_aesenc_si128 (m, k[ 3]); \      m = _mm_aesenc_si128 (m, k[ 4]); \      m = _mm_aesenc_si128 (m, k[ 5]); \      m = _mm_aesenc_si128 (m, k[ 6]); \      m = _mm_aesenc_si128 (m, k[ 7]); \      m = _mm_aesenc_si128 (m, k[ 8]); \      m = _mm_aesenc_si128 (m, k[ 9]); \      m = _mm_aesenclast_si128(m, k[10]);\     }while(0)   #define DO_DEC_BLOCK(m,k) \     do{\      m = _mm_xor_si128  (m, k[10+0]); \      m = _mm_aesdec_si128 (m, k[10+1]); \      m = _mm_aesdec_si128 (m, k[10+2]); \      m = _mm_aesdec_si128 (m, k[10+3]); \      m = _mm_aesdec_si128 (m, k[10+4]); \      m = _mm_aesdec_si128 (m, k[10+5]); \      m = _mm_aesdec_si128 (m, k[10+6]); \      m = _mm_aesdec_si128 (m, k[10+7]); \      m = _mm_aesdec_si128 (m, k[10+8]); \      m = _mm_aesdec_si128 (m, k[10+9]); \      m = _mm_aesdeclast_si128(m, k[0]);\     }while(0)   #define AES_128_key_exp(k, rcon) aes_128_key_expansion(k, _mm_aeskeygenassist_si128(k, rcon))   static __m128i aes_128_key_expansion(__m128i key, __m128i keygened) {     keygened = _mm_shuffle_epi32(keygened, _MM_SHUFFLE(3,3,3,3));     key = _mm_xor_si128(key, _mm_slli_si128(key, 4));     key = _mm_xor_si128(key, _mm_slli_si128(key, 4));     key = _mm_xor_si128(key, _mm_slli_si128(key, 4));     return _mm_xor_si128(key, keygened); }   //public API static void aes128_load_key_enc_only(uint8_t *enc_key, __m128i *key_schedule) {     key_schedule[0] = _mm_loadu_si128((const __m128i*) enc_key);     key_schedule[1] = AES_128_key_exp(key_schedule[0], 0x01);     key_schedule[2] = AES_128_key_exp(key_schedule[1], 0x02);     key_schedule[3] = AES_128_key_exp(key_schedule[2], 0x04);     key_schedule[4] = AES_128_key_exp(key_schedule[3], 0x08);     key_schedule[5] = AES_128_key_exp(key_schedule[4], 0x10);     key_schedule[6] = AES_128_key_exp(key_schedule[5], 0x20);     key_schedule[7] = AES_128_key_exp(key_schedule[6], 0x40);     key_schedule[8] = AES_128_key_exp(key_schedule[7], 0x80);     key_schedule[9] = AES_128_key_exp(key_schedule[8], 0x1B);     key_schedule[10] = AES_128_key_exp(key_schedule[9], 0x36); }   static void aes128_load_key(uint8_t *enc_key, __m128i *key_schedule) {     aes128_load_key_enc_only(enc_key, key_schedule);       // generate decryption keys in reverse order.     // k[10] is shared by last encryption and first decryption rounds     // k[0] is shared by first encryption round and last decryption round (and is the original user key)     // For some implementation reasons, decryption key schedule is NOT the encryption key schedule in reverse order     key_schedule[11] = _mm_aesimc_si128(key_schedule[9]);     key_schedule[12] = _mm_aesimc_si128(key_schedule[8]);     key_schedule[13] = _mm_aesimc_si128(key_schedule[7]);     key_schedule[14] = _mm_aesimc_si128(key_schedule[6]);     key_schedule[15] = _mm_aesimc_si128(key_schedule[5]);     key_schedule[16] = _mm_aesimc_si128(key_schedule[4]);     key_schedule[17] = _mm_aesimc_si128(key_schedule[3]);     key_schedule[18] = _mm_aesimc_si128(key_schedule[2]);     key_schedule[19] = _mm_aesimc_si128(key_schedule[1]); }   static void aes128_enc(__m128i *key_schedule, uint8_t *plainText,uint8_t *cipherText) {     __m128i m = _mm_loadu_si128((__m128i *) plainText);     DO_ENC_BLOCK(m,key_schedule);     _mm_storeu_si128((__m128i *) cipherText, m); }   static void aes128_dec(__m128i *key_schedule, uint8_t *cipherText,uint8_t *plainText) {     __m128i m = _mm_loadu_si128((__m128i *) cipherText);     DO_DEC_BLOCK(m,key_schedule);     _mm_storeu_si128((__m128i *) plainText, m); }   //return 0 if no error //1 if encryption failed //2 if decryption failed //3 if both failed static int aes128_self_test(void) {     uint8_t plain[]  = {0x32, 0x43, 0xf6, 0xa8, 0x88, 0x5a, 0x30, 0x8d, 0x31, 0x31, 0x98, 0xa2, 0xe0, 0x37, 0x07, 0x34};     uint8_t enc_key[] = {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c};     uint8_t cipher[]  = {0x39, 0x25, 0x84, 0x1d, 0x02, 0xdc, 0x09, 0xfb, 0xdc, 0x11, 0x85, 0x97, 0x19, 0x6a, 0x0b, 0x32};     uint8_t computed_cipher[16];     uint8_t computed_plain[16];     int out=0;     __m128i key_schedule[20];     aes128_load_key(enc_key,key_schedule);     aes128_enc(key_schedule,plain,computed_cipher);     aes128_dec(key_schedule,cipher,computed_plain);     if(memcmp(cipher,computed_cipher,sizeof(cipher))) out=1;     if(memcmp(plain,computed_plain,sizeof(plain))) out|=2;     return out; }<img src ="http://m.shnenglu.com/aaxron/aggbug/217802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/aaxron/" target="_blank">澶╀笅</a> 2021-08-30 21:39 <a href="http://m.shnenglu.com/aaxron/archive/2021/08/30/217802.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Qt鐘舵佹満浠g爜渚嬪瓙http://m.shnenglu.com/aaxron/archive/2021/03/31/217647.html澶╀笅澶╀笅Wed, 31 Mar 2021 13:12:00 GMThttp://m.shnenglu.com/aaxron/archive/2021/03/31/217647.htmlhttp://m.shnenglu.com/aaxron/comments/217647.htmlhttp://m.shnenglu.com/aaxron/archive/2021/03/31/217647.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/217647.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/217647.html#include "stdafx.h"
#include "qtapplication03.h"
#include "ButtonChanged.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton button("State Machine");
QStateMachine machine;
ButtonChanged* bc = new ButtonChanged(&machine);
QState* s1 = new QState(&machine);
QState* s2 = new QState(&machine);
QState* s3 = new QState(&machine);
s1->assignProperty(&button, "geometry", QRect(100, 100, 120, 50));
s2->assignProperty(&button, "geometry", QRect(100, 100, 220, 50));
s3->assignProperty(&button, "geometry", QRect(100, 100, 320, 50));
s1->addTransition(&button, SIGNAL(clicked()), s2);
s2->addTransition(&button, SIGNAL(clicked()), s3);
s3->addTransition(&button, SIGNAL(clicked()), s1);
machine.setInitialState(s1);
machine.start();
button.show();
QObject::connect(s3, &QState::entered, bc, &ButtonChanged::changed);
return a.exec();
}


澶╀笅 2021-03-31 21:12 鍙戣〃璇勮
]]>
JavaFX BindingTest3http://m.shnenglu.com/aaxron/archive/2020/01/01/217053.html澶╀笅澶╀笅Wed, 01 Jan 2020 05:47:00 GMThttp://m.shnenglu.com/aaxron/archive/2020/01/01/217053.htmlhttp://m.shnenglu.com/aaxron/comments/217053.htmlhttp://m.shnenglu.com/aaxron/archive/2020/01/01/217053.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/217053.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/217053.htmlpackage application.chapter2;

import javafx.beans.binding.NumberBinding;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.value.ObservableValue;

public class BindingTest3 {

    public static void main(String[] args) {
        IntegerProperty x = new SimpleIntegerProperty(100);
        IntegerProperty y = new SimpleIntegerProperty(200);
        // Create a binding: sum = x + y
        NumberBinding sum = x.add(y);
        System.out.println("After creating sum");
        System.out.println("sum.isValid(): " + sum.isValid());
        // Let us get the value of sum, so it computes its value and
        
// becomes valid
        int value = sum.intValue();
        System.out.println("\nAfter requesting value");
        System.out.println("sum.isValid(): " + sum.isValid());
        System.out.println("sum = " + value);
        // Change the value of x
        x.set(250);
        System.out.println("\nAfter changing x");
        System.out.println("sum.isValid(): " + sum.isValid());
        // Get the value of sum again
        value = sum.intValue();
        System.out.println("\nAfter requesting value");
        System.out.println("sum.isValid(): " + sum.isValid());
        System.out.println("sum = " + value);
    }
}

澶╀笅 2020-01-01 13:47 鍙戣〃璇勮
]]>
JavaFX PropertyTest2 http://m.shnenglu.com/aaxron/archive/2020/01/01/217052.html澶╀笅澶╀笅Wed, 01 Jan 2020 05:19:00 GMThttp://m.shnenglu.com/aaxron/archive/2020/01/01/217052.htmlhttp://m.shnenglu.com/aaxron/comments/217052.htmlhttp://m.shnenglu.com/aaxron/archive/2020/01/01/217052.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/217052.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/217052.htmlpackage application.chapter2;

import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.value.ObservableValue;

public class PropertyTest2 {

    public static void main(String[] args) {
        IntegerProperty counter = new SimpleIntegerProperty(100);
        // Add an invalidation listener to the counter property
        counter.addListener(PropertyTest2::changed);
        System.out.println("Before changing the counter value-1");
        counter.set(101);
        System.out.println("After changing the counter value-1");
        /*
         * At this point counter property is invalid and further changes to its value
         * will not generate invalidation events.
         
*/
        System.out.println("\nBefore changing the counter value-2");
        counter.set(102);
        System.out.println("After changing the counter value-2");
        // Make the counter property valid by calling its get() method
        int value = counter.get();
        System.out.println("Counter value = " + value);
        /*
         * At this point counter property is valid and further changes to its value will
         * generate invalidation events.
         
*/
        // Try to set the same value
        System.out.println("\nBefore changing the counter value-3");
        counter.set(102);
        System.out.println("After changing the counter value-3");
        // Try to set a different value
        System.out.println("\nBefore changing the counter value-4");
        counter.set(103);
        System.out.println("After changing the counter value-4");
    }

    public static void changed(ObservableValue<? extends Number> prop,Number oldValue,Number newValue) {
        System.out.print("Counter changed: ");
        System.out.println("Old = " + oldValue + ", new = " + newValue);
    }
}

澶╀笅 2020-01-01 13:19 鍙戣〃璇勮
]]>
2銆丳ass a string to/from Java to/from CTag(s): JNIhttp://m.shnenglu.com/aaxron/archive/2019/12/06/217014.html澶╀笅澶╀笅Fri, 06 Dec 2019 02:53:00 GMThttp://m.shnenglu.com/aaxron/archive/2019/12/06/217014.htmlhttp://m.shnenglu.com/aaxron/comments/217014.htmlhttp://m.shnenglu.com/aaxron/archive/2019/12/06/217014.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/217014.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/217014.htmlPass a string to/from Java to/from CTag(s): JNI
To Java from C (as seen from the previous How-to) :
#include "JavaHowTo.h" 

JNIEXPORT jstring JNICALL Java_JavaHowTo_sayHello
  (JNIEnv *env, jobject obj) {
    return  env->NewStringUTF("Hello world");
}
From Java to C : Suppose we have a Java Class
public class MyClass {
  public String sayHello(){
     return  "Hello world From Java";
  }
}
then from C, we want to call the Java sayHello() method which returns a String :
JNIEXPORT void JNICALL Java_JavaHowTo_sayHello(JNIEnv *env, jobject obj) 
{
    const char *str;
  
    jclass myclass_class =(jclass) env->NewGlobalRef 
         (env->FindClass ("MyClass"));
        
    // we need the MyClass constructor    
    jmethodID constructorID = env->GetMethodID
         (myclass_class, "", "()V");
         
    // and the sayHello() method
    jmethodID methodID = env->GetMethodID
         (myclass_class, "sayHello", "()Ljava/lang/String;");

    // instanciate a MyClass object
    jobject myclass_object =  env->NewObject
         (myclass_class, constructorID);
    
    // call the sayHello() method
    jstring s = (jstring)  env->CallObjectMethod
         (myclass_object, methodID);
    
    // convert the Java String to use it in C
    str = env->GetStringUTFChars(s, 0);
    printf("%s" , str);
    env->ReleaseStringUTFChars(s, str);  
}

The Java JNI wrapper would be
class JavaHowTo {
  public native void sayHello();
  static {
    System.loadLibrary("javahowto"); 
  }
}
And finally, to use it
public class JNIJavaHowTo {
  public static void main(String[] args) {
    JavaHowTo jht = new JavaHowTo();
    jht.sayHello();
    }
}









澶╀笅 2019-12-06 10:53 鍙戣〃璇勮
]]>
1銆乁se native code through JNI (HelloWorld)http://m.shnenglu.com/aaxron/archive/2019/12/06/217013.html澶╀笅澶╀笅Fri, 06 Dec 2019 02:50:00 GMThttp://m.shnenglu.com/aaxron/archive/2019/12/06/217013.htmlhttp://m.shnenglu.com/aaxron/comments/217013.htmlhttp://m.shnenglu.com/aaxron/archive/2019/12/06/217013.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/217013.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/217013.htmlhttps://www.rgagnon.com/topics/java-jni.html

 

Use native code through JNI (HelloWorld)

Use native code through JNITag(s): JNI

With MSVC6, create a new Win32 DLL project (simple) and call it javahowto.

In the same directory create a java source called JavaHowTo.java 
class JavaHowTo {
  public native String sayHello();
  static {
    System.loadLibrary("javahowto"); 
  }
}
Compile the Java program and use javah utility to generate the JavaHowTo.h header file.
javah -jni JavaHowTo
In MSVC6, add the JavaHowTo.h in your project header files
In the Tools - Options menu, set the include directories to include the Java JNI headers files. They are located in [jdk dir]\include and [jdk dir]\include\win32 directories
In the javahowto.cpp source, add
#include "JavaHowTo.h" 

JNIEXPORT jstring JNICALL Java_JavaHowTo_sayHello
  (JNIEnv *env, jobject obj) {
    return  env->NewStringUTF("Hello world");
}
Select the Release configuration and build the project.
Copy the javahowto.dll in the same directory as the java program.
Create this new java program
public class JNIJavaHowTo {
  public static void main(String[] args) {
    JavaHowTo jht = new JavaHowTo();
    System.out.println(jht.sayHello());
    }
}
Compile and execute.







澶╀笅 2019-12-06 10:50 鍙戣〃璇勮
]]>
Oracle鍒嗛〉http://m.shnenglu.com/aaxron/archive/2019/08/15/216694.html澶╀笅澶╀笅Thu, 15 Aug 2019 08:32:00 GMThttp://m.shnenglu.com/aaxron/archive/2019/08/15/216694.htmlhttp://m.shnenglu.com/aaxron/comments/216694.htmlhttp://m.shnenglu.com/aaxron/archive/2019/08/15/216694.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/216694.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/216694.html
Oracle鍒嗛〉

鏌ヨ璇彞:
select * FROM A_WECHAT WHERE 1=1

鏌ヨ璁板綍鎬繪暟:
SELECT nvl(count(*),0as totalNum 
FROM (
    select * FROM A_WECHAT WHERE 1=1
where 1=1


鍒嗛〉:

 SELECT 
    * 
FROM 
    ( 
        SELECT 
            TIN.*, ROWNUM AS rowno 
        FROM 
            ( 
          select * FROM A_WECHAT WHERE 1=1 order by OPENID desc
            ) TIN 
        WHERE 
            ROWNUM <= 50     ) TOUT 
WHERE 
    TOUT.rowno >= 1 


澶╀笅 2019-08-15 16:32 鍙戣〃璇勮
]]>
c#鏉′歡緙栬瘧http://m.shnenglu.com/aaxron/archive/2019/06/26/216462.html澶╀笅澶╀笅Wed, 26 Jun 2019 10:03:00 GMThttp://m.shnenglu.com/aaxron/archive/2019/06/26/216462.htmlhttp://m.shnenglu.com/aaxron/comments/216462.htmlhttp://m.shnenglu.com/aaxron/archive/2019/06/26/216462.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/216462.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/216462.html Conditional compilation symbols
緙栬瘧鍣ㄥ懡浠よ閫夐」錛堜緥濡傦紝/define:DEBUG錛?
    鍙互鍦╒S2008鐨処DE榪涜璁劇疆, Project Property--->Build--->Conditional compilation symbols(濡傛灉澶氫釜縐戠爺浣跨敤閫楀彿闅斿紑)
    緋葷粺榛樿璁劇疆浜?DEBUG 鍜?TRACE
鎿嶄綔緋葷粺澶栧3紼嬪簭涓殑鐜鍙橀噺錛堜緥濡傦紝set DEBUG=1錛夈?/div>
婧愪唬鐮佷腑鐨勬潅娉紙渚嬪錛岀敤浜庡畾涔夌紪璇戝彉閲忕殑 #define DEBUG錛屼互鍙婄敤浜庡彇娑堝畾涔夊畠鐨?#undef DEBUG錛夈?/div>
     蹇呴』鍦╢ile鐨勬渶鍓嶆柟璁劇疆,#define debug鎴栬呯粍鍚堟搷浣?/div>
    #if (Debug && Trace)
        #define DebugAndTrace 
    #endif
ps:Conditional浣嶄簬using System.Diagnostics;
浠涔堟儏鍐典笅浣跨敤璇ユ爣璇嗙?
褰撶▼搴忎腑涓涓柟娉曟垨灞炴т笉鎯沖啀浣跨敤鏃?濡傛灉鎶婂畠鍒犳帀灝遍渶瑕佹妸寮曠敤鐨勫湴鏂逛竴涓竴涓叏閮ㄥ垹鎺変笉鐒跺氨浼氱紪璇戦敊璇?榪欐椂鎴戜滑灝卞彲浠ュ湪濉旂殑涓婇潰鍔犱竴涓猍Conditional("string")] 鐒跺悗紼嬪簭榪愯鏃跺氨浼氬拷鐣ュ畠
ps:[Conditional("string")]閲岄潰瀛楃涓查殢鎰忓彇  
濡傛灉鎯沖啀嬈¤皟鐢ㄩ偅涓柟娉曟垨灞炴ф庝箞鍔?
榪欎釜寰堢畝鍗?浣犲彧闇鍦ㄥ紩鐢ㄥ懡鍚嶇┖闂撮偅涓湴鏂硅繘琛屼竴涓畯瀹氫箟鎶婁綘鍦╗Conditional("string")]閲岄潰鐨勫瓧絎︿覆瀹氫箟鍑烘潵灝辮兘鐢ㄤ簡
C#-#define鏉′歡緙栬瘧
C#鐨勯澶勭悊鍣ㄦ寚浠や粠鏉ヤ笉浼氳漿鍖栦負鍙墽琛屼唬鐮佺殑鍛戒護錛屼絾鏄細褰卞搷緙栬瘧榪囩▼鐨勫悇涓柟闈紝甯哥敤鐨勯澶勭悊鍣ㄦ寚浠ゆ湁#define銆?undef銆?if,#elif,#else鍜?endif絳夌瓑錛屼笅闈粙緇岰#涓嬌鐢?define榪涜鏉′歡緙栬瘧鐨勫疄渚嬨?/div>
C#涓潯浠剁紪璇戞寚浠ょ敤浜庢寜鏉′歡鍖呭惈鎴栨帓闄ゆ簮鏂囦歡涓殑鏌愪簺閮ㄥ垎銆傚湪Visual Studio涓紝浼氱湅鍒拌鎺掗櫎鐨勪唬鐮佹樉紺轟負鐏拌壊銆?/div>
涓銆?define鍙互鐢ㄦ潵鍋氫粈涔?/div>
1銆佸綋璁″垝鍙戝竷涓や釜鐗堟湰鐨勪唬鐮佺殑鏃跺欍傚嵆鍩烘湰鐗堝拰鎷ユ湁鏇村鐗堟湰鐨勪紒涓氱増錛屽氨鍙互鐢ㄥ埌鏉′歡緙栬瘧鎸囦護錛?/div>
2銆佷緥濡傚悓涓涓枃浠剁粰silverlight銆亀pf銆亀inform絳変嬌鐢紝騫朵笖榪樿冭檻Debug鍜孯elease絳夛紝鏈夊ぇ閮ㄥ垎浠g爜鏄竴鏍風殑錛?/div>
3銆佹寚瀹氬嚱鏁板拰灞炴ф槸鍚︾紪璇戝埌鏈緇堜駭鍝佷腑鍘匯?/div>
浜屻?define鐢ㄦ硶
璇硶錛?define 鍚嶇О
娉ㄦ剰錛氳繖閲屽悕縐板彇Debug錛屼綘涔熷彲浠ュ彇鍏朵粬鍚嶇О濡侱ragon
1 #define Debug
璇存槑錛?/div>
1銆丏ebug鍙互鐪嬪仛鏄0鏄庣殑涓涓彉閲忥紝浣嗘鍙橀噺娌℃湁鐪熸鐨勫鹼紝瀛樺湪鏃?if Debug緇撴灉涓簍rue錛屽惁鍒欎負false錛?/div>
2銆?define鍗曠嫭鐢ㄦ病浠涔堟剰涔夛紝涓鑸槸鍜?if鎴栬匔onditional鐗規х粨鍚堜嬌鐢紱
3銆?define蹇呴』瀹氫箟鍦ㄦ墍鏈塽sing鍛藉悕絀洪棿鍓嶉潰錛?/div>
4銆丏ebug涓嶥EBUG鏄笉鍚岀殑錛孋#鍖哄垎澶у皬鍐?/div>
 


澶╀笅 2019-06-26 18:03 鍙戣〃璇勮
]]>spring 瀹樻柟涓嬭澆鍦板潃錛圫pring Framework 3.2.x&Spring Framework 4.0.x錛?/title><link>http://m.shnenglu.com/aaxron/archive/2019/02/12/216238.html</link><dc:creator>澶╀笅</dc:creator><author>澶╀笅</author><pubDate>Tue, 12 Feb 2019 03:44:00 GMT</pubDate><guid>http://m.shnenglu.com/aaxron/archive/2019/02/12/216238.html</guid><wfw:comment>http://m.shnenglu.com/aaxron/comments/216238.html</wfw:comment><comments>http://m.shnenglu.com/aaxron/archive/2019/02/12/216238.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/aaxron/comments/commentRss/216238.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/aaxron/services/trackbacks/216238.html</trackback:ping><description><![CDATA[<p>spring 瀹樻柟涓嬭澆鍦板潃錛圫pring Framework 3.2.x&Spring Framework 4.0.x錛?br />2017騫?2鏈?4鏃?15:53:59 </p> <p>SPRING瀹樻柟緗戠珯鏀圭増鍚庯紝寤鴻閮芥槸閫氳繃 Maven鍜孏radle涓嬭澆錛屽涓嶄嬌鐢∕aven鍜孏radle寮鍙戦」鐩殑錛屼笅杞藉氨闈炲父楹葷儲錛屼笅緇欏嚭Spring Framework jar瀹樻柟鐩存帴涓嬭澆璺緞:</p> <p><a >http://repo.spring.io/libs-release-local/org/springframework/spring/</a></p> <p> </p> <p>spring 4.0.x(Spring Framework 4.0.5)涓嬭澆</p> <p><a >http://repo.spring.io/libs-release-local/org/springframework/spring/4.0.5.RELEASE/spring-framework-4.0.5.RELEASE-dist.zip</a></p> <p> </p> <p>spring 3.2.x錛圫pring Framework 3.2.9錛変笅杞斤細</p> <p><a >http://repo.spring.io/libs-release-local/org/springframework/spring/3.2.9.RELEASE/spring-framework-3.2.9.RELEASE-dist.zip</a></p> <p> </p> <p> </p> <p>spring 3.2.x錛圫pring Framework 3.2.4錛変笅杞斤細</p> <p><a >http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEASE/spring-framework-3.2.4.RELEASE-dist.zip</a></p> <p><br /> </p> <p>鍙pring security涓嬭澆璺緞錛?/p> <p><a >http://repo.spring.io/libs-release-local/org/springframework/security/spring-security/</a></p> <p><a >http://repo.spring.io/libs-release-local/org/springframework/security/spring-security/3.2.4.RELEASE/spring-security-3.2.4.RELEASE-dist.zip</a></p><img src ="http://m.shnenglu.com/aaxron/aggbug/216238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/aaxron/" target="_blank">澶╀笅</a> 2019-02-12 11:44 <a href="http://m.shnenglu.com/aaxron/archive/2019/02/12/216238.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>spring婧愮爜鍒嗘瀽錛?錛堿nnotationMethodHandlerAdapterhttp://m.shnenglu.com/aaxron/archive/2018/04/11/215585.html澶╀笅澶╀笅Wed, 11 Apr 2018 08:40:00 GMThttp://m.shnenglu.com/aaxron/archive/2018/04/11/215585.htmlhttp://m.shnenglu.com/aaxron/comments/215585.htmlhttp://m.shnenglu.com/aaxron/archive/2018/04/11/215585.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/215585.htmlhttp://m.shnenglu.com/aaxron/services/trackbacks/215585.htmlpublic class AnnotationMethodHandlerAdapter extends WebContentGenerator
        
implements HandlerAdapter, Ordered, BeanFactoryAware {
    
//

    
public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        
return invokeHandlerMethod(request, response, handler);
    }

    
protected ModelAndView invokeHandlerMethod(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        ServletHandlerMethodResolver methodResolver 
= getMethodResolver(handler);
        Method handlerMethod 
= methodResolver.resolveHandlerMethod(request);
        ServletHandlerMethodInvoker methodInvoker 
= new ServletHandlerMethodInvoker(methodResolver);
        ServletWebRequest webRequest 
= new ServletWebRequest(request, response);
        ExtendedModelMap implicitModel 
= new BindingAwareModelMap();

        Object result 
= methodInvoker.invokeHandlerMethod(handlerMethod, handler, webRequest, implicitModel);
        ModelAndView mav 
=
                methodInvoker.getModelAndView(handlerMethod, handler.getClass(), result, implicitModel, webRequest);
        methodInvoker.updateModelAttributes(handler, (mav 
!= null ? mav.getModel() : null), implicitModel, webRequest);
        
return mav;
    }

    
public ModelAndView getModelAndView(Method handlerMethod, Class<?> handlerType, Object returnValue,
            ExtendedModelMap implicitModel, ServletWebRequest webRequest) 
throws Exception {}
}


鍏朵粬
public final class Method extends Executable {
    
public Object invoke(Object obj, Object args)
    
throws IllegalAccessException, IllegalArgumentException,InvocationTargetException
    {
        
if (!override) {
            
if (!Reflection.quickCheckMemberAccess(clazz, modifiers)) {
                Class
<?> caller = Reflection.getCallerClass();
                checkAccess(caller, clazz, obj, modifiers);
            }
        }
        MethodAccessor ma 
= methodAccessor;             // read volatile
        if (ma == null) {
            ma 
= acquireMethodAccessor();
        }
        
return ma.invoke(obj, args);
    }
}
public class ModelMap extends LinkedHashMap<String, Object> {}

public abstract class AbstractView extends WebApplicationObjectSupport implements View, BeanNameAware {
    
/**
     * Prepares the view given the specified model, merging it with static
     * attributes and a RequestContext attribute, if necessary.
     * Delegates to renderMergedOutputModel for the actual rendering.
     * 
@see #renderMergedOutputModel
     
*/
    @Override
    
public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
        
if (logger.isTraceEnabled()) {
            logger.trace(
"Rendering view with name '" + this.beanName + "' with model " + model +
                
" and static attributes " + this.staticAttributes);
        }

        Map
<String, Object> mergedModel = createMergedOutputModel(model, request, response);
        prepareResponse(request, response);
        renderMergedOutputModel(mergedModel, getRequestToExpose(request), response);
    }
}
浠g爜錛?br />

澶╀笅 2018-04-11 16:40 鍙戣〃璇勮
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品va在线| 这里只有精品丝袜| 一本一本久久a久久精品综合妖精| 国产精品久久久久9999吃药| 欧美日韩国产成人| 欧美日韩国产黄| 国产精品日韩在线观看| 国产精品最新自拍| 狠狠入ady亚洲精品| 亚洲国产精品一区二区尤物区| 亚洲高清三级视频| aa国产精品| 欧美在线视频不卡| 欧美承认网站| 99成人精品| 欧美一级艳片视频免费观看| 久久综合网色—综合色88| 欧美理论在线播放| 国产毛片精品视频| 亚洲韩国精品一区| 亚洲综合丁香| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲男人的天堂在线观看| 久久精品国产第一区二区三区| 乱中年女人伦av一区二区| 亚洲乱亚洲高清| 久久九九全国免费精品观看| 欧美精品一区二区精品网| 国产麻豆综合| 一区二区三区免费看| 美日韩精品视频| 亚洲女优在线| 欧美高清一区| 国产自产精品| 午夜精品久久久久久久久| 亚洲国产精品成人综合色在线婷婷| 欧美视频一区在线观看| 先锋影音国产一区| 欧美日韩成人在线播放| 激情成人综合| 小嫩嫩精品导航| 亚洲精品乱码久久久久久日本蜜臀| 欧美在线观看网站| 国产精品久久久久久av下载红粉| 亚洲国产欧美久久| 久久久久久久久伊人| 亚洲午夜精品17c| 欧美日韩国产精品一区二区亚洲| 在线观看一区视频| 久久久噜噜噜久久| 午夜精品福利一区二区蜜股av| 欧美女人交a| 亚洲精品一区二区在线| 狼狼综合久久久久综合网| 亚洲一区日本| 国产精品一区二区三区四区五区 | 狠狠久久五月精品中文字幕| 亚洲一区二区三区国产| 亚洲国产欧美日韩| 久久免费观看视频| 在线观看国产成人av片| 久久欧美中文字幕| 久久精品99国产精品| 国产精品免费观看视频| 亚洲欧美第一页| 亚洲欧美清纯在线制服| 国产精品久久久久三级| 香蕉成人久久| 欧美一二三区精品| 雨宫琴音一区二区在线| 久久躁狠狠躁夜夜爽| 久久美女艺术照精彩视频福利播放| 国产午夜精品全部视频播放| 久久精品噜噜噜成人av农村| 久久精品女人的天堂av| 在线观看91久久久久久| 91久久在线| 国产精品捆绑调教| 久久亚洲精品一区| 亚洲伦理在线观看| 一区二区av在线| 国产精品一区二区三区四区五区| 欧美综合国产精品久久丁香| 久久精品论坛| 日韩亚洲视频| 亚洲中午字幕| 狠狠久久亚洲欧美| 亚洲精品资源| 国产啪精品视频| 欧美成人午夜激情| 国产精品成人观看视频免费| 看欧美日韩国产| 欧美日韩亚洲视频| 国产精品视频福利| 在线播放亚洲| 亚洲人成网站色ww在线| 国产精品美女久久| 猫咪成人在线观看| 欧美日本不卡高清| 久久久噜噜噜久久久| 欧美韩日一区二区| 久久久久久久久岛国免费| 欧美福利一区| 久久久久国产一区二区三区四区| 欧美高清视频一区二区| 久久超碰97人人做人人爱| 欧美激情精品久久久久久免费印度 | 国产小视频国产精品| 欧美福利网址| 国产一级一区二区| 日韩亚洲一区二区| 亚洲风情在线资源站| 亚洲欧美清纯在线制服| 亚洲视频你懂的| 久久嫩草精品久久久久| 欧美一区二区福利在线| 欧美日本亚洲韩国国产| 男人的天堂亚洲在线| 国产欧美日韩三区| 亚洲视频电影在线| 一区二区免费看| 欧美护士18xxxxhd| 免费日本视频一区| 韩日视频一区| 欧美在线1区| 久久精品国产69国产精品亚洲| 欧美午夜不卡在线观看免费| 欧美激情一区二区三区| 亚洲国产精品视频一区| 久久久久国产精品一区三寸| 欧美一区二区精美| 国产精品一级| 亚洲欧美日韩精品久久久久| 亚洲欧美日韩国产中文在线| 国产精品白丝jk黑袜喷水| 一本一本a久久| 亚洲影音一区| 国产精品人成在线观看免费| 亚洲视频在线免费观看| 亚洲女与黑人做爰| 在线观看一区| 欧美一区二区三区日韩| 久久精品国产亚洲高清剧情介绍 | 91久久久久久| 久久久久久穴| 欧美成人久久| 日韩亚洲视频在线| 欧美日韩精品免费观看视频完整| 亚洲国产精品高清久久久| 91久久精品美女| 欧美激情精品| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美一区二区三区免费观看| 欧美老女人xx| 在线一区免费观看| 久久av一区二区三区| 国产在线精品二区| 久久一二三四| 亚洲国产日韩欧美一区二区三区| 亚洲精品美女在线观看| 欧美日韩在线播放三区四区| 亚洲作爱视频| 久久久精品日韩欧美| 亚洲黄色免费电影| 国产精品福利av| 欧美一区二区三区日韩视频| 欧美激情一区二区在线| 亚洲视频一二三| 国内激情久久| 欧美日韩精品中文字幕| 午夜精品视频| 91久久黄色| 欧美在线亚洲综合一区| 亚洲精品国产欧美| 国产精品日本一区二区| 免费亚洲一区| 亚洲综合久久久久| 猫咪成人在线观看| 午夜精品影院在线观看| 亚洲国产精品999| 国产精品久久91| 久久久久久色| 性色av一区二区三区红粉影视| 欧美精品成人一区二区在线观看| 亚洲欧美在线一区| 日韩视频一区二区三区在线播放| 久久蜜桃香蕉精品一区二区三区| 在线视频亚洲一区| 亚洲韩国日本中文字幕| 国产一区二区三区直播精品电影| 欧美日本一区二区三区 | 欧美日韩另类综合| 久久美女性网| 午夜精品久久久久久久99热浪潮 | 欧美大片免费观看在线观看网站推荐| 中国女人久久久| 亚洲国产精品成人综合色在线婷婷 | 亚洲一区二区三区中文字幕| 最新高清无码专区| 悠悠资源网久久精品|