首先说明使用的环境是:java和Sqlserver。 最近公司需要进行大数据量的导入操作。原来使用的是Apache POI,虽然可以实现功能,但是因为逻辑处理中需要进行许多校验,处理速度太慢,使用多线程之后也不尽如人意。在网上搜索之后,找到了OPENROWSET和OPENDATASOURCE,发现使 ...
分类:
数据库 时间:
2016-08-30 17:29:56
阅读次数:
231
大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程, ...
分类:
移动开发 时间:
2016-08-30 13:26:22
阅读次数:
210
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序。 当代码中包含数据竞争时,程序的执行往往产生违反直觉的结果(前一章的示例正是如此)。如果一个多线程程序能正确 ...
分类:
编程语言 时间:
2016-08-30 07:09:48
阅读次数:
209
唔,来自疯狂安卓这本书 首先自己建个布局 然后去主文件 本来这个线程想干点别的,太晚了就按书上栗子吧~ 最最简单的多线程处理吧大概,反正UI主线程不能有别的请求,避免异常。所以网络啊啥的扔到别的线程里面。 ...
分类:
编程语言 时间:
2016-08-30 01:43:57
阅读次数:
216
经常看到一些类,有的说线程安全,有的说线程不安全,顿时懵逼。 线程安全不安全,主要是在多线程执行的情况下,如果由于线程之间抢占资源而造成程序的bug即为线程不安全,下面就拿arraylist 和Vector来举个例子: 这里的arraylist 是线程不安全的,Vector是线程安全的 运行结构: ...
分类:
编程语言 时间:
2016-08-30 00:27:20
阅读次数:
159
1.对于一个单进程的程序来说,我们打印十行数据,查看需要的时间 打印出结果: 2.但是当我们使用多线程来实现该程序的时候: 我们查看到结果是无序的切时间上是同一时间执行的: 1、一个应用程序可以是多进程,多线程。 2、默认单进程、单线程 3、单进程、多线程执行,在IO操作(不使用CPU,例如音频,视 ...
分类:
编程语言 时间:
2016-08-29 22:23:05
阅读次数:
226
今天弄了半天才弄好mac上的openmp,一方面智商下限,另一方面竟然发现网上也没有什么详细过程,特意把我的配置过程贴上来 多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括open ...
分类:
系统相关 时间:
2016-08-29 22:15:57
阅读次数:
218
volatile英文含义为易变的,是java的一个关键字,可以实现同步的部分功能。volatile可以看做轻量级的synchronized。synchronized可以实现同步的可见性和原子性。volatile只可以实现可见性,即保证多线程的每次读取操作均可以读到最新的值;因未实现同步的原子性要求,不可用于..
分类:
其他好文 时间:
2016-08-29 20:53:50
阅读次数:
122
协同程序与线程差不多,也就是一条执行序列:有自己独立的栈、局部变量、指令指针,以及和其他协同程序共享的全局变量和其他大部分东西。 两者区别在于:一个多线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行。 一个具有多个协同程序的程序在任意时刻只能运行一个协同程序,而且正在运行的协同程序只会 ...
分类:
其他好文 时间:
2016-08-29 19:28:40
阅读次数:
165
Java语言的关键点 掌握静态方法和属性 重视接口 学好集合框架 例外捕捉 多线程需要理解机理(多线程原理和多线程安全) 了解网络编程 不需要精通,掌握以下知识点,面试基本没有问题。 这里没有列举大数据方面的知识点 若是有高并发,大数据,程序部署、项目架构的工作经验,如虎添翼 Java基础编程 Ja ...
分类:
编程语言 时间:
2016-08-29 19:25:31
阅读次数:
138