批处理

Java-JDBC调用批处理、存储过程、事务

房东的猫 提交于 2019-12-19 05:38:06
一、使用Batch批量处理数据库 当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。; 1、实现批处理有两种方式,第一种方式: Statement.addBatch(sql) list 执行批处理SQL语句 executeBatch()方法:执行批处理命令 clearBatch()方法:清除批处理命令 例: Connection conn = null; Statement st = null; ResultSet rs = null; try { conn = JDBCManager.getConnection(); String sql1 = "insert into user(name,password,email,birthday) values('kkk','123','abc@sina.com','1978-08-08')"; String sql2 = "update user set password='123456' where id=3"; st = conn.createStatement(); st.addBatch(sql1); //把SQL语句加入到批命令中 st.addBatch(sql2); //把SQL语句加入到批命令中 st.executeBatch(); } finally{

PHP curl_multi_init函数

為{幸葍}努か 提交于 2019-12-18 22:56:01
curl_multi_init — 返回一个新cURL批处理句柄 说明 resource curl_multi_init ( void ) 允许并行地处理批处理cURL句柄。 参数 此函数没有参数。 返回值 成功时返回一个cURL批处理句柄,失败时返回FALSE。 实例 这个范例将会创建2个cURL句柄,把它们加到批处理句柄,然后并行地运行它们。 <?php // 创建一对cURL资源 $ch1 = curl_init(); $ch2 = curl_init(); // 设置URL和相应的选项 curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch1, CURLOPT_HEADER, 0); curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/"); curl_setopt($ch2, CURLOPT_HEADER, 0); // 创建批处理cURL句柄 $mh = curl_multi_init(); // 增加2个句柄 curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $running=null; // 执行批处理句柄 do { usleep(10000)

批处理copy某一路径下文件

我的梦境 提交于 2019-12-18 00:35:21
windows bat批处理复制文件操作(提取后缀名是xml文件)、 代码如下:已经测试过的没问题!! 说明:该脚本需要传入两个参数,第一个参数是把需要拷贝的文件复制到那,第二个参数是源文件目录的路径 @ECHO OFF :: 开启延迟变量 setlocal enabledelayedexpansion ::目的文件路径 set "tag1=%1" set "tag2=%2" echo !tag1! echo !tag2! ::源文件路径 set "sourceFolder=" ::模块名称 set "modualName=" ::遍历该路径下面的文件夹 for /d %%i in ("%2\*") do ( set "sourceFolder=%%i" ::set foderName=!sourceFolder! call :print !sourceFolder! :: 两个!!是获取延迟变量的值 echo !sourceFolder! call :Dealfilepath !modualName! ) ::结束 goto :eof :Dealfilepath ::拼接后的路径 set subFolder=!sourceFolder!\Docs xcopy %subFolder%\*.xml !tag1!\%1\ /Y goto :eof :print rem

Spring Batch基本概念

≯℡__Kan透↙ 提交于 2019-12-17 08:57:33
Spring batch主要有以下部分组成: JobRepository    用来注册job的容器 JobLauncher 用来启动Job的接口 Job 实际执行的任务,包含一个或多个Step Step step包含ItemReader、ItemProcessor和ItemWriter ItemReader 用来读取数据的接口 ItemProcessor 用来处理数据的接口 ItemWriter 用来输出数据的接口 以上Spring Batch的主要组成部分只需要注册成Spring的Bean即可。若想开启批处理的支持还需在配置类上使用@EnableBatchProcessing,在Spring Batch中提供了大量的ItemReader和ItemWriter的实现,用来读取不同的数据来源,数据的处理和校验都要通过ItemProcessor接口实现来完成。 Spring批处理的基本单元是Job,你需要定义一个Job代表一次批处理工作,每个Job分很多步骤step,每个步骤里面有两种处理方式Tasklet(可重复执行的小任务)和Chunk(块),掌握Spring Batch主要是将这几个核心概念搞清楚。 在SpringBoot架构下,我们只要做一个JobConfig组件作为 JobLauncher ,使用@Configuration配置

管理员权限运行批处理的几种方法

≡放荡痞女 提交于 2019-12-16 15:55:23
原文: 管理员权限运行批处理的几种方法 废话不说。解决win7运行批处理出错不能注册dll等问题。 1.在批处理的第一行加入: cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行。 2.右键任务栏,选择资源管理器, 进程 选项卡 , 显示所有用户的进程, 结束explorer,文件-新建任务 explorer,此时选中 “利用管理特权创建此任务". 桌面显示完成后就可以直接双击批处理运行了。 3.使用第三方提权工具,例如elevate ,用法elevate -c regsvr32 demo_doreg.dll 这种方法需要在每个提权的命令前都要加上 elevate -c ,这种第三方工具适合于1个或者少个需要提权的情况。 http://code.kliu.org/misc 4.使用 bat to exe conver ter 1.51 把批处理转换为exe,在转换的时候 有选项可以选择 admin 权限。 使用此软件时最好关掉360和其他杀软,因为软件好像要upx加壳。 http://www.softpedia.com/get/System/File-Management/Batch-To-Exe-Converter.shtml 1和4 两项适合分发给其他人员部署,第2条还是自己保留着当压箱底的吧。 ----------------------------------

实时计算框架 Spark: Lightning-fast cluster computing

大兔子大兔子 提交于 2019-12-15 21:38:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> real-time processing framework 实时计算框架 Real-time processing denotes processing, transforming and analyzing data on the fly Spark : Apache Spark has an advanced DAG execution engine that supports acyclic data flow and in-memory computing. Spark Stream : 实时流数据处理器(跟 apache storm 一样?distributed realtime computation system. spark stream vs apache storm 两者的一篇比较文章 ) Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. Data can be ingested from many sources like Kafka,

EXE文件安装成windows服务

血红的双手。 提交于 2019-12-14 19:32:37
srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。 资源下载 你可以通过下载并安装Microsoft Windows Resource Kits 获得或者直接在本文下载。   示例中的控制台程序仅仅是向当前路径不停的写入时间。    srvany    测试程序    测试程序(含控制台项目) 如何使用 当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,这里使用instsrv,语法如下:  安装 instsrv ServiceName C:\Windows\System32\srvany.exe  卸载 instsrv ServiceName remove   (ServiceName 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。) 安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径

批处理作业调度_分支限界法

旧时模样 提交于 2019-12-14 16:44:28
一、 问题描述 给定 n 个作业的集合 j = {j1, j2, …, jn}。每一个作业 j[i] 都有两项任务分别在两台机器上完成。每一个作业必须先由机器1 处理,然后由机器2处理。作业 j[i] 需要机器 j 的处理时间为 t[j][i] ,其中i = 1, 2, …, n, j = 1, 2。对于一个确定的作业 调度,设F[j][i]是作业 i 在机器 j 上的完成处理的时间。所有作 业在机器2上完成处理的时间之和 f = sigma F[2][i] 称为该作业 调度的完成时间之和。 批处理作业调度问题要求对于给定的 n 个作业,制定最佳作业调度 方案,使其完成时间和达到最小。 二、 解题思路及所选算法策略的可行性分析 用优先队列式分支限界法解决此问题。由于要从n个作业的所有排列中找出有最小完成时间和的作业调度,所以批处理作业调度问题的解空间树是一颗排列树。对于批处理作业调度问题,可以证明存在最佳作业调度使得在机器1和机器2上作业以相同次序完成(因为每个作业必须先在机器1上完成作业才能在机器2上进行作业)。 如果对于未安排的作业,对于其中一个作业,每当该作业在机器1上完成处理后都能立即在机器2上开始处理,则机器1没有空闲时间,达到满工作状态,将此情况的未安排作业在机器2上的工作时间总和记为S1,同理将机器2满工作状态的情况下的工作时间总和记为S2,则必有:

优化

非 Y 不嫁゛ 提交于 2019-12-13 12:41:37
WeTest 导读 做了大概半年多VR应用了,VR由于双眼double渲染的原因,对性能的优化要求比较高,在项目的进展过程中,总结了一些关于移动平台上Unity3D的性能优化经验,供分享。 一、移动平台硬件架构 移动平台无论是Android 还是 IOS 用的都是统一内存架构,GPU和CPU共享一个物理内存,通常我们有“显存”和“内存”两种叫法,可以认为是这块物理内存的所有者不同,当这段映射到cpu,就是通常意义上的内存;当映射到gpu,就是通常意义上的显存。并且同一段物理内存同一时刻只会映射到一个device。 即使是在同一物理内存上 ,之前的openGL ES规范中CPU和GPU之间的内存是不能共享的,vertex和texture的buffer是需要拷贝的。后面出来的vulkan 与IOS的metal 可以共享内存。 了解了移动平台的硬件架构,就知道了 1)CPU 2) 带宽 3) GPU 4) 内存 都有可能成为移动平台3D应用性能瓶颈。 二、移动平台3D应用的画面渲染过程 1、CPU通过调用绘制命令(称为一次Draw Call)来告诉GPU开始进行一个渲染过程的。一个Draw Call命令会指向本次绘制需要渲染的信息,这些信息包括:顶点数据、纹理数据、shader参数(光照模型、法线方向、光照方向等)等,简单地说就 画什么,用什么画,怎么画。 2、GPU接收到Draw

