文章分类 - JAVA
JAVA一些文章收集!
摘要:类锁和对象锁是否会冲突?对象锁和私有锁是否会冲突?通过实例来进行说明。一、相关约定为了明确后文的描述,先对本文涉及到的锁的相关定义作如下约定:1. 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class)的代码段,如下文中的increa...
阅读全文
摘要:I am using a 3rd party Java API to get results from Google Search Appliance in my Spring based web project. The URL the API constructed seem correct. ...
阅读全文
摘要:最近用到了HttpClient写爬虫,可能我有新版本强迫症,老是喜欢用新版本的东西(虽说新版本不一定好用),然后就用了HttpClient 4.3。HttpClient这货和Lucene一样,每个版本的API都变化很大,这有点让人头疼。就好比创建一个HttpClient对象吧,每一个版本的都不一样,...
阅读全文
摘要:1、写一个HttpRequestUtils工具类,包括post请求和get请求?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596...
阅读全文
摘要:是的,因为生命周期的原因。方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向一个对象。 首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁。问题就来了,如果外部类的方法中的变量不定义final,那么当外部类方法执行完...
阅读全文
摘要:如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,它们对该成员变量是彼此影响的,也就是说一个线程对成员变量的改变会影响到另一个线程。如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝(即便是同一个对象中的方法的局部变量,也会对每一个线程有一个拷贝),一个线程对该局部变...
阅读全文
摘要:1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻...
阅读全文
摘要:获取上个月第一天的方法:Calendarcalendar=Calendar.getInstance();calendar.add(Calendar.MONTH,-1);calendar.set(Calendar.DAY_OF_MONTH,1);获取上个月最后一天的方法,这个稍微要变通一下,先将日期设...
阅读全文
摘要:流水号格式为yyyyMMddXXXX,规定每天只能到9999,代码如下:01import java.text.DecimalFormat;02import java.text.SimpleDateFormat;03import java.util.Date;0405public class Prim...
阅读全文
摘要:单例模式,有“懒汉式”和“饿汉式”两种。懒汉式单例类的实例在第一次被引用时候才被初始化。public class Singleton { private static Singleton instance=null; private Singleton() { ...
阅读全文
摘要:本教程使用Myeclipse内置插件生成java代码,网上说这是xfire插件,不管怎样,生成和调用客户端代码都十分简单。1.在项目上右键,选择New->Other->WebService->WebServiceClient->Next,会看到以下界面:这里可以选择wsdl文件,也可以写上wsdl的...
阅读全文
摘要:Java代码1.importjava.util.*;2.publicclassobject{3.publicstaticvoidmain(String[]args){4.Stringstr1=newString("abcde");5.Stringstr2=newString("abcde");6.S...
阅读全文
摘要:一、Timer概述在Java开发中,会碰到一些需要定时或者延时执行某些任务的需求,这时,我们可以使用Java中的Timer类实现。二、Timer介绍Timer是一个定时器类,通过该类可以为指定的定时任务进行配置,所在jar包路径:java.util.TimerTimer定时器实例有多种构造方法:Ti...
阅读全文
摘要:java多线程的难点是在:处理多个线程同步与并发运行时线程间的通信问题。java在处理线程同步时,常用方法有:1、synchronized关键字。2、Lock显示加锁。3、信号量Semaphore。线程同步问题引入: 创建一个银行账户Account类,在创建并启动100个线程往同一个Account类...
阅读全文
摘要:在很多情况下我们都需要将一个对象转换为String类型。一般来说有三种方法可以实现:Object.toString()、(String)Object、String.valueOf(Object)。下面对这三种方法一一分析一、采用Object.toString()toString方法是java.lan...
阅读全文
摘要:项目使用spring+mybatis组合。所以就必须得使用mybatis-spring了。所以此处就昨日mybatis-spring从1.1升级到1.2所带来的dao层级的编写问题,做了一个总结。我们可以先来看看mybatis-spring框架的1.1.1版本中关于SqlSessionDaoSupp...
阅读全文
摘要:注意:①xml中的标签顺序不能随便调换,否则会提示错误②MyBatis使用自带的数据库连接池,不直接支持第三方连接池,不过网上有创建第三方连接池的方法③以前别名()可以在sqlMap标签中创建,但现在需要在configuration标签中创建④该配置文件可随意取名,在读取配置文件时指定该XML文件路...
阅读全文
摘要:在java web项目中虽然可以通过request.getParameterMap()很轻松的获得参数Map,但得到的Map和普通Map是不一样的,是被锁定的,不能像操作常规Map那样进行put、get等操作,该方法将得到参数Map返回为可操作的普通Map标签: Java request getPa...
阅读全文
摘要:一般情况下,我们用ibatis都是传入一个参数,这个参数可以为一个类,一个字符串,一个整型等等,例如:在方法体里可以用:password = (String)sqlMapClient.queryForObject("selectpw", userid)得到password。但是有时候我们却想从前面传...
阅读全文
摘要:项目开发中在很多地方可能会遇到同时插入多条记录到数据库的业务场景,如果业务级别循环单条插入数据会不断建立连接且有多个事务,这个时候如果业务的事务执行频率相当较高的话(高并发),对数据库的性能影响是比较大的;为了提高效率,批量操作会是不错的选择,一次批量操作只需要建立一次连接且一个事务,能很大程度上提...
阅读全文