JAVA ’ 目录归档

《Java并发编程从入门到精通》显示锁Lock和ReentrantLock

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

 

显示锁Lock和ReentrantLock

Lock是一个接口提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有加锁和解锁的方法都是显式的。包路径是:java.util.concurrent.locks.Lock。核心方法是lock(),unlock(),tryLock(),实现类有ReentrantLock, ReentrantReadWriteLock.ReadLock, ReentrantReadWriteLock.WriteLock。

阅读全文

《 Java并发编程从入门到精通》Thread安全与不安全

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

鸟欲高飞先振翅,人求上进先读书。本文是原书的第3章  Thread安全3.2 什么是不线程安全。3.3什么是线程不安全。

3.2 什么是不安全?

当多个线程同时操作一个数据结构的时候产生了相互修改和串行的情况,没有保证数据的一致性,我们通常称之这种设计的代码为”线程不安全的“。

阅读全文

Java构造器必知必会

Writer      :李强强(泥沙砖瓦浆木匠)原文链接 传送门

 

面向对象编程中,编程人员应该在意“资源”。比如

String hello = "hello"; 

在代码中,我们很在意在内存String类型hello,它是有一个生命周期的。在它生命周期中,初始化(initialization)清理(cleanup)是两个重要的环节。尤其是C程序中,很多bug会出现在对象初始化清理的环节。这样会造成一些程序安全问题。

《Think in Java》中说道:

随着计算机革命的发展,”不安全“的编程方式已逐渐成为编程代价高昂的主因之一。

阅读全文

ThreadLocal使用

引言

ThreadLocal的官方API解释为:

“该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。”

大概的意思有两点:

  1. ThreadLocal提供了一种访问某个变量的特殊方式:访问到的变量属于当前线程,即保证每个线程的变量不一样,而同一个线程在任何地方拿到的变量都是一致的,这就是所谓的线程隔离。
  2. 如果要使用ThreadLocal,通常定义为private static类型,在我看来最好是定义为private static final类型。

阅读全文

《 Java并发编程从入门到精通》 常见的内存溢出的三种情况

javaC
作者:张振华    购买链接:天猫商城  JD商城  当当书店

鸟欲高飞先振翅,人求上进先读书。本文是原书的第9章 线程的监控及其日常工作中如何分析里的9.3.3节常见的内存溢出的三种情况。
阅读全文

《 Java并发编程从入门到精通》 Java线程池的监控

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

本文是《 Java并发编程从入门到精通》第9章 线程的监控及其日常工作中如何分析的9.1节 Java线程池的监控。

 

阅读全文

Java Date Time 教程-java.util.Calendar和GregorianCalendar

原文链接 作者:Jakob Jenkov  译者:魏嘉鹏

目录

  • 实例化GregorianCalendar
  • 获取年、月、日等
  • 增加和减少年、月、日等
  • 陷阱和误区
  • 月份的陷阱
  • 星期几的误区
  • JavaDoc中的更多细节

阅读全文

图解 & 深入浅出 JavaWeb:Servlet 再说几句

Writer      :李强强(泥沙砖瓦浆木匠)原文链接 传送门

上一篇的《 Servlet必会必知 》受到大家一致好评 — (感谢 读者 及 OSC 推荐 每日一’搏’),后来觉得还有些东西没点到,这边补充补充。 阅读全文

Java集合-概述

原文链接 作者:Jakob Jenkov  译者:祖强

为了高效的使用和理解Java集合Api,对集合中包含的接口有一个概览是很有用的。所以,我将在这里提供这些。

阅读全文

Servlet必会必知

Writer      :李强强(泥沙砖瓦浆木匠)

“眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹得。哈哈,继续high~ ”

[JavaEE 要懂的小事] Http相关 ,一直想写点Web开发相关的。最近项目接口开发紧,还有准备新的九月份战斗。JDK IO源码就隔一段落,温故知新看看Servlet & JSP 相关。把自己基础累积回顾一遍,并和大家分享分享一些心得和代码。这里应该涉及到一部分源码,开发思想和一些手工做出的图。喜欢java,或者有一定Java开发经验的多提宝贵意见。

阅读全文

Java集合-Iterable

原文链接  原作者:Jakob Jenkov   译者:祖强

Iterable接口 (java.lang.Iterable) 是Java集合的顶级接口之一。Collection接口继承Iterable,所以Collection的所有子类也实现了Iterable接口。
阅读全文

Adopt Open JDK官方文档(五) Docker镜像

译者:渊策

5.1 复制镜像

镜像可以从别的设备复制并导入本地的Docker仓库。

阅读全文

Java集合-List

原文链接 译者:祖强

java.util.List接口是java.util.Collection 接口的一个子接口。它表示对象的一个有序列表,意味你可以特定的顺序访问元素,也可以通过索引访问。也可以向一个 List中多次添加重复的元素。
阅读全文

Java 9中将移除 Sun.misc.Unsafe

原文链接    译者:曲东方

灾难将至,Java 9中将移除 Sun.misc.Unsafe

Oracle 正在计划在Java 9中去掉 sun.misc.Unsafe API。 这绝对将是一场灾难,有可能会彻底破坏整个 java 生态圈。 几乎每个使用 java开发的工具、软件基础设施、高性能开发库都在底层使用了 sun.misc.Unsafe。 下面是上面链接中文档提到一个小列表:

阅读全文

《 Java并发编程从入门到精通》第5章 多线程之间交互:线程阀

javaC

作者:张振华    购买链接:天猫商城

(投入多少,收获多少。参与多深,领悟多深,京东,亚马逊,当当均有销售。)

 


5.1 线程安全的阻塞队列BlockingQueue

(1)先理解一下Queue、Deque、BlockingQueue的概念:

Queue(队列) :用于保存一组元素,不过在存取元素的时候必须遵循先进先出原则。队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。

阅读全文

return top