java概念
文章平均质量分 61
追梦者_wang
追梦者
展开
-
动态代理模式
动态代理模式属于比较困难的一个设计模式。开发中用到的很少,因为动态代理模式的应用场景是搭建框架,对于大部分人而言能用就可以了,根本没机会写。但是动态代理模式学习掌握明白去分析可以源码很有帮助了。一:静态代理模式事物的发展是有规律的,现有静态才会有动态的需求。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的...原创 2020-01-19 22:50:33 · 191 阅读 · 0 评论 -
java高级特性泛型
Java语言高级1. 使用泛型的意义为什么我们需要泛型?所以泛型的好处就是:l 适用于多种数据类型执行相同的代码例如实现int类型的加法, 有时候还需要实现long类型的求和, 如果还需要double类型的求和,需要重新在重载一个输入是double类型的add方法。如果没有泛型每种类型数字都要重载一个add方法,代码量多而且没有必要,后续维护也麻烦,如果add方法里面增加一行代码?那...原创 2020-01-11 17:22:06 · 266 阅读 · 0 评论 -
java 封装,继承、多态
封装封装,封装的目的就是“互不影响”,隐藏细节,对使用者而言是个黑盒子,安全可复用,不需要关注细节,直接调用方法访问。只隐藏对象的属性和实现细节,仅对外提供公共访问方式好处:将变化隔离、便于使用、提高复用性、提高安全性原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问-------------------------------...原创 2019-10-28 18:42:30 · 114 阅读 · 0 评论 -
深入理解 Java 虚拟机-内存
1.内存区域分析 线程私有内存区:跟随线程的产生和消亡 程序计数器:一块较小的内存空间,它是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的的程序计数器,各线程间的计数器互不影响,因此该区域是线程私有的。 本地方法栈:保存栈引用指向java堆Java 堆 Java Heap 是 Java 虚拟机所管理的内存中最大的一块,它是所有线程共享的一块内存区域。**几乎所有的对象实例和数原创 2017-12-04 17:46:51 · 216 阅读 · 0 评论 -
深入理解 Java 虚拟机-jvm
什么是 JVMJVM (Java Virtual Machine)是 Java 的核心和基础,在 Java 编译器和 os 平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行 Java 的字节码程序。Java 编译器只需面向 JVM,生成 JVM 能理解的代码或字节码文件。Java 源文件经编译器,编译成字节码程序,通过 JVM原创 2017-12-04 14:31:31 · 244 阅读 · 0 评论 -
java接口和继承
一:why为什么需要最重要是设计理念的区别: 继承体现的是 is a 的关系,父类中一般定义的是整个继承机构的共性功能;(只有一些子类都需要的功能才有必要放入父类简化代码) 实现体现的是 like a 的关系,接口中一般定义的是整个继承结构的扩展功能;(例如回调,内名内部类只是需要实现一个回调最后执行的方法就可以,如果去继承了一个父类,太浪费了) 接口是一个强制契约,要么不去实现,要么去实现接原创 2017-09-24 18:03:57 · 240 阅读 · 0 评论 -
java回调
一:背景 why-为什么需要回调关于什么是回调网上很多,但是很少有从为什么需要回调开始,所以下面从基本调用开始到最后为什么使用回调 1. 同步调用 A类中a()去调用B类的b()。 一个最大的问题,阻塞,在a()方法执行了2行代码在去调用b()方法,但是b()执行了耗时的操作,那么a()只能等到b()执行完,在能去执行或许的代码,产生了整个流程的阻塞。 所以这个只适合非耗时操作,也是项原创 2017-09-23 22:13:01 · 250 阅读 · 0 评论 -
有了基本类型之后为什么还要有包装器类型呢?
有了基本类型之后为什么还要有包装器类型呢?核心:让基本类型具备对象的特征,实现更多的功能. Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。Java 的两原创 2017-05-15 12:45:49 · 3738 阅读 · 1 评论 -
接口-抽象类区别-导图
Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。Abstract关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。 抽象方法没有定义,原创 2017-05-12 14:54:25 · 280 阅读 · 0 评论 -
java反射
反射java中重要的概念. 整理明确下概念什么是反射Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。 Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用的是在编译期并不知道的类。这样的编译特点就是java反射。Java原创 2017-04-20 13:59:31 · 313 阅读 · 0 评论 -
static深入学习
static写代码中一个天天看到的概念 但是以前没有深入,为了内存经常原来,今天仔细研究static的用法,以后更好的使用代码。java内存区域1。栈区(stack):由系统的编译器自动的释放,主要用来存放方法中的参数,一些临时的局部变量等,并且方法中的参数一般在操作完后,会由编译器自动的释放掉。 2。堆区(heap):在Java中,一般会由垃圾回收机制自动的清理掉。此区域主要用来存放我们经常原创 2017-05-03 13:41:37 · 202 阅读 · 0 评论 -
数组和集合
数组是Java语言内置的数据类型,数组存储基本数据类型,也可以存储引用数据类型,底层链表实现,查询快速,当你创建了一个数组时,他的容量是不变的集合: JAVA还提供其他容器,list,map,set,他们处理对象的时候就好像这些对象没有自己的类型一样,而是直接归根于Object,这样只需要创建一个容器,把对象放进去,取出时转换成自己的类型就行了,集合只能存储引用数据类型。不可以存储基本数据类型.区别原创 2017-05-11 14:12:49 · 237 阅读 · 0 评论 -
组合和继承概念明晰
组合和继承很常用,但是没有深入了解 下面深入学习研究下了基础概念继承 – 发生在编译时,因为它是静态的 组合 – 发生在运行时,因为它更加具有动态性和灵活性。父类的实现对于子类是可见的,所以我们一般称之为白盒复用。组合要求建立一个号的接口,但是整体类和部分类之间不会去关心各自的实现细节,即它们之间的实现细节是不可见的,故成为黑盒复用。 继承是在编译时刻静态定义的,即是静态复用,在编译后原创 2017-04-19 13:28:00 · 277 阅读 · 0 评论 -
java编译时与运行时概念明晰
java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念.基础概念编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,.另外还有啥链接器.汇编器.为了了便于理解我们可以统称为编译器) 那编译时就是简单的作一些翻译工作,比如检原创 2017-04-19 13:24:03 · 565 阅读 · 0 评论