1. 程式人生 > >JDBC編譯與預編譯的效能比較

JDBC編譯與預編譯的效能比較

編譯與預編譯的效能比較

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class TestJDBC {
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver"
); } catch (ClassNotFoundException e) { e.printStackTrace(); } int count = 1000; long start = System.currentTimeMillis(); insertByPreparedStatment(count); long end = System.currentTimeMillis(); System.out.printf("使用預編譯Statement插入%d條資料,耗時: %d毫秒%n"
, count, end - start); start = System.currentTimeMillis(); insertStatment(count); end = System.currentTimeMillis(); System.out.printf("使用Statement插入%d條資料,耗時: %d 毫秒%n", count, end - start); } private static void insertByPreparedStatment(int count) { String sql = "insert into hero values(null,?,?,?)"
; try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); PreparedStatement ps = c.prepareStatement(sql);) { for (int i = 0; i < count; i++) { ps.setString(1, "提莫"); ps.setFloat(2, 313.0f); ps.setInt(3, 50); ps.execute(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void insertStatment(int count) { try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); Statement s = c.createStatement();) { for (int i = 0; i < count; i++) { String sql = "insert into hero values(null," + "'提莫'" + "," + i + "," + i + ")"; s.execute(sql); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

相關推薦

JDBC編譯編譯效能比較

編譯與預編譯的效能比較 package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

JDBC程式設計之編譯SQL防注入式攻擊以及PreparedStatement

  在JDBC程式設計中,常用Statement、PreparedStatement 和 CallableStatement三種方式來執行查詢語句,其中 Statement 用於通用查詢, PreparedStatement 用於執行引數化查詢,而 CallableState

撩課-JavaWeb之Statement介面編譯語句及呼叫儲存過程

Statement介面 介面 Statement介面作用 用於進行Java程式和資料庫之間的資料傳輸 具體類有3個實現 Statement 用於對資料庫進行通用訪問,使用的是靜態sql PreparedStatement PreparedSta

【深入Java虛擬機】之七:Javac編譯JIT編譯

p s ots 基本 關鍵字 目前 關註 script 和數 語言 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/18009455 編譯過程 不論是物理機還是虛擬機,大部分的程序代碼從開始編譯到最終轉化

Javac編譯JIT編譯

傳統 中標 最小 關註 pil 開始 類構造 所有 src Javac編譯與JIT編譯 通常javac將程序源代碼編譯,轉換成java字節碼,JVM通過解釋字節碼將其翻譯成對應的機器指令,逐條讀入,逐條解釋翻譯。很顯然,經過解釋執行,其執行速度必然會比可執行的二進制字節碼

使用 apktool 工具對 Android APK 進行反編譯編譯

原文:https://testerhome.com/topics/12075?locale=zh-TW keytool -genkey -keystore ~/bm.keystore -alias bm -keyalg RSA -validity 10000 jarsigner -v

array_push $arr[]=$value 效能比較分析

本文簡要分析一下php中array_push與$arr[] = $value兩種將元素加入陣列末尾的方法的效能 1. array_push方法 array_push 方法,將一個或多個元素壓入陣列的末尾。array_push() 將array當成一個棧,並將傳入的變數壓入array的末尾。a

Linux系統移植——裝置樹檔案編譯編譯

裝置樹檔案編譯與反編譯 一、裝置樹編譯 有兩種方式 1、將裝置樹檔案拷貝到核心原始碼的arch/*(處理器平臺)/boot/dts/*(廠家)/目錄下,    執行make dtbs 2、dtc -I dts -O dtb  *.dts > my.dtb 二、裝置

MapList查詢效能比較

@Test  public void mapTest(){   /*    * 比較順序查詢和雜湊查詢的效能    */   //建立線性表集合   List<String> list=    new ArrayList<String>();   /

指標引用的效能比較

我們先來看一下傳指標與傳引用的效率方面的對比吧 本質上來說了,傳引用是一個變數的別名而已。並沒有開闢新的空間。而指標了是指向一個空間對應一個空間的地址 好吧,我們分別通過兩者效率,和本質方面看一下兩者之間的區別吧。 -首先看一下兩者的效率 看程式碼 #inclu

【深入Java虛擬機器】之七:Javac編譯JIT編譯

編譯過程     不論是物理機還是虛擬機器,大部分的程式程式碼從開始編譯到最終轉化成物理機的目的碼或虛擬機器能執行的指令集之前,都會按照如下圖所示的各個步驟進行:     其中綠色的模組可

嵌入式 iptables靜態編譯動態編譯

    Linux下支援netfilter機制的配置工具就是iptables,它也就相當與一個應用程式,可以對netfilter進行配置(包過濾規則,NAT等等)。所以要實現netfilter(iptables)就要從兩方面來著手:1)核心支援netfilter;2)使用者層的iptables配置命令。1) 

編譯編譯GNU Linux語言檔案方法

/*********************************************************************  * Author  : Samson  * Date    : 11/21/2014  * Test platform:  * 

docker虛擬機器效能比較

概要 docker是近年來新興的虛擬化工具,它可以和虛擬機器一樣實現資源和系統環境的隔離。本文將主要根據IBM發表的研究報告,論述docker與傳統虛擬化方式的不同之處,並比較物理機、docker容器、虛擬機器三者的效能差異及差異產生的原理。

ARM之編譯交叉編譯

gcc和arm-linux-gcc的常用選項gcc的使用方法:gcc [選項] 檔名 gcc常用選項:  -v:檢視gcc編譯器的版本,顯示gcc執行時的詳細過程  -o <file>                Place the output into &l

EDK2編譯OVMF編譯

新版EDK修正了許多bug並且已經支援VS2015,這裡就是在VS2015的環境下操作的。 首先下載EDK2 EDK2官方下載 這裡下載的EDK2一開始式沒有Win32編譯環境的,需要自己編譯: 開啟CMD,定位到EDK2的BaseTools下,輸入ge

java javac編譯JIT編譯

Javac的工作流程: 原始碼——詞法分析器——Token流——語法分析器——語法樹——語義分析器——註解語法樹——程式碼生成器——位元組碼 1)詞法分析 讀取原始碼,一個位元組一個位元組地讀進來,找到這些位元組中哪些是定義的語法關鍵詞,如Java中的if、else、for、while等關鍵詞,要識別哪些

原生ServletSpring Controller效能比較

  在實際專案工作,有同事提出,Java原生的Servlet效能(響應速度與併發數)要比封裝過的Spring Controller高,基於這點,樓主用Apache的ab工具,對兩個簡單的應用做1000併發壓力測試,檢視兩者的響應速度與併發數、平均響應時間等引數。 原生

Java程式碼的編譯編譯那些事兒

程式語言 在介紹編譯和反編譯之前,我們先來簡單介紹下程式語言(Programming Language)。程式語言(Programming Language)分為低階語言(Low-level Language)和高階語言(High-level Language)。 機器語言(Machine Language)

jdbc編譯拼接sql對比

在jdbc中,有三種方式執行sql,分別是使用Statement(sql拼接),PreparedStatement(預編譯),還有一種CallableStatement(儲存過程),在這裡我就不介紹CallableStatement了,我們來看看St