- 浏览: 162836 次
- 性别:
- 来自: 南京
最新评论
-
宋建勇:
示例不错,讲解也实在!受益了。
非主流并发工具之 ForkJoinPool -
yugouai:
我是用了0.11.0也是报同样的错误,是不是需要设置什么参数才 ...
Hive开窗函数测试-cube,rollup -
wankunde:
yugouai 写道你好,开窗函数的语法是您上面描述那样的吗? ...
Hive开窗函数测试-cube,rollup -
yugouai:
你好,开窗函数的语法是您上面描述那样的吗?hive> S ...
Hive开窗函数测试-cube,rollup -
wankunde:
yugouai 写道请问一下,什么叫hive的开窗函数?这个是 ...
Hive开窗函数测试-cube,rollup
文章列表
基本概念
为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景
To keep state with a thread (user-id, transaction-id, logging-id) To cache objects which you need frequently
ThreadLocal类
它主要由四个方法组成initialValue(),get(),set(T),remove(),其中值得注意的是initialValue(),该方法 ...
java 里面volatile
- 博客分类:
- JDK类学习
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。
而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。
使用建议:在两个或 ...
ArrayBlockingQueue是JAVA5中的一个阻塞队列,能够自定义队列大小,当插入时,如果队列已经没有空闲位置,那么新的插入线程将阻塞到该队列,一旦该队列有空闲位置,那么阻塞的线程将执行插入。从队列中取数据为:take,放数据为:put。下面的例子模拟了两个队列的插入和获取,首先在队列2中插入一个数据,启动线程2向队列2中插入数据时,该线程将阻塞在队列2等待,同时启动线程1向队列1中插入数据,由于队列1此时为空那么能够正确插入,然后从队列2中取数据,当线程1再次插入时,阻塞到队列1,此时,阻塞在队列2的线程2能够插入,并且从队列1中取数据,此时线程1能够插入,如此往复50次,并且每次插 ...
注:wait notify 都是Object的方法
同步(阻塞) :是一种防止对共享资源访问导致的数据不一致的一种模式。
详细请参看操作系统。
在Java中,由于对多线程的支持,对同步的控制主要通过以下几个方法,synchronized,和wait(),notify()和notifyAll(),下面进行一一的讲解:
A关键字synchronized
每个java对象都有一把锁, 当有多个线程同时访问共享资源的时候, 需要Synchronize 来控制安全性, synchronize 分 synchronize 方法 和synchronize块,使用synch ...
多线程复习
线程有时称为 轻量级进程。与进程一样,它们拥有通过程序运行的独立的并发路径,并且每个线程都有自己的程序计数器,称为堆栈和本地变量。然而,线程存在于进程中,它们与同一进程内的其他线程共享内存、文件句柄以及每进程状态。
一个进程中的线程是在同一个地址空间中执行的,所以多个线程可以同时访问相同对象,并且它们从同一堆栈中分配对象。
在 JDK 5.0 之前,确保线程安全的主要机制是 synchronized 原语。访问共享变量(那些可以由多个线程访问的变量)的线程必须使用同步来协调对共享变量的读写访问。
创建线程的方法:
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动 等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链
aspriseOCR使用
- 博客分类:
- OCR 识别文字 Java
1. 在官网下载文件
2. 配置DLL,经测试在JDK/bin目录下,和windows/system32 ,和放在eclipse工程根目录下面都可以。只要能加载到类库就可以了!
简单的数字都不认识!
这个。。。。。(手工处理下吧)
附上破解后的文件吧
1.NumericRangeQuery 和 highlight 不兼容?
在使用NumericRangeQuery进行数字范围查询的使用,高亮器会报错!
2.在使用TermRangeQuery进行范围查询的使用,好像是不能匹配空格?
Solr开发文档
Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。在这篇文章中,将介绍 Solr 并展示如何轻松地将其表现优异的全文本搜索功能加入到 Web 应用程序中。
开发环境:
System:Windows
WebBrowser:IE6+、Firefox3+
JDK:1.6+
JavaEE Server:tomcat5.0.2.8、tomcat6
IDE:eclipse、MyEclipse 8
开发依赖库:
JavaEE 5、solr 3.4
个人博客:
http://hoojo.cnblo ...
例子中,有对中文传递参数乱码的解决,请求XML数据的解析等等
verify.js
function verify() {
//解决中文乱麻问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(old.getBytes("iso8859-1"),"UTF-8");
//解决中文乱麻问题的方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(old,"UTF-8")
var url = "AJAXServer?n ...
JBPM4 项目发布实例搭建步骤:
单元测试部分 添加JBPM4和JUnit的Jar包 将sample/src目录下的所有配置文件拷贝到src目录下 //流程发布: processEngine = new Configuration().buildProcessEngine(); repositoryService = processEngine.getRepositoryService(); executionService = processEngine.getExecutionService(); //将定义的流程配置文件部署到数据库中 deployId = repositorySe ...
测试环境:Tomcat5.5添加的Jar包: jstl.jar standard.jar
自定义JSP标签的处理过程 <来自网上>1、在JSP中引入标签库<% @ taglib prefix=”taglibprefix” uri=”tagliburi” %>2、在JSP中使用标签库标签3、Web容器根据第二个步骤中的prefix,获得第一个步骤中声明的taglib的uri属性值4、Web容器根据uri属性在web.xml找到对应的元素 5.从元素中获得对应的元素的值6.Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件 7.从.tld文件中找到与tag ...
可以上传多个文件,网上看到的,学习下
还有一个例子是在ActionForm中有一个list来传递数据的例子
package org.jbpm.tutorial.helloworld;
import junit.framework.TestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
public class HelloWorldTest extends TestCase {
public void testHelloWorldProcess() { ...
项目需要mysql 和JBPM3的Jar包支持,自己下吧