Java
布里啾啾迪布里多oo
宁吃了吗
展开
-
简单实现RPC/RMI框架
概述RMIRMI:(Remote Method Invocation) 远程方法调用。能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端Java虚拟机中的对象上的方法。RPCRPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务。它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。区别RPC不支持传输对象,是网络服务协议,与操作系统和语言无关。RMI只用于Java,支持传输对象框架原原创 2020-07-16 17:36:37 · 349 阅读 · 1 评论 -
Spring AOP实现原理:动态代理(工具化)
本篇文章从Java的代理机制讲到Spring的AOP1、代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能举一个生活中的例子来简单理解一下:小马租房遇到黑心中介,实在忍受不了的小马就委托律师来为他处理租房手续并将中介告上法庭。此时,小马就是委托方,律师就是代理方,小马将自己的诉求告诉律师,律师会向法院传达小马的想法并引用法律条文。而律师也可以为不同的委托方进行代理。原创 2020-07-06 18:56:18 · 334 阅读 · 0 评论 -
Java学习笔记(十六):网络编程之服务器与多个客户端
一个服务器接入多个客户端一个服务器接入多个客户端,其双向通信工作模式,必须拥有三个要素:Socket类的对象,即通信端口封装类。由它才能创建下面的通信信道,并在结束通信时,关闭网络连接。DataInputStream类的对象:接收来自”对端“信息的输入通信信道。DataOutputStream类的对象:对”对端“发送信息的输出信道。任何需要直接通信的双方,只要拥有这三个元素,就能进行直接...原创 2019-12-06 13:38:04 · 454 阅读 · 2 评论 -
Java学习笔记(十五):网络编程基础知识
网络编程的实质就是编写程序直接或间接地通过网络协议与其它计算机上的某个程序进行通讯。那么,程序员在网络编程中需要关注的问题包括两个:一是如何找到网络上的主机上的要进行通讯的程序,二是找到了主机上的程序后如何传输数据。一、网络体系结构为了促进计算机网络的发展,国际标准化组织ISO在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互连参考模型,即OSI/RM。但是...原创 2019-12-04 14:06:44 · 185 阅读 · 0 评论 -
Java学习笔记(十四):多线程编程之生产者与消费者问题
生产者与消费者问题有很多种实现方式,本篇文章只讲wait()和notify()实现生产者和消费者模式(生产一个消费一个)一、生产者和消费者问题基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点:1、生产者生产的时候消费者不能消费2、消费者消费的时候生产者不能生产3、缓冲区空时消费者不...原创 2019-12-01 11:46:34 · 245 阅读 · 0 评论 -
Java学习笔记(十三):浅谈单例模式
什么是单例模式?指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器...原创 2019-11-30 21:30:36 · 186 阅读 · 0 评论 -
Java学习笔记(十二):初识Java多线程编程
一、进程与线程基本概念1.什么是进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。2.什么是线程?线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担...原创 2019-11-30 20:39:10 · 224 阅读 · 0 评论 -
Java学习笔记(十一):初识反射机制
一、什么是反射?Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。简单的说,反射机制就是在程序的运行过程中被允许对程序本身进行操作,比如自我检查,进行装载,还可以获取类本身,类的所有成员变量和方法,类的对象,还可以在运行过程中动态的创建类的实例...原创 2019-11-16 21:27:54 · 513 阅读 · 0 评论 -
Java学习笔记(十):Properties文件解析及其工具化
一、什么是Properties文件Properties文件是java中很常用的一种配置文件,文件后缀为“.properties”,属文本文件,文件的内容格式是“键=值”的格式,可以用“#”作为注释,java编程中用到的地方很多,运用配置文件,可以便于java深层次的解耦。二、Properties解析过程及其工具化首先给出一个student.properties文件将properties文...原创 2019-11-16 17:16:51 · 262 阅读 · 0 评论 -
Java学习笔记(九):XML文件解析及其工具类制作
一、XML是什么?XML是指可扩展标记语言(eXtensible MarkupLanguage),它是一种标记语言。它被设计的宗旨是描述数据(XML),而非显示数据(HTML)应用场景:1、描述数据 2、作为配置文件存在二、XML语法在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。XML声明之前不能有注释 不允许第一行写注释(不同于jav...原创 2019-11-10 20:20:52 · 299 阅读 · 0 评论 -
Java学习笔记(八):接口、初识监听器和适配器
一、接口1.概念:一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。interface ...原创 2019-11-07 19:54:06 · 973 阅读 · 0 评论 -
Java学习笔记(七):抽象类、内部类和匿名内部类
一、抽象类什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明。只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类package stu.cr...原创 2019-10-31 17:39:33 · 977 阅读 · 1 评论 -
Java学习笔记(六):泛型、ArrayList与LinkedList、HashMap
一、初识泛型1.首先提出一个问题,什么是泛型呢?泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型可以说是把类型像参数一样传递,具体给大家一个例子:ArrayList< E>中的E称为类型参数变量ArrayList< Integer>中的Integer称为实际类型参数整个称为ArrayList< E>泛型类型整个ArrayL...原创 2019-10-31 16:15:27 · 475 阅读 · 0 评论 -
Java学习笔记(五):Complex类的设计及加减乘除运算的实现
一、Complex类的成员及构造方法package stu.crayue.complex;/*** @author Crayue* @version 2019年10月24日 上午10:15:54*/public class Complex { private double real;//实部 private double vir;//虚部 public Complex() {...原创 2019-10-24 18:53:41 · 1380 阅读 · 0 评论 -
Java学习笔记(四):继承、权限修饰符、super、覆盖
继承1.什么是继承?(1)用来提高代码的复用性(2)将相同的功能模块封装到方法中需要使用时调用方法达到代码复用的目的(3)通过继承将多个类中的相同的类容摘取出来,变成一个新类,让其他类和当前的新类产生关系,达到代码复用性的目的2.怎么样才能继承?使用关键字extends,如下所示,B继承A, A是B的父类,B是A的子类。当一个类不显示的继承其它类时,默认继承Object类,Object...原创 2019-10-20 21:10:12 · 224 阅读 · 0 评论 -
Java学习笔记(三):关键字 this、final、static
一、this:this作用:1、区分局部变量和成员变量;2、指代对象本身;方法必须通过对象来调用下面通过代码讲解一下:public void setRow(int row){ if(row <=0||row>25){ row=1; } this.row=row;}Point point = new Point();point.setRow(20);调用的方...原创 2019-10-20 20:31:25 · 203 阅读 · 0 评论 -
Java学习笔记(二):面向对象、构造方法、方法重载
一、面向对象与面向过程C语言是一个面向过程程序设计语言,在面对编程问题时,C语言实现的思想角度是:解决这个问题需要哪些过程,及这些过程的进一步细分,最终形成一个个功能函数,通过组合、协调这些函数,最终实现这个过程。Java是一个面向对象程序设计语言,在面对同样的问题时,首先思考的是,问题本身由哪些”部件“(对象)组成;这些部件本身有哪些属性(成员)和操作(方法):部件和部件之间有什么内在联系,...原创 2019-10-17 20:03:58 · 249 阅读 · 0 评论 -
JAVA学习笔记(一):简单了解JAVA基础知识及编译执行
基础知识一、简单了解一下JDK JRE JVM1、JDK:java开发工具包,包含JRE,以及增加编译器和调试器等用于程序开发的文件。2、JRE:java的运行环境,包含java虚拟机(JVM)、库函数、运行java应用程序所必须的文件。3、JVM:java虚拟机,是一个虚拟的用于执行bytecode字节码的“虚拟计算机”。 源代码通过编译器编译成字节码,再通过JVM进行解释执行,JV...原创 2019-10-17 18:52:51 · 179 阅读 · 0 评论