JAVA基础
机器不学习_
深度聚合机器学习、人工智能算法及技术实战
展开
-
Java原生线程池原理
Executor框架主要由三个部分组成:任务,任务的执行,异步计算的结果。 主要的类和接口简介如下: 1. Executor是一个接口,它将任务的提交和任务的执行分离。 2. ThreadPoolExecutor是线程池的核心,用来执行被提交的类。 3. Future接口和实现Future接口的FutureTask类,代表异步计算的结果。 4. Runnable接口和Callable接口的原创 2016-04-22 14:46:19 · 1730 阅读 · 0 评论 -
JAVA内存模型
JVM物理结构 1、Heap(堆):一个Java虚拟实例中只存在一个堆空间 2、MethodArea(方法区域):被装载的class的信息存储在Methodarea的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件内容并把它传输到虚拟机中。 3、JavaStack(java的栈):虚拟机只会直接对Javastack执行两种操作:以帧为单位的压栈原创 2016-04-25 19:45:40 · 6831 阅读 · 0 评论 -
Volatile详解
VolatiteJava 语言提供了一种稍弱的同步机制,即 volatile 变量.用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新. 当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的.为了解决缓存不一致性问题,通常来说有以下2种解决方法: 1.通过在总线加LOCK#锁的方式 2.通过缓存一致性协议缓存一致性协议核原创 2016-04-25 20:23:44 · 693 阅读 · 0 评论 -
对象copy和序列化
浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建新的实例,并且初始化为形式参数实例值。这个方式称为深拷贝JAVA Object自带的clone函数其实出现问题的关键就在于 clone() 方法上,我们知道该 clone() 方法是使用 Object 类的 clone() 方原创 2016-04-26 11:52:08 · 399 阅读 · 0 评论 -
CPU load飙高排查---线程级别
进程级别的逗号处理,直接top就可以了.但是线程级别的CPU load飙升处理起来相对而已比较麻烦. 好, 直接上脚本:#!/bin/kshtypeset top=${1:-10}typeset pid=${2:-$(pgrep -u $USER java)}typeset tmp_file=/tmp/java_${pid}_$$.trace$JAVA_HOME/bin/jstack $pi原创 2016-04-26 20:28:59 · 3627 阅读 · 0 评论 -
Synchronized详解
Java 同步关键字(synchronized)Java 中的同步块用 synchronized 标记。同步块在 Java 中是同步在某个对象上。所有同步在一个对象上的同步块在同时只能被一个线程进入并执行操作。所有其他等待进入该同步块的线程将被阻塞,直到执行该同步块中的线程退出。有四种不同的同步块: 实例方法 静态方法 实例方法中的同步块 静态方法中的同步块 上述同步块都同步在不同对象上。原创 2016-04-25 20:40:43 · 923 阅读 · 0 评论 -
Spring IOC 深入分析
1.Spring BeanFactory 容器它是最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。BeanFactory 或者相关的接口,如 BeanFactoryAware,InitializingBean,DisposableBean,在 Spring 中仍然存在具有大量的与 Spring 整原创 2016-05-05 20:37:39 · 444 阅读 · 0 评论 -
Spring AOP 深入分析
Advice通知是AOP联盟定义的一个接口,定义当拦截到连接点做相应的处理操作,为切面增强提供织入接口。在spring AOP中,通知主要描述Spring AOP围绕方法调用而注入切面的行为,Spring AOP的通知扩展了AOP联盟的通知接口,提供了前置通知BeforeAdvice、后置通知AfterReturnAdvice、最终通知AfterAdvice和例外通知ThrowAdvice等。原创 2016-05-05 21:04:57 · 645 阅读 · 0 评论