自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (7)
  • 收藏
  • 关注

转载 线程间协作的两种方式:wait、notify、notifyAll和Condition

Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition  在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队

2016-06-19 11:54:38 3035

转载 JAVA多线程和并发基础面试问答(转载)

多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务

2016-06-19 11:53:31 517

转载 Java线程面试题 Top 50

原文链接:http://www.importnew.com/12773.html       本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。  不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰

2016-06-19 11:46:16 832

转载 Timer和TimerTask(转载)

Java并发编程:Timer和TimerTask(转载)  下面内容转载自:  http://blog.csdn.net/xieyuooo/article/details/8607220  其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:1

2016-06-19 11:44:52 451

转载 Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Jav

2016-06-19 11:43:13 327

转载 CountDownLatch、CyclicBarrier和Semaphore

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore  在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.Cy

2016-06-19 11:42:16 304

转载 线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任

2016-06-19 11:41:06 1600

转载 阻塞队列

Java并发编程:阻塞队列  在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。  在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(L

2016-06-19 11:36:49 1503

转载 并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2016-06-19 11:34:27 276

转载 并发容器之ConcurrentHashMap

Java并发编程:并发容器之ConcurrentHashMap(转载)  下面这部分内容转载自:  http://www.haogongju.net/art/2350374  JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严

2016-06-19 11:31:48 356

转载 ConcurrentModificationException异常原因和解决方法

Java ConcurrentModificationException异常原因和解决方法  在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。  以下是本文目录大纲:  一.Concurr

2016-06-19 11:30:22 670

转载 同步容器

Java并发编程:同步容器  为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。  以下是本文的目录大纲:  一.为什么会出现同步容器?  二.Java中的同步容器类  三.同步容器的缺陷  若有不正之

2016-06-19 11:28:58 363

转载 深入剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解

2016-06-19 11:27:35 572

转载 volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java

2016-06-19 11:26:28 324

转载 Lock

Java并发编程:Lock  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下

2016-06-19 11:25:28 363

转载 synchronized

Java并发编程:synchronized  虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。  以下是本文的目录大纲:  一.什么时候会出现线程安全问题?  二.如何解决线程安全问题?

2016-06-19 11:24:03 254

转载 Thread类的使用

ava并发编程:Thread类的使用  在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。  以下是本文的目录大纲:  一.线程的状态  二.上下文切换  三.Thread

2016-06-19 11:22:01 307

转载 如何创建线程

Java并发编程:如何创建线程?  在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:  一.Java中关于应用程序和进程相关的概念  二.Java中如何创建线程  三.Java中如何创建进

2016-06-19 11:19:28 1443

转载 session复制和session粘性

之前搞了weblogic和Apache的session粘性的配置,现在提一下session复制方案解决负载均衡问题,以下是tomcat apache负载均衡配置:方案:1、基于request的负载均衡(session复制 负载均衡方案)    该种方式下,负载均衡器 (load balancer)会根据各个node的状况,把每个 http request进行分发。使用这样的均衡策略,就

2014-12-18 14:16:28 2882

转载 JFreeChart 参数配置

http://developer.51cto.com/art/201112/308882.htmprivate static JFreeChart createChartPress(XYDataset xydataset,              int weekOrmonth, String title, String y, String index, String week,

2014-12-02 15:37:43 1319

转载 设置SVN忽略文件和目录(文件夹)

在多数项目中你总会有文件和目录不需要进行版本控制。这可能包括一些由编译器生成的文件,*.obj,*.lst,或许是一个用于存放可执行程序的输出文件夹。只要你提交修改,TortoiseSVN 就会在提交对话框的文件列表中显示出未版本控制文件。当然你可以关闭这个显示,不过你可能会忘记添加新的源文件。最好的避免类似问题的方法是添加参考文件到该项目的忽略列表。这样他们就永远不会出现在提交对话框中,

2014-10-22 12:04:19 925

转载 mysql数据库引擎

1 MyISAM:这种引擎是mysql最早提供的。这种引擎又可以分为静态MyISAM、动态MyISAM 和压缩MyISAM三种:    静态MyISAM:如果数据表中的各数据列的长度都是预先固定好的,服务器将自动选择这种表类型。因为数据表中每一条记录所占用的空间都是一样的,所以这种表存取和更新的效率非常高。当数据受损时,恢复工作也比较容易做。    动态MyISAM:如果数据表中出现v

2014-10-14 14:36:16 914

转载 如何将maven项目导入MyEclipse

一 安装maven第一步:下载一个免安装版的apache-maven-3.0.3.zip解压后,配置环境变量      新建M2_HOME:         在path后面添加  %M2_HOME%\bin;        第二步:编译检查环境是否配置正确;  mvn -v      二 更改maven配置文件并将maven与My

2014-09-18 11:20:41 11687

转载 redis客户端 Redisson

Redisson 是基于Redis服务之上构建的分布式、可伸缩的Java数据结构,高级的Redis客户端。【redis官方推荐】Redisson 是使用熟悉的Java数据结构来发挥Redis的威力,基于lettuce Redis客户端和Netty 4 ,兼容 Redis 2.6+ and JDK 1.6+,使用Apache License 2.0授权协议,阅读 wiki 来获取更多使用信息

2014-09-18 09:44:57 953

转载 redis windows下的环境搭建

下载地址:https://github.com/dmajkic/redis/downloads 下载下来的包里有两个,一个是32位的,一个是64位的。根据自己的实情情况选择,我的是32bit,把这个文件夹复制到其它地方,比如D:\redis 目录下。打开一个cmd窗口  使用cd命令切换目录到d:\redis  运行 redis-server.exe redis.conf  如果想

2014-09-17 16:49:16 460

原创 logj配置

xml version="1.0" encoding="UTF-8"?>  >      log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >          appender name="myConsole" class="org.apache.log4j.ConsoleAppender">          

2014-09-09 14:14:47 8359

转载 JdbcTemplate 查询

使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法1   jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong()例如下面使用queryForInt()方法传回user表中的记录数: jdbcTemplate.queryForInt("SELECT COUNT(*) FROM user");2 

2014-09-03 10:09:26 746

转载 Solr 4.x定时、实时增量索引 - 修改、删除和新增索引

开始之前,可以参考上篇博文增量索引-数据导入并索引:http://josh-persistence.iteye.com/admin/blogs/2017059           Solr增量索引配置 一、开始增量索引前的准备工作。1、认识data-config.xml中相关属性                           注意这个query只返回ID字

2014-08-28 17:22:30 16480 3

原创 全量同步索引

一、版本说明Solr版本:4.7.0数据库:sqlserver2005 二、配置步骤1、  准备的jar包1)  solr-dataimporthandler-extras-4.7.0.jar;在solr发布包solr-4.7.0\dist里面有2)  solr-dataimporthandler-4.7.0.jar;在solr发布包solr-4.7.0\dist里面有

