`
yuwenlin2008
  • 浏览: 124982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
很多情况下我们只需要一个简单的、高效的、线程安全的递增递减方案,而Java中++i或--i并不是线程安全的,但是java.util.concurrent包中提供原子(Atomic) 操作的类,今天我们就来学习它最基本的AtomicInteger。   以下是本文包含的 ...
在Java中,除了使用synchronized关键字实现线程同步,还可以使用java.util.concurrent.locks包下的重入锁(ReentrantLock)来实现同步。今天我们就来学习ReentrantLock同步。 以下是本文包含的知识点: 1.Lock接口介绍 2.ReentrantLock的使用 3.Re ...
根据前面讲的Java内存模型,已经接触不少synchronized,而且它非常强大,能解决大部分的并发问题,今天我们一起来学习它吧。 以下是本文包含的知识点: 1.Java的线程安全 2.synchronized的用法 3.synchronized的实现原理 4.volatile关键字   一、Java的线程安全 我们这里讨论的线程安全,限定于多个线程之间存在共享数据访问的这个前提下。如果一段代码根本不会和其它线程共享数据,那么也不存在线程安全的问题。 那我们应该如何实现线程安全呢? 互斥同步是一种常见的并发正确性保障手段,同步是指在多个线程并发访问共享数据时,保证共 ...
学习Java并发编程,必须要学习Java内存模型,也是学习和理解后面更深入的课程打下基础,做好准备。今天我们就来学习下Java内存模型。 以下是本文包含的知识点: 1.硬件的效率与一致性 2.Java内存模型 3.主内存和工作内存 ...
Java并发编程,是Java的高级开发部分,平时项目很少用到,主要原因还是不熟悉,从今天开始整体学习研究下,后面会有一个系列的学习,也为以后在项目中经常使用打下基础。首先来回顾下Java最基本的多线程开发,就是java.lan ...
用过好几次Spring+Quartz配置,来做定时任务,以前也用jdk自带的Timer,今天来好好总结下Spring+Quartz配置吧。   在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的 ...
Ajax请求导出Excel的问题描述: 前端发起Ajax请求get或post,后台使用Poi生成excel文件,最后用response输出excel文件流。整个调用过程都没有报任何错,excel文件也生成在本地,但浏览器没有弹出文件下载,毫无反应。   解决: 开始一直以为是浏览器兼容性,或后台输出文件流代码有问题,调了半天,也都一样,不报任何错。后来上网搜发现在类似的问题,Ajax导出excel没反应,网上有人说不能使用ajax,换成地址重定向location.href就行,一换还真好使。就是ajax请求的问题。   总结: 导出excel为什么不能用ajax请求? 因为导出 ...
Maven基于项目对象模型(POM),集项目构建,编译,测试,打包,安装一站式服务。是目前主流的项目开发的管理利器,今天来详细学习下。 一、Maven下载与环境搭建 Maven下载:http://maven.apache.org/download 下载压缩包,解压缩到D盘要目录即可 配置环境变量: M2_HOME:D:\apache-maven-3.1.1\ Path添加:;%M2_HOME%\bin; 检测maven是否安装成功,打开cmd:mvn -v 如果能看到maven版本信息及jdk信息,就表示安装成功了。   二、Maven约定的目录骨架结构 src     ...
在Java中注解随处可见,学习Java注解,知道其原理,可以读懂很多开源框架,如Spring,Mybatis等,还可以自定义注解实现更高级的功能。    一、常见的Java注解  Jdk自带的注解:@Override,@SuppressWarnings,@Deprecated(方法过时)  第三方框架注解:Spring,Mybatis等   二、注解的分类 1.按运行机制分  源码注解     源码存在,class文件不存在  编译时注解  源码,class文件存在  运行时注解  spring @antuAire 2.按来源分  Jdk自带的注解  第三方注解   ...
公司在做服务器牵移,应用,数据库都要从windows移到 linux。 开始在windows下没有任何问题,上线的产品。 后来一挪到linux下,报部分表找不到,但去数据库查还有的。 最后问题是:我们用的ibatis,数据库的名表有的是大写的,有的是小写的。 网上一查发现Linux下,Mysql数据库名表名严格区分大小写。 解决方法:sql语句中表名统一都使用小写,其它的按规范也尽量都使用小写吧。   参考:http://blog.csdn.net/jesseyoung/article/details/40617031

Log4j基本使用

Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。   定义配置文件 其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。 Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法: ...
Eclipse使用Ant插件打包   工程的根目录,创建build.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8" ?> <project name="mtcps" default="war" basedir="."> <!-- =================================================================== 定义属性(property ...
主要使用expdp,impdp两个命令   --导出数据 1.创建目录 create directory yzdump as 'd:/dump';   2.给用户授权目录(sys用户) grant read,write on directory yzdump to yuzheng;   3.在命令行cmd窗口导出数据 expdp yuzheng/yuzheng@orcl directory=yzdump dumpfile=yuzheng20150310.dmp logfile=yuzheng20150310.log   --导入数据 1.给用户授权目录 grant ...
Java的LinkedList是基于双向链表实现的List集合类。它的特点有: 1.没有容量限制。 2.添加,删除元素比较快;检索元素较慢(较ArrayList)。 3.可能实现为队列,栈 4.线程不安全 下面来看其源码实现: 1.类定义   public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable LinkedList继 ...
ArrayList是Java集合框架中,我们平时用得最多的一种实现类。它的底层其实是数组实现,只不过是动态改变数据大小,来看源码。 1.类定义 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 首先是泛型;然后继承AbstractList,它是List接口的最直接实现类,主要实现了Iterable接口,ArrayList的iterator()就由它实现; ...
Global site tag (gtag.js) - Google Analytics