自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java小兵

JAVA

  • 博客(11)
  • 资源 (18)
  • 收藏
  • 关注

原创 java并发包下的LockSupport

java.util.concurrent.locks.LockSupport 概念:用LockSupport来实现线程的阻塞和唤醒。 阻塞线程的方法: public static void park():阻塞当前线程,只有调用unpark()方法或者当前线程被中断,该方法才会返回。 public static void parkNanos(long nanos) publ

2017-10-30 23:27:10 793

原创 java并发包中的Lock

Lock接口:实现:Lock接口的实现是通过聚合了一个同步器的子类来完成线程访问控制的。Lock与synchronized的区别Lock显示地获取和释放锁: void lock(); // 获取锁。 void unlock(); // 释放锁。 可以非阻塞的获取锁: boolean tryLock(); // 调用该方法后立刻返回,如果能获取到锁则返回true,否则返回false; 可以中断地获取锁: void lockInterruptibly() throws Int

2017-10-30 23:21:31 974

原创 java中的队列同步器AQS -- AbstractQueuedSynchronizer

1)原理: 1)使用一个int成员变量表示同步状态(private volatile int state;),通过同步队列(一个FIFO双向队列)来完成同步状态的管理(即:线程的排队)。 2)当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构造成为一个节点(Node)并将其加入到同步队列的尾部,并且当前线程(因进行自旋操作)被阻塞。 3)首节点是成功获取到同步状态的节点,首

2017-10-23 21:30:55 646

原创 java中的线程池

Java中的线程池【1】使用线程池的好处: 1)降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 2)提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行。 3)提高线程的可管理性。 说明:不同的业务,我们一般会使用不同的线程池,以便于对同一业务的线程进行统一管理:(日志)监控、线程池参数调优。【2】构造方法: public Threa...

2017-10-16 22:33:37 426

原创 top命令

概念:top命令是Linux下常用的系统性能分析工具,能实时查看系统中各个进程资源占用情况。参数: -p 指定进程号 eg:top -p PID 查看进程ID为PID的进程 -H 查看各个线程资源占用的情况。 eg:top 查看各个进程 资源占用的情况。 top -H 查看各个线程 资源占用的情况。 top -Hp PID 查看进程ID为PID的进程中 所有线...

2017-10-09 22:32:21 1360

原创 java内存模型中的happens-before

java内存模型中的happens-before 1)概念:JMM用happens-before的概念来指定两个操作之间的执行顺序,这两个操作可以在一个线程内,也可以在不同线程之间,并且保证了内存的可见性。 2)happens-before的定义: 1)从程序员的角度看: 如果一个操作happens-before另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个

2017-10-09 22:31:32 508

原创 java中常用的并发工具

java中常用的并发工具1)闭锁CountDownLatch 功能:让一个主线程等待一组工作线程执行完毕之后,才继续执行主线程,与join()方法的功能类似。 原理: 1)CountDownLatch是通过一个计数器来实现的,计数器的初始值为需要等待线程的数量。eg:CountDownLatch c = new CountDownLatch(2); // 等待线程的数量为2

2017-10-09 22:28:51 579

原创 采用延迟初始化来降低初始化类和创建对象的开销

在Java多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销。CASE: public class Singleton{ private static Singleton instance = null; private Singleton(){ // 将构造函数私有化 } public static Singleton ge

2017-10-09 22:26:42 1235

原创 多线程中两个必要的开销:线程的创建、上下文切换

多线程中两个必要的开销:线程的创建、上下文切换上下文切换: 概念: 当前任务执行一个时间片后会切换到下一个任务。在切换之前,上一个任务的状态会被保存下来,下次切换回这个任务时,可以再加载这个任务的状态,任务从保存到再加载的过程就是一次上下文切换。 说明: 1)时间片是CPU分配给各个线程的时间,时间片一般是几十毫秒。 2)CPU通过给每个线程分配CPU时间片,并且不停地切...

2017-10-09 22:25:39 5676

原创 CAS(Compare and Swap)算法

CAS(Compare and Swap)算法: 1)原理: 1)CAS有3个操作数,内存值V,预期值(旧值)A,要写入的新值B。 2)当且仅当 预期值A=内存值V 时,将内存值V修改为新值B,否则什么都不做。 3)CAS可以看作是一种乐观锁。 2)应用:用于管理对共享数据的并发访问。 3)CAS存在的问题: 1)ABA问题:如果一个变量的值原来是A,然...

2017-10-09 22:02:44 993

原创 java对象的内存布局

HotSpot虚拟机中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。1)对象头:包括标记字段和类型指针两部分内容(注:如果是数组对象,则包含三部分内容): 1)Mark Word(标记字段):用于存储运行时对象自身的数据。 1>占用内存大小与虚拟机位长一致,在运行期间,考虑到JVM的空间效率,Mark Word被设计成为一个非固定的数据结构,以便存储更多有效的数据。

2017-10-09 21:32:33 1873 1

阿里巴巴2009年校园招聘笔试题.doc

阿里巴巴2009年校园招聘笔试题.doc

2014-12-26

log4j-1.2.17.zip

log4j-1.2.17.zip

2014-12-26

MyEclipse 破解文件+破解说明.zip

MyEclipse 破解文件+破解说明.zip

2014-12-26

mysql-5.0.96-win32.zip

mysql-5.0.96-win32.zip

2014-12-26

mysql-connector-java-3.1.13-bin.jar

mysql-connector-java-3.1.13-bin.jar

2014-12-26

jquery-1.4.2.js

jquery-1.4.2.js

2014-12-26

servlet.zip(servlet源码)

servlet源码

2014-12-26

Ext 3.0 中文API.CHM

Ext 3.0 中文API.CHM

2014-12-25

jQuery-1.9.1(英文).chm

jQuery-1.9.1(英文).chm

2014-12-25

jQuery1.10.3(中文).chm

jQuery1.10.3(中文).chm jQuery1.10.3(中文).chm jQuery1.10.3(中文).chm jQuery1.10.3(中文).chm

2014-12-25

Struts2.0中文教程.chm

Struts2.0中文教程.chm — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 — Struts 2的框架架构 — Struts 2的标签库 — Struts 2的控制器组件

2014-12-25

Spring2.5-中文参考手册.chm

Spring2.5-中文参考手册.chm 前言 即使有好工具和好技术,开发软件仍然是比较困难的。有一些平台,它们包打天下, 但实际上很沉重、难以控制,在开发过程中效率不高,却让开发软件变得更加困难。 Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你的软件中的能力。

2014-12-25

HTTP1.1.chm

HTTP1.1.chm The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers [47]. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred.

2014-12-25

10部算法经典著作的合集

10部算法经典著作的合集 27.7MB

2014-04-03

hamcrest-1.3.zip

hamcrest-1.3.zip 3.60M

2014-04-03

w3school.CHM

w3school.CHM ,永远穿第一手鞋,掌握第一手资料,准确理解文档,少走弯路, 值得拥有..

2014-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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