Java
麦田的小小猪
北京邮电大学研究生
展开
-
Java(十)静态代理和动态代理
一、代理的作用代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展。举个例子来说明代理的作用:明星与经纪人之间就是被代理和代理的关系,明星出演活动的时候,明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)。但是往往你又不能直接对源代码进行修改,可能是你希望原来的对象还保持原来的样子,又或许你提供的只是一个可插拔的插件,甚至你有可...原创 2020-02-21 18:28:05 · 198 阅读 · 0 评论 -
Java(九)lambuda表达式
lambuda表达式是java的闭包。lambuda表达式是一个可以传递的代码块。由于java万物皆为对象,所以如果要给一个对象传递一段代码块,必须要构造一个对象,这个对象的类的某个方法包含所需要的代码块,这样增加了代码的繁琐。lambuda表达式可以直接传递所需的代码块而不需要构造对象。lambuda表达式传递的是一段代码,是传递给某个类并且让这个类调用的,而不是传递这个代码运行后的返回值。...原创 2020-02-21 17:52:02 · 1005 阅读 · 0 评论 -
Java(八)线程池
为什么要使用线程池?(阿里巴巴开发手册推荐使用线程池)在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池,线程池的优势很明显,如下:1.降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;2.提高系统响应速度,当有任务到达时,无需等待新线程的创建便能立即执行;3.方便线程并发数的管控,...原创 2020-02-20 22:25:39 · 146 阅读 · 0 评论 -
Java(七)Volatile关键字
一、内存模型的相关概念计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在CPU里面就...原创 2020-02-20 22:23:40 · 56 阅读 · 0 评论 -
Java(六)线程的同步
一、synchronized关键字 (synchronize:使同步的意思)总结一下有关锁和条件的关键之处:(1)锁用来保护代码片段, 任何时刻只能有一个线程执行被保护的代码。(2)锁可以管理试图进入被保护代码段的线程。(3)锁可以拥有一个或多个相关的条件对象。(4)每个条件对象管理那些已经进入被保护的代码段但还不能运行的线程。1.synchronized标记方法在Java中,可...原创 2020-02-20 22:21:54 · 102 阅读 · 0 评论 -
Java(五)线程的创建、睡眠、暂停和终止
一、线程的创建(有四种方式)1.继承Thread类创建一个线程的第一个方式是创建一个新的类,该类继承 Thread 类,然后创建一个该类的实例。继承类必须重写 run() 方法,该方法是新线程的入口点。它也必须调用 start() 方法才能进入就绪态(Thread类的对象调用start()方法,则自动执行重写的run()方法,Thread类的线程都用这个方法来调用run()方法)。publi...原创 2020-02-20 22:20:58 · 692 阅读 · 1 评论 -
java系列(三)多态
一、多态的基本概念1.多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)2.多态的发生条件:(1)有继承(2)重写(3)父类引用指向子类对象(就是用子类的对象给父类的引用赋值)father f =new son();3.多态的作用:(1).可替换性(substitutability)。多态对已存在...原创 2019-10-14 11:48:44 · 131 阅读 · 0 评论 -
java系列(二)类加载时机和顺序
java没有规定类加载的时机,但是规定了类初始化的时机,一般认为类初始化的时候就加载。一、类初始化的时机1.创建类的实例,也就是new一个对象2.访问某个类或接口的静态变量和静态方法 (直接用类名访问,没有new一个实体对象),注意访问类的静态域所导致的初始化,只初始化这个类,不会初始化这个类的父类。3.反射(Class.forName(“com.lyj.load”)) 比如类Class中...原创 2019-10-14 11:46:25 · 121 阅读 · 0 评论 -
Java系列(一)类加载机制
一.类加载的机制:类加载(Class Loading)是一种机制,他描述的是将字节码以文件形式加载到内存再经过连接、初始化后,最终形成可以被虚拟机直接使用的Java类型地过程。Class Loading 包含了加载(Loading)、连接(Linking)、初始化(Initialization)三大部分,其中Linking又包含了三个部分:校验(Verification)、准备(Prepara...原创 2019-10-14 11:45:04 · 116 阅读 · 0 评论