qq:489366879

程序员

排序:
默认
按更新时间
按访问量

java 并发编程:ReenTrantLock可重入锁(和synchronized的区别)总结

可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。 锁的实现:Synchronized是依赖于JV...

2018-06-14 14:22:31

阅读数:14

评论数:0

Java并发编程:阻塞队列

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

2018-06-14 11:08:00

阅读数:20

评论数:0

Java并发编程:Callable、Future和FutureTask

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

2018-06-11 17:06:35

阅读数:4

评论数:0

Java并发编程:Lock

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

2018-06-11 16:44:12

阅读数:10

评论数:0

Java并发编程--ReentrantReadWriteLock

概述  ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高...

2018-06-08 10:46:05

阅读数:9

评论数:0

Java 8 Lambda 表达式

摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等。本文系 OneAPM 工程师编译整理。Java 是一流的面向对象语言,除了部分简单数据类型,Java 中的一切都是对象,即使数组也是一种对象,每个类创建的实例也是对象。在 Java...

2018-06-08 10:05:48

阅读数:12

评论数:0

Callable,Runnable的区别及用法

编写多线程程序一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是:(1)Callable规定的方法是call(),Runnable规定的方法是run()。其中Runnable可以提交给Thread来包装下,直接启动一个线程来执行,而Call...

2018-06-07 10:02:40

阅读数:18

评论数:0

Java并发-原子操作类

原子操作类简介当更新一个变量的时候,多出现数据争用的时候可能出现所意想不到的情况。这时的一般策略是使用synchronized解决,因为synchronized能够保证多个线程不会同时更新该变量。然而,从jdk 5之后,提供了粒度更细、量级更轻,并且在多核处理器具有高性能的原子操作类。因为原子操作...

2018-06-07 09:35:43

阅读数:15

评论数:0

Servlet的多线程和线程安全

线程安全首先说明一下对线程安全的讨论,哪种情况我们可以称作线程安全?网上对线程安全有很多描述,我比较喜欢《Java并发编程实战》给出的定义,“当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,...

2018-06-06 16:30:40

阅读数:65

评论数:0

java并发-原子性

原子性就是指该操作是不可再分的。java.util.concurrent.atomic中有一组使用无锁算法实现的原子操作类。AtomicInteger、AtomicBoolean、AtomicLong 外还有AtomicReference 。它们分别封装了对整数、整数数组、长整型、长整型数组和普通...

2018-06-06 15:30:50

阅读数:16

评论数:0

Java 基本数据类型 及 == 与 equals 方法的区别

       Java数据类型分为基本数据类型与引用数据类型。    1 基本数据类型byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0short:短整型,2个字节(16 bit),取值范围-32768~32717,默认值0int:整型,用于存...

2018-05-30 15:28:26

阅读数:42

评论数:0

String, StringBuffer 与 StringBuilder 的区别

一  String    1)String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。在早期的JVM实现版本中,被final修饰的方法会被转为内嵌调用以...

2018-05-29 23:23:59

阅读数:11

评论数:0

JVM:GC 回收机制

Java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么GC具体通过什么手段来判断一个对象已经”死去”的?1.引用计数算法(已被淘汰的算法)给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引...

2018-05-29 22:33:52

阅读数:9

评论数:0

Setting property 'source' to 'org.eclipse.jst.jee.server:web' did not find a matching property原因

默认情况下,server.xml的 Context元素不支持名称为source的属性,就出现该警告双击eclipse下tomcat服务器,在出来的Tomcat server at localhost页面中找到server options选项,选中其中的选项”Publish modual conte...

2018-05-26 19:02:46

阅读数:13

评论数:0

Log4j配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogg...

2018-05-25 23:53:13

阅读数:18

评论数:0

使用maven创建web项目

  目前做的项目使用的是MAVEN来管理jar包,这也是我第一次接触maven,感觉非常好,再也不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载。非常方便。之前比较忙没时间整理,现在整理一下,记录下来,加深印象。当然我们使用maven也只是...

2018-05-25 23:49:14

阅读数:10

评论数:0

MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

     这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考。1.JDK的安装       首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。...

2018-05-25 22:56:14

阅读数:10

评论数:0

【微信技巧】公众号涨粉更方便!一键关注页面

https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=你的==#wechat_redirect_biz 可以在您的文章链接中 找到

2018-03-14 22:14:28

阅读数:385

评论数:0

Centos 6.8 下利用 letsencrypt.sh 脚本为 nginx 配置免费 https 证书

1、下载letsencrypt.shwget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf wget https://raw.githubusercontent.com...

2018-02-16 16:12:18

阅读数:70

评论数:0

webp 转 jpeg(ImageMagick+libwebp)

yum install ImageMagick或者官网http://www.imagemagick.org/download/ImageMagick.tar.gztar zxvf ImageMagick.tar.gzcd ImageMagick./configure --prefix=/usr/l...

2018-02-08 10:15:58

阅读数:54

评论数:0

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