2014-08-28 16:26:12 1871

原创 solr 常见异常

java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler配置solr服务器时一般报这个错org.apache.solr.common.SolrException: RequestHandler init failure或java.lang.ClassNotFo

2014-08-28 15:52:19 2036

原创 solr 服务端搭建

搭建服务端  下载最新版本solr-4.9.0

2014-08-21 12:00:07 1112

转载 powerDesigner生成excel版本的数据库文件

File:     pdm2excel.txt'* Title:    pdm export to excel'* Purpose:  To export the tables and columns to Excel'* Model:    Physical Data Model'* Objects:  Table, Column, View'* Author:   ziya

2014-08-18 10:13:10 1186

转载 常用dos命令

1.   h:  +回车                                          /进入H盘2.   dir +回车                                          /查看当前目录下任何属性的文件3.   Tab键                                              /快速选择文件4.  

2014-08-06 15:05:07 480

转载 TortoiseSVN提交提示423 Locked的解决方法

TortoiseSVN提交提示423 Locked的解决办法首先选择要提交的文件右键菜单:“TortoiseSVN->get locks”在对话框的左下角有个steal the locks选项,勾选这个选项,你就可以窃取别人的锁。然后你就成为锁的拥有者,然后commit提交即可。commit之后,点击TortoiseSVN->release locks,即可释放锁。

2014-07-09 10:49:20 3924

转载 一致性 hash 算法( consistent hashing )

1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;hash(object)%N一切都运行正常,再考虑如下的两种情况;1 一个 cache 服务器 m down 掉了(在实际应用中

2014-05-08 18:09:47 427

转载 遍历Map的四种方法

public static void main(String[] args) {  Map map = new HashMap();  map.put("1", "value1");  map.put("2", "value2");  map.put("3", "value3");    //第一种:普遍使用,二次取值  System.out.println("

2014-05-08 17:31:01 1378

转载 sql解释执行顺序

在查询中逻辑查询和物理查询有着本质的区别,SQL不同于其它编程的最明显的特征就是处理代码的顺序,虽然总是最先写SELECT 但是几乎总在最后执行,那到底是怎么一个执行顺序呢 如下的sql查询语句执行顺序(1)from(3) join(2) on(4) where(5)group by(6) with (7)having(8)

2014-04-30 17:31:41 547

原创 Oracle索引类型-参考

Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理使用资源,使那些已经运行了几个小时甚至几天的进程在几分钟得以完成,这样会使您立刻成为一位英雄。下面就将简单的讨论每个索引选项。下面讨论的索引类型:B树索引(默认类型)位图索引HASH

2014-04-30 17:05:59 12563 1

原创 oracle 常用的函数

-----------orcal常用函数-----------------获取一个字符串的ASCIIselect ASCII('B') from dual;-----得到数值  N  指定的字符 select CHR(66) from dual;-----获取字符长度select length('1sfsdsdfsdfsdfsd') from dual;----

2014-04-29 09:53:53 621

转载 spring 定时任务的 执行时间设置规则

单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:1.秒(0–59)2.分钟(0–59)3.小时(0–23

2014-04-22 19:16:45 580

BASE64Encoder.jar

BASE64Encode 编码。手懒不愿意自己弄得话,可以下载导进去。里面附带着源代码,也可将源代码开进去直接使用,希望能帮助大家。

2015-11-30

quartz-1.8.5.tar.gz

quartz-1.8.5.tar.gz 定时调度

2015-09-16

urlrewritefilter-4.0.3.jar 下载

urlrewritefilter-4.0.3 用户处理伪静态

2015-09-01

ajax jsonp 跨域处理

ajax jsonp 跨域处理

2013-02-26

ehcache学习文档

:EHCache 是一个快速的、轻量级的、易于使用的、进程内的缓存。它支持 read-only 和 read/write 缓存,内存和磁盘缓存。是一个非常轻量级的缓存实现。改文档包含了ehcache缓存技术相关的内容,实现页面级的缓存以及完成集群设计的过程

2012-06-27

Swing布局,控件及事件的用法

详细介绍swing 控件,包括布局,几乎所有控件使用,事件等.....

2012-02-10

Swing基本标签使用

几乎覆盖所有swing标签 的使用,拖拉控件即可实现自己想要的效果

2012-02-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除