Unity 资源优化方法及移动设备上优化

元气小坏坏 提交于 2019-12-12 16:50:52
1、光照烘焙(Baked Lighting) 关闭实时阴影,得到实时阴影的物体将无法被批处理,导致大量的额外绘制调用的开销。在PC上,你仅能通过单一的即时方向光来得到不错的动态阴影,但在移动端请用烘焙好的光照,不要用实时阴影。 2、纹理集合(Texture Atlasing) 每个不同材质都会至少导致一个新的绘制调用,你可能会以为一个木头门和铁椅子必须使用不同的材质,毕竟它们使用了不同的纹理。但是如果它们能使用同样的着色器,你可以使用纹理集合来创建一个材质,同时兼容这两个物体。 一个纹理集合其实就是一个大纹理贴图,里面包含了各种各样的小纹理。你可以让某个材质加载几个纹理而非让一堆材质加载一堆纹理,每个物体都能通过不同的纹理映射来加载这个纹理集合上的不同坐标位置的一小片纹理。你也可以在绘制管线中手动生成纹理集,Juan Sebastian的Pro Draw Call Optimizer工具非常有用,它可以生成纹理集,并且在替换新对象时不会搞混资源。 3、动态批处理(Dynamic Batching) 移动非静态物品也能被动态批处理为单一绘制调用,这对于CPU来说开销较大,每帧都经过计算,但就优化最终结果来说还是不错的。不过要注意的是这只对低于900个顶点并有着同样材质的物体才有用,使用纹理集合来为你的动态物体创建一个单一材质,然后你就能得到简单的动态批处理了。 4、多细节层次