自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)

1.在初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别?     用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩、可扩展,可重用等软件思想上解释了。     Java中工厂模式经常使用newInstance来创建对象,因此从为什么要使用工厂模式上也可以找到具...

2018-07-31 20:43:45 4427 2

转载 Java安全——安全管理器、访问控制器和类装载器

Java安全——安全管理器、访问控制器和类装载器Java 安全 Java安全——安全管理器、访问控制器和类装载器 安全管理器:SecurityManager 访问控制器:AccessController 组成 代码源CodeSource 权限Permission 策略Policy 保护域ProtectionDomain Acces...

2018-07-31 16:08:26 187

原创 从源码剖析FutureTask、RunnableFuture、Future、Runnable、Callable的关系

首先我们来看一下这几个类之间的关系依赖图:现在开始分析源码,从FutureTask类开始,这个类由于实现了RunnableFuture接口,而该接口又继承了Runnable接口和Future接口,所以这个类实现的方法主要如下:run、cancel、isCancelled、isDone、get。前面一个是用来供线程调用,后面四个用来获取线程的执行结果。我们看看它的构造函数,主要有两个:/...

2018-07-24 20:03:31 182

转载 类编译成多个class文件

java编译后的文件名字带有$接数字的就是匿名内部类的编译结果,接名字的就是内部类的编译结果例如:TestFrame$1.class是匿名内部类的编译结果,TestFrame$MyJob.class则是内部类MyJob编译后得到的.使用内部类可以隐藏一些实现的细节, 等等, 还有其他一些好处. 使用匿名类的时候, 要注意代码的可读性来看一个例子:import javax.swing.*...

2018-07-23 20:02:51 3006

转载 windows上删除不了文件

遇到文件或者文件夹无法删除或者移动,其实本质是因为有应用或者其他软件在打开它,所以会导致我们无法更改他的位置,解决这个的办法就是把相应的软件关闭掉,把文件释放出来,然后我们就可以正常移动或者删除了方法/步骤 遇到问题的情况,文件被使用无法执行删除操作,如下图: 你的电脑有安装电脑管家之类的软件的话,右键,之后有文件粉碎的选项,里面有解锁文件,点击就可以解锁掉文件,然后我们...

2018-07-20 14:31:35 13192 3

转载 eclipse中project->clean和maven->update project的作用

一、project->cleanproject->clean会将工程中的.class文件删除,同时重新编译工程二、maven->update project1、Maven是一个项目管理工具。2、update project本身是更新项目的意思。3、当Maven工程被做了一些改变后(主要是结构上的改变),必须让maven重新生成或修改相关文件。否则eclipse...

2018-07-20 01:04:33 27606 1

原创 ThreadPoolExecutor详解

推荐阅读资料点击这里第一部分:该类有以下几个构造函数:1、public ThreadPoolExecutor(int corePoolSize,//核心线程数量                                                  int maximumPoolSize,                                           ...

2018-07-18 13:38:26 485

转载 java中的代理模式

Java的三种代理模式1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星...

2018-07-15 11:55:08 99

转载 eclipse常用功能

调试常用功能介绍日常java开发中实际写代码的时间并不会很多,花在整理思路,代码重构,调试bug会占用很大部分时间。 熟练掌握调试工具,了解调试相关技巧,是java开发中减少调试时间,提高效率不可或缺的一部分。 使用System.out.println作为调试主要工具的方法,是java初学者对着书本例子敲代码的做法。一、调试相关的常用窗口调试中最常用的窗口是:窗口说明Debug窗口主要显示当前线程...

2018-07-14 18:28:47 8551

转载 将Hadoop 2.6.0源码导入到Eclipse

我的环境:Windows 7 64bitNTFS格式文件系统Administrator用户Eclipse(Luna Service Release 2 (4.4.2))JDK 1.7(Oracle官网下载)最好不要用1.8,因为导入源码后还想编译的话会出现问题。hadoop-src-2.6.0.tar.gz(在官网下载的源码:http://www.apache.org/dyn/closer.cgi...

2018-07-14 17:10:24 221

转载 Java Lambda

原文链接: Start Using Java Lambda Expressions下载示例程序 Examples.zip 。原文日期: 2014年4月16日翻译日期: 2014年4月27日翻译人员: 铁锚简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高...

2018-07-11 18:24:03 130

转载 Callable、Future和FutureTask的使用

 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。...

2018-07-10 20:14:34 512

转载 java中Condition接口原理详解

在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer(同步器),确切的说是ReentrantLock的一个内部类继承了AbstractQueue...

2018-07-10 11:26:04 2197

转载 ReentrantLock与lock

ReentrantLock的加锁方法Lock()提供了无条件地轮询获取锁的方式,lockInterruptibly()提供了可中断的锁获取方式。这两个方法的区别在哪里呢?通过分析源码可以知道lock方法默认处理了中断请求,一旦监测到中断状态,则中断当前线程;而lockInterruptibly()则直接抛出中断异常,由上层调用者区去处理中断。      1  lock操作         lock...

2018-07-06 19:31:32 691

转载 线程安全与可重入性

1. 线程安全与可重入性在回答引言的问题前,我们先讲解一下可重入性。在线程这块知识中,可重入性常常和线程安全进行对比。1.1. 线程安全线程安全函数的概念比较直观,众所周知,同一进程的不同线程会共享同一主内存,线程的私有栈中只包括PC,栈,操作数栈,局部变量数组和动态链接。对共享内存进行读写时,若要保证线程安全,则必须通过加锁的方式。1.2. 可重入1.2.1. 定义关于可重入这一概念,我们需要参...

2018-07-06 18:00:41 312

原创 内部类对象创建的问题

如下代码:package com.interruptthread.project.interruptthread;public class ReetrantThread { public synchronized void OperaA(){ try { OperaB(); System.out.println("执行操作A"); Thread.sleep(10000); } ca...

2018-07-06 17:18:02 682

转载 synchronized与ReentrantLock的区别

多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它...

2018-07-06 11:35:32 252

原创 linux终端编译执行java代码

安装好相应环境后,将java文件放到指定的目录下,下面举例App.java,代码如下:import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;/** * Hello world! * */public class...

2018-07-05 15:48:38 5316

转载 CAS详解

前言在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger为例,来看一下是如何实现的。[java] view plain copy public final int incrementAndGet() {      for (;;...

2018-07-02 20:14:01 404

空空如也

空空如也

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

TA关注的人

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