java
文章平均质量分 61
狼图腾-狼之传说
专注数据挖掘,自然语言处理,信息检索。
展开
-
ConcurrentHashMap原理分析
一.Java并发基础当一个对象或变量可以被多个线程共享的时候,就有可能使得程序的逻辑出现问题。在一个对象中有一个变量i=0,有两个线程A,B都想对i加1,这个时候便有问题显现出来,关键就是对i加1的这个过程不是原子操作。要想对i进行递增,第一步就是获取i的值,当A获取i的值为0,在A将新的值写入A之前,B也获取了A的值0,然后A写入,i变成1,然后B也写入i,i这个时候依然是1.当然java的内存转载 2012-10-17 15:52:43 · 1176 阅读 · 0 评论 -
Logger.getLogger()和LogFactory.getLog()的区别
1.Logger.getLogger()是使用log4j的方式记录日志;2.LogFactory.getLog()则来自apache的common-logging包。关于common-logging的一点说明:common-logging只是一个日志接口,开发人员可以利用它来使用不同的日志工具而使用相同的代码,它的底层实现则调用了相应的日志记录工具,如JDK自带的日志工具,转载 2013-02-19 14:51:26 · 2324 阅读 · 0 评论 -
Log4j 日志级别
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level),static Level DEBUGDEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。static Level INFOINFO level表明 消息在粗粒度级别上突出强调应用转载 2013-03-06 16:22:04 · 554 阅读 · 0 评论 -
研发专业用词
UC-需求分析文档PRD产品需求文档(Product Requirement Document,PRD)的英文简称。是将商业需求文档(BRD)和市场需求文档(MRD)用更加专业的语言进行描述。BRD为“商业需求描述”的英语缩写,全称为:Business Requirement DocumentMRD市场需求文档,(英文全称 Market Requirement原创 2012-12-05 09:52:36 · 573 阅读 · 0 评论 -
Top 10 Java Debugging Tips with Eclipse(Eclipse调试Java的10个技巧)
在本教程中,我们将看到使用Eclipse调试Java应用程序。调试可以帮助我们识别和解决应用程序中的缺陷。我们将重点放在运行时间的问题,而不是编译时错误。有提供像gdb的命令行调试器。在本教程中,我们将集中在基于GUI的调试,我们把我们最喜爱的IDE Eclipse来运行,通过本教程。虽然我们说的Eclipse,点大多是通用的,适用于调试使用的IDE像NetBeans。在看这篇文章前,我推转载 2013-02-27 20:14:15 · 483 阅读 · 0 评论 -
CopyOnWriteArrayList理解与理解
CopyOnWriteArrayList,因何而存在?ArrayList的一个线程安全的变体,其所有可变操作(add、set 等)都是通过对底层数组进行一次新的复制来实现的,代价昂贵。CopyOnWriteArrayList,是因”并发”而生。CopyOnWriteArrayList,改了其中的某对象的某个值,【场景一】对于Array转载 2013-03-01 14:44:47 · 567 阅读 · 0 评论 -
JNA编程之二:数据类型映射
以下关于C/C++及Java数据类型间的映射关系摘自JNA官网,由于笔者英语水平有限就不做翻译了,但是只要你曾经是个C/C++程序员,估计能领悟到它的具体意思。Default Type MappingsJava primitive types (and their object equivalents) map directly to the native C type of转载 2013-04-02 11:40:37 · 6759 阅读 · 0 评论 -
JNA编程之三:调用自定义的C动态库并支持回调
在文章《JNA编程之一:入门》中已经介绍了如何通过JNA调用Linux系统自带的libc.so动态库的printf函数,现在再通过一个简单的例子介绍如何通过JNA调用自己编写的C动态库并在动态库中调用Java的函数(回调)。0. 备注:操作系统:Ubuntu-10.10工作用户:rootJDK版本:1.6&1.7开发环境:eclipse转载 2013-04-02 11:41:28 · 1363 阅读 · 0 评论 -
JNA编程之四:直接函数映射
在JNA官网上还介绍了另外一种调用C/C++动态库的方式:直接函数(方法)映射。其编程方法非常简单,连接口定义都免了,只需在类声明中使用关键字native声明动态库的函数,然后在调用动态库的函数之前先调用Native.register方法注册(加载)动态库即可。 下面给出一个调用本地数学函数库的示例,该示例中分别调用了动态库中的cos、sin和pow进行数学计算。代码如下:转载 2013-04-02 11:42:09 · 1045 阅读 · 0 评论 -
web.xml 详细介绍
1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取和两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 3、容器将转换为键值对,并交给servletContext。 4、容器创建中的类实例,创建监听器。 二 Load-on-startupLoad转载 2013-03-19 16:21:42 · 529 阅读 · 0 评论 -
JNA编程之一:入门
自从接触Java编程以来,有个问题一直缠绕着我:怎样才能在Java中调用以前用C/C++开发的劳动成果(函数库)?于是开始百度、Google了若干下,初步发现有个叫JNI的“小伙子”,一下子把它的简介读完后,让人觉得仿佛要“围着Java打转转”的味道。对于我这个一直钟情于C语言开发的人来说,有点难以接受:“别太嚣张了,厚道点嘛,C/C++才是真正的老大啊”。于是继续搜索,幸好Java还是有点“自知转载 2013-04-02 11:39:39 · 1158 阅读 · 0 评论 -
svn新建分支
1. 电脑里任何一个地方右键:2. checkout:3. 确定,等待下载完毕4.然后右键下载的工程文件夹:5.选择branch/tag...6.修改。。。branchs/之后的分支名字为自定义分支名字7.创建分支完毕原创 2012-12-28 17:03:39 · 582 阅读 · 0 评论 -
Struts2的工作机制
struts2的整体架构: Struts2的工作机制 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很转载 2012-12-28 19:31:16 · 513 阅读 · 0 评论 -
jvm参数
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下OOM的常见情况: 第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出: 那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了:转载 2012-11-05 15:34:20 · 3425 阅读 · 0 评论 -
单例模式(Singleton Pattern)
前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。 Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double check转载 2012-11-06 14:40:26 · 461 阅读 · 0 评论 -
eclipse下切换svn用户 (换用户登录)
在eclipse中经常用到用svn进行代码版本控制,为了提交或更新代码的时候不反复地提示我们输入用户名和密码,于是我们 就习惯把访问SVN的用户名密码自动保存起来。以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名, 就有些麻烦了,下面是二种解决办法: 1、通过删除SVN客户端的账号配置文件 1)查看你的Eclipse中使用的是什么SVN Interfa转载 2012-11-15 09:32:29 · 610 阅读 · 0 评论 -
java byte 数据类型(基础)
基础view sourceprint?01package com.suypower.chengyu.test;02 03public class ByteTest {04转载 2012-11-16 11:30:44 · 613 阅读 · 0 评论 -
Spring 2.5中JdbcTemplate类query方法的三种回调接口
使用三种Callback接口作为参数的query方法的返回值不同: 以ResultSetExtractor作为方法参数的query方法返回Object型结果,要使用查询结果,我们需要对其进行强制转型; 以RowMapper接口作为方法参数的query方法直接返回List型的结果; 以RowCallbackHandler作为方法参数的query方法,返回值为void; RowC转载 2012-11-16 14:38:33 · 702 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。?import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLi转载 2012-11-21 17:38:56 · 491 阅读 · 0 评论 -
单例模式(Singleton Pattern)
单例模式最要关心的则是对象创建的次数以及何时被创建。Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoade转载 2012-11-22 10:51:30 · 352 阅读 · 0 评论 -
JDK6.0 Collection
1.新集合接口.(1)Deque:双端队列,支持两端的插入和移出,扩展了Queue。(2)BlockingDeque:支持接下来操作的Deque,当读取一个元素时,等待Deque成为非空;当存储一个元素时,等待空间可用。扩展了Deque和BlockingQueue。这个接口是java.util.concurrent的一部分。(3)NavigableSet:扩展了导航方法,为了给定搜索目转载 2012-12-05 17:38:05 · 1009 阅读 · 0 评论 -
SVN分支与合并透析
作者:fbysssmsn:jameslastchina@hotmail.com blog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处关键字:svn分支合并1.创建分支的意义创建分支的意义,比如我们在一个基础平台上进行开发,每个技术小组负责一个子项目,而基础平台也是有可能会继续更改的,这个时候,如果不创建分支,子项目之间会相互影响,转载 2012-12-28 18:14:37 · 558 阅读 · 0 评论 -
Java调用.dll文件
因为项目的需求,要在JAVA项目中调用Windows的Dll(动态链接库)文件,之前用Jni调用过C写的Dll文件,比较麻烦,这里不多说,网上也有很多这方面的文档。在网上找到一个开源的组件JNative,使用后感觉比较方便。下截JNative组件jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2解压JNative转载 2013-03-21 09:51:41 · 892 阅读 · 0 评论 -
Intellij IDEA使用总结
1. IDEA内存优化 先看看你机器本身的配置而配置. \IntelliJ IDEA 8\bin\idea.exe.vmoptions ----------------------------------------- -Xms64m -Xmx256m -XX:MaxPermSize=92m -ea -server -Dsun.awt.keepWorkingSe转载 2013-03-22 17:53:06 · 813 阅读 · 0 评论 -
linux下svn安装与客户端配置(多次安装,一直没有问题)
文章转自http://songxj.blog.51cto.com/620981/396113SVN简介SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。 SVN中的一些概念 : a. repository(源代码库) 源代码统一存放的地方 b. Checkout转载 2012-04-13 16:07:35 · 690 阅读 · 0 评论 -
java如何调用libsvm
由于比赛需要用到libsvm,自己鼓捣了一下午,才真正弄明白libsvm怎么用java调用,走了不少弯路。一开始有个误会,只调用了其中的jar包,其实不是这样的。下载过libsvm后,大多数东东都写好了,没必要再自己写了。下面介绍下,该怎么用java调用libsvm,我下的是今年愚人节那天更新的3.12版本的,最新版。下载地址在台湾大学教授林智仁的主页,我想这个链接就不用提供了。我只根据自己的体验转载 2013-05-30 14:23:01 · 6070 阅读 · 2 评论 -
linux无法启动mySQL解决办法,MySQL is running but PID file could not be found
今天博主打开网站时出现了502 bad gateway错误,不知道是什么原因,于是就想重启一下lnmp,执行了命令:/root/lnmp restart可是这个时候问题出现了,mySQL启动不了了,一直停在 mySQL Started.............................................,ctrl+c 结束任务,然后执行命令查看状态:/etc/ini转载 2013-09-26 11:43:17 · 10829 阅读 · 0 评论 -
Java date format 时间格式化
import java.util.Date;import java.text.DateFormat;/*** 格式化时间类* DateFormat.FULL = 0* DateFormat.DEFAULT = 2* DateFormat.LONG = 1* DateFormat.MEDIUM = 2* DateFormat.SHORT = 3* @autho转载 2013-09-28 14:23:14 · 729 阅读 · 0 评论 -
Eclipse:java.lang.OutOfMemoryError: Java heap space解决方法
Eclispe 中出现java.lang.OutOfMemoryError: Java heap space,这时候就需要在Eclipse ->run -arguments 中的VM arguments 中输入-Xms32m -Xmx800m这个参数即可解决。原创 2013-10-16 18:40:21 · 879 阅读 · 0 评论 -
java对象复制举例
private Object propertyChange(Object object){try {return (Object) BeanUtils.cloneBean(object);} catch (Exception e) {logger.info("CrawlResult clone failed!");} return null;}原创 2013-11-15 09:54:46 · 770 阅读 · 0 评论 -
Eclipse用法和技巧二十一:工程的展示途径
用eclipse阅读代码的时候,有时候代码会变成如图一所示的样子,有时候可能是图二的样子。为什么有时候是图一有时候是图二,笔者也不是很清楚。不过怎么手动设置成图一图二,就是接下来要讲的东西。1 2 步骤一:点击package explorer的倒三角,选择package presentation转载 2014-05-05 17:36:50 · 774 阅读 · 0 评论 -
Java 环境下使用 AES 加密的特殊问题处理
在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理。1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误Invalid AES key length 你需要下载一个支持更长密钥的包。这个包叫做 Java Cryptography Extension (JCE) Unlimi转载 2015-04-09 15:19:46 · 1956 阅读 · 0 评论 -
eclipse maven工程注意
eclipse中的profiles文件的参数配置,需要复制到pom.xml文件中然后右键pom文件,选择maven,在选择Select Maven Profiles....,然后选择一个profile id原创 2015-04-09 15:39:58 · 625 阅读 · 0 评论 -
配置org.springframework.scheduling.quartz.CronTriggerBean
在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的资料与自己在项目中写的简单地在此写一下,以备需要时查阅。 一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年;其中年不是必须的,也就是说任何一个表达式最少需要六项。例:0 0 12 ? * WED 表示每个转载 2015-04-17 10:16:13 · 812 阅读 · 0 评论 -
try-catch影响性能吗?
try-catch会影响性能吗? try-catch放在循环块里面比放在外面程序运行会慢吗?看到论坛上有人对try-catch对性能的影响存在疑问,比如:http://www.iteye.com/topic/1127950很多想当然的答案是: try-catch放在循环块里面肯定比放在循环块外面慢.但是, 这个想当然的答案是错误的. 加了try-ca转载 2015-04-21 20:57:47 · 3328 阅读 · 0 评论 -
万能框架spring(二)maven结合spring与ibatis
一、前言上次讲了Struts结合Spring并使用Spring的JdbcTemplate来搭建工程框架后我们面临着jar库无法管理,工程发布不方便,jar包在工程内太占空间,jar包冲突,管理,甚至漏包都问题。于是我们在讲“万能框架spring(二)”前,传授了一篇番外篇,即讲利用maven来管理我们的jar库。从今天开始我们将结合“万能框架spring(一)”与番外篇maven来更进一步转载 2013-05-12 19:14:27 · 902 阅读 · 0 评论 -
Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图: 安装成成之后我们在Eclipse菜单栏中点击File->New->Othe转载 2013-05-24 17:45:33 · 591 阅读 · 0 评论 -
搜索引擎网页去重算法分析
相关统计数据表明:互联网上近似重复的网页的数量占网页总数量的比例高达29%,完全相同的网页大约占网页总数量的22%.研究表明,在一个大型的信息采集系统中,30%的网页是和另外70%的网页完全重复或近似重复的。即:互联网的网页中相当高的比例的网页内容是近似相同或完全相同的!搜索爬虫抓取会产生网页重复的类型:1.多个URL地址指向同一网页以及镜像站点如:www.sina.com 和ww转载 2013-04-10 15:02:03 · 1289 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: Unable to load library
jna导入DLL总是出现,如下这样的错误, Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library ' test/test.dll ': ???????¨可能的原因: 1.路径不对,改对路径就行了。 2.jdk是64位的也会出现这个问题,换成32位的就OK了。原创 2013-04-06 23:05:51 · 2483 阅读 · 0 评论 -
java final 关键字
根据上下文环境,java的关键字final也存在着细微的区别,但通常指的是“这是无法改变的。”不想改变的理由由两种:一种是效率,另一种是设计。由于两个原因相差很远,所以关键子final可能被吴用。 接下来介绍一下使用到fianl的三中情况:数据,方法,类。 final数据 许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的。有时数据的恒定不变是很有用的,转载 2013-04-15 11:18:35 · 575 阅读 · 0 评论