自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java线程状态转换

Java语言定义了6种线程状态,在任意一个时间点,一个线程有且仅能有其中的一种状态,这6种状态分别如下:新建(New):创建后尚未启动的线程处于这种状态;运行(Runnable):Runnable包括了操作系统线程状态中的Running和Ready,也就是处于此状态的线程有可能正在运行,或者可能正在等待着CPU为它分配时间。无限期等待(Waiting):处于这种状态的线程不会被

2017-11-06 12:08:58 303

原创 Java虚拟机运行时内存配置

首先,Java的运行时内存包括:虚拟机栈、本地方法栈、堆、方法区和直接内存。-Xms:表示设置堆的最小容量;-Xmx:表示设置堆的最大容量。由于在HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此,对于HotSpot来说,虽然-Xoss参数(设置本地方法栈大小)存在,但实际上是无效的,栈容量只由-Xss参数设定。可以通过-XX:PermSize和-XX:MaxPermSize限制方法

2017-10-31 15:19:53 561

原创 java多线程实现方式--Callable接口

java实现多线程的方式有:继承Thread类;实现Runnable接口;实现Callable接口;实现Callable接口,需要FutureTask类的支持,用于接收运算的结果,FutureTask类实现了Future接口和Runnable接口;Callable的任务执行后可以有返回值,并且可以抛出异常;import java.util.concurrent.Callable;import j

2017-09-29 21:44:33 464

原创 Java中调用对象方法的执行过程

编译器查看对象的声明类型和方法名。假设调用x.f(param),且隐式参数x声明为C类的对象。需要注意的是:有可能存在多个名字为f,但是参数类型不一样的方法。例如,可能存在f(int)和f(String)。编译器将会一一列举所有类C和其超类中访问属性为public且名为f的方法(超类的私有方法不可访问)。接下来,编译器将查看调用方法时提供的参数类型。如果在所有名为f的方法中存在一个与提供的参数类型

2017-09-25 20:09:08 6091 1

原创 java文件复制

要想实现文件的复制,可以通过java中的字节流:InputStream和OutputStream。import java.io.File;import java.io.InputStream;import java.io.FileInputStream;import java.io.OutputStream;import java.io.FileOutputStream;publi

2017-09-14 20:00:50 247

原创 JVM中类加载的全过程

JVM中类加载的全过程主要包括以下五个步骤:加载、验证、准备、解析、初始化;加载过程主要是将类的.class文件读入内存中,通常是创建一个字节数组来读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不能用。当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)。最后对

2017-09-13 15:56:33 320

原创 Java中的栈、堆和方法区

栈是用来保存局部变量、对象的引用和方法调用的现场;堆是用来保存对象的实例,它也是垃圾收集器管理的主要区域,由于现在的垃圾收集器都是采用分代收集算法,所以堆空间还分为新生代和老年代,其中新生代又进一步分为Eden、Survivor,而Survivor分为from Survivor和to Survivor,老年代为Tenured;方法区主要用来存放类的信息、常量、静态变量。堆和方法区都是线程共享的,程

2017-09-12 20:28:55 283

原创 Java多线程的笔记

Java多线程笔记一、中断线程1、void interrupt()向线程发送中断请求。线程的中断状态将被设置为true。如果目前该线程被一个sleep调用阻塞,那么InterruptedException异常被抛出。2、static boolean interrupted()测试当前线程(即正在执行这一条命令的线程)是否被中断。注意,这是一个静态方法。这一调用会产生副作

2017-09-11 11:54:56 244

转载 关于ThreadLocal类的理解

1、首先在每个线程内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals,这个threadLocals就是用来存储实际变量副本的,键值为当前ThreadLocal变量,value为变量副本。2、初始时,在Thread里面,threadLocals为空,当通过threadLocals变量调用get()方法或者set()方法,就会对Thre

2017-09-11 10:44:27 403

原创 Object类中各个方法的作用

1、取得对象的信息:public String toString()2、对象的比较:public boolean equals(Object obj)3、取得对象的编码:public int hashCode()4、线程等待:public void wait() throws InterruptedException5、唤醒第一个对待线程:public void notify()

2017-09-10 20:45:46 881

原创 Java类集框架--Collection接口

一、单值保存的最大父接口:Collection1、允许重复的子接口:List,拥有两个子类:ArrayList和VectorArrayList是JDK1.2推出,采用异步处理方式,性能较高,非线程安全,输出:Iterator,foreach,ListIteratorVector是JDK1.0推出,采用同步处理方式,性能相对较低,线程安全,输出:Iterator,foreach,List

2017-09-10 20:39:36 270

原创 LeetCode--反转链表

public class ListNode { public int value; public ListNode next; public ListNode(int value) { this.value = value; } } public ListNode reverse(ListNode head) { ListNode previous = null;

2017-09-09 11:20:53 247

Effective java中文第二版和英文第二版--高清pdf--完整带书签

Effective Java中文第二版和英文第二版,高清,完整带书签

2017-11-16

java并发编程实战中文版--高清pdf--带书签目录--完整版

不同于网上流传的其他PDF,那些大多数缺少标签,或者内容根本不清晰,绝对是高清

2017-11-16

空空如也

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

TA关注的人

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