
java基础
Mooneal
这个作者很懒,什么都没留下…
展开
-
java.util源码解析(四)共享锁之CountDownLatch
一.CountDownLatch的基本使用CountDownLatch的应用:使得主线程要等待所有子线程完成工作之后,再继续执行后面的代码具体使用也很简单所有子线程run方法的finally中调用 countDownLatch.countDown();在开启所有子线程后,主线程中调用 countDownLatch.await();public class Test...原创 2018-07-12 10:54:15 · 324 阅读 · 0 评论 -
java.util源码解析(一)AQS介绍
一.AQS介绍AbstractQueuedSynchronizer 它是java.util包实现的基础,甚至可以说它就是锁,相比于Synchronzied关键字实现的内置锁,只实现了排他锁。AQS通过一个类变量 private int state 来表示锁状态,通过继承类实现了多种锁模式,如排它锁,共享锁,以及可重入锁等。 在AQS中通过一个内部类Node 来包装线程,代码如下stati...原创 2018-07-11 17:45:05 · 268 阅读 · 0 评论 -
Spring初始化Ioc源码分析以及Aop原理分析(三)
1.分析这行代码:ApplicationContext beanFactory = new ClassPathXmlApplicationContext(“spring/springmvc.xml”);public ClassPathXmlApplicationContext(String configLocation) throws BeansException { // 直接调...原创 2018-03-27 21:40:01 · 329 阅读 · 0 评论 -
Spring初始化Ioc源码分析以及Aop原理分析(二)
xmlBeanFactory初始化加载资源public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); this.reader = new XmlBeanDefinitionReade...原创 2018-03-26 22:54:10 · 265 阅读 · 0 评论 -
Servlet和Servlet容器概念
1.什么是Servlet?在查看javax包下的Servlet,可以看到,servlet仅仅是一个普通的java接口。package javax.servlet;import java.io.IOException;public interface Servlet { // 初始化方法 void init(ServletConfig var1) throws Ser...原创 2018-03-26 19:51:42 · 2753 阅读 · 3 评论 -
java8中的String
ps: 这篇博客是乱写的,笔记的形式,后面有空再整理。1.加载:生成Class对象,不放在堆中,存放在方法区中的元空间。 2.准备:正式为类变量(static),分配内存,并设置默认初始值(数据类型的0值,比如,int 为 0); 3.至此,类加载结束。但初始化还是要看时机的。实例化的时候 new 调用其中的静态字段或者静态方法。反射调用的时候。4.什么时候被动引用,不引发初始化呢?原创 2017-11-02 14:11:21 · 1532 阅读 · 0 评论 -
java类加载模式与web容器的类加载模式
一.概述在初学java的时候,很多书和资料都会说java是一个跨平台的语言,是一个动态语言,可以在运行期间加载类。首先说,java是一个跨平台的语言,是因为它的两个关键点:java虚拟机 jvm.class 字节码文件任何一个java文件都是先编译成 .class文件,然后再经过jvm解释成机器码。只要拥有.class文件和jvm,那么任何一个平台都可以运行。然后再看,java是一个动态语原创 2017-10-30 21:42:46 · 2306 阅读 · 0 评论 -
java8 中Lambda表达式
一. lambda表达式的使用:在 c/c++ 中可以使用函数指针的形式,把一个函数(一段代码块)传给另一个函数。而在 c# 中可以使用委托的形式也可以实现delegate int methodName (int a);public int sum(int a){ return a + 4;}// 只要返回值 和 参数类型一致那么就能把方法委托给methodNameme...原创 2017-11-07 19:24:06 · 372 阅读 · 0 评论 -
apache-tomcat部署虚拟主机和虚拟目录的简单分析
如何安装apache-tomcat我就不再赘述,在安装之后,会出现如下几个文件夹 1. bin 2. conf Tomcat配置文件 3. lib 服务器运行使用的jar包 4. logs 日志文件,运行时产生的日志。 5. temp 6. webapps原创 2017-02-26 20:06:46 · 918 阅读 · 0 评论 -
Spring初始化Ioc源码分析以及Aop原理分析(一)
一. 什么是Spring Ioc思想?Spring Ioc的目的就是通过一个容器来控制对象的生命周期以及对象之间的关系。所有的类都会在Spring容器中进行注册登记,由Spring Ioc容器来创建、控制运行和销毁。1.1 Spring Ioc容器的基本构成通过上面这段话,首先可以确立两个角色,一个是容器,一个是存在容器中的类。那么首先来分析Spring源码中这两个角色的代表对象是什么...原创 2018-07-06 21:30:22 · 655 阅读 · 0 评论