E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【java深入理解】
java深入理解
动态绑定
在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特性。多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。在一开始接触多态这个词的时候,我们或许会因为这个词本身而感到困惑,如果我们把多态改称作“动态绑定”,相信很多人就能理解他的深层含义。通常的,我们把动态绑定也叫做后期绑定,运行时绑定。(一)方法调用绑定1.绑定概念通常,我们将一个方法调用同一个方法主体关联起来称作绑定
QuinnNorris
·
2023-12-28 07:22
java
一周一篇Java概念
java
多态
动态绑定
Java深入理解
线程的三大特性
目录1CPU缓存导致可见性问题2线程切换导致原子性问题3性能优化导致有序性问题4JMM(JavaMemoryModel)5volatile6synchronized1CPU缓存导致可见性问题线程的三大特性:可见性:Visibility有序性:Ordering原子性:Atomicity而这三个特性往往是并发编程bug的源头,而并发编程的bug往往也都是疑难杂症,如果想要快速定位这些问题的根源,我们就
赵广陆
·
2023-09-26 09:03
java
java
开发语言
Java深入理解
代码块的使用细节
目录1.基本介绍基本语法快速入门2.代码块细节类的调用顺序实例代码块细节2实例代码块细节2实例1.基本介绍代码块又称为初始化块,属于类中的成员(类的一部分),类似于方法,讲逻辑语句封装在方法体中,用{}抱起来;但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用。基本语法(修饰符)(可有可无){代码};注:1.修饰符可选,要写只能写static2.代码块可分为两类
·
2022-05-19 09:05
学习计划
数学基础课编译原理之美数据结构与算法之美架构:从0开始学架构一一10.15全栈工程师修炼指南设计模式之美前端:重学前端透视HTTPFlutterJS核心原理数据库:mysql实战45讲SQL必知必会java:零基础学
JAVA
小坚强_Sophia
·
2022-02-15 21:26
《
Java深入理解
虚拟机》笔记一
JVM中的老生代与新生代JVM示意图内存示意图堆=新生代+老生代,其中新生代等于1/3的堆空间大小,老生代等于2/3堆空间的大小新生代被细分为Eden和Survivor两个局域,由一个Eden和两个Survivor组成,这两个Survivor分别被命名为from和to,三块空间的比例为8:1:1。JVM每次只会使用Eden和其中一块Survivor来使用,还有一个Survivor是空闲的。因此,新
梅子酒z_Z
·
2021-06-14 12:18
【
Java深入理解
】String、StringBuilder、StringBuffer的区别
在我们学习String类的时候,也会学习到StringBuilder和StringBuffer,但是他们之间有什么区别呢?当然他们在具体的代码实现上、内存分配上以及效率上都有着不同(我这里以JDK8为例);它们之间的区别:一、代码实现StringStringBuilderStringBuffer二、性能效率StringStringBuilderStringBuffer三、内存分配StringStr
广州Java劝退师
·
2021-01-26 17:20
java
字符串
java
字符串
jvm
java深入理解
浅拷贝和深拷贝
拷贝对象是java中经常会遇到的问题。java中存在两种类型,基础类型和引用类型。java的赋值都是传值的,对于基础类型来说,会拷贝具体的内容,但是对于引用对象来说,存储的这个值只是指向实际对象的地址,拷贝也只会拷贝引用地址。因为引用对象的存在,所以经常会出现和预期不一样的情况。本文将会深入的探讨一下在拷贝对象中会出现的浅拷贝和深拷贝的情况。拷贝接口java中所有的对象都是继承自java.lang
李旭me
·
2020-08-23 16:25
Java深入理解
集合框架Map
前言Java集合框架中Map接口主要包括HashMap、HashTable、TreeMap,下面依次介绍HashMap主要方法HashMap增加查询删除数据的方法为putgetremove构造方法staticfinalintDEFAULT_INITIAL_CAPACITY=1[]table;transientSet>entrySet;transientintsize;transientintmod
枫晚伴孤舟
·
2020-08-12 18:48
Java
Java深入理解
集合框架Set
前言Java集合框架中Set接口主要包括HashSet、TreeSet,这里只介绍HashSetHashSet主要方法HashSet通过addremove添加和删除数据,通过迭代器查询数据构造方法privatetransientHashMapmap;//DummyvaluetoassociatewithanObjectinthebackingMapprivatestaticfinalObjectP
枫晚伴孤舟
·
2020-08-12 18:48
Java
Java
Set
Java深入理解
集合框架List
前言Java集合框架主要包含Collection和Map两大类,其中Collection类包含List、Set、Queue,List接口包含ArrayList、LinkedList、Vector、Stack,Set接口包含HashSet、TreeSet、SortedSet,而Map接口则主要包括HashMap、HashTable、TreeMap,总结起来类似结构如下:CollectionListA
枫晚伴孤舟
·
2020-08-04 03:16
Java
Java深入理解
volatile
publicclassVolatileTest{/***volatile的实现原理*在生成汇编代码时,对于被volatile修饰的变量,进行写操作时会多出lock前缀的指令。*这个指令所带来的影响:*1.将当前处理器缓存行的数据写回主内存。*2.这个写回主内存的操作会是其他内存中改变量的内存地址失效。**如果对声明了volatile的变量进行写操作,jvm会向处理器发送一条lock前缀的指令,将这
十亿伏特皮卡丘
·
2020-08-02 20:52
java深入理解
AQS
一、AQS简介在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一些底层的实现处理。也包括了独占锁的获取与释放,共享锁的获取与释放,以及超时获取锁,中断获取锁等特性的实现。比如说有关独占锁的一些模板方法:1.voidacquire(intarg):独占式获取同步状态,如果获取失败则
辞旧阙思故人
·
2020-07-13 04:40
java
Java深入理解
之反射
每一个类都有一个class对象,包含了与类有关的信息,当编译一个新类时,会产生一个同名的.class文件,该文件内容保持着class对象。简而言之,通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所以我们可以通过反射机制直接创建对象,即使这个
xiaoshengMr
·
2020-07-08 12:18
Java
Web开发
Java深入理解
之泛型
目录一、什么是泛型?二、为什么要使用泛型?三、泛型的规则三、泛型的使用场景四、泛型的使用方式五、泛型的通配符(边界)六、泛型的类型擦除七、泛型的阴暗角落八、总结一、什么是泛型?泛型是JavaSE1.5的新特性,《Java核心技术》中对泛型的定义是:“泛型”意味着编写的代码可以被不同类型的对象所重用。可见泛型的提出是为了编写重用性更好的代码。而泛型的本质是参数化类型,也就是说所操作的数据类型被指定为
zy31584729
·
2020-07-06 14:15
java
java深入理解
泛型
Java泛型
Java深入理解
之转发与重定向
java请求重定向与请求转发##请求的转发和重定向的本质区别:在于我们当使用转发时,jsp容器将使用一个内部方法来调用我们想要转发的页面,新的页面处理另一个请求,全过程只有一个url而在此过程中Web浏览器是不清楚这个重新调用的过程。而重定向是一个页面通知浏览器发送一个新的页面请求,所以Web浏览器是发送了2次请求,浏览器中的url是会发生改变的,会变成新的URL。重定向–例子中重定向的过程:点击
xiaoshengMr
·
2020-06-27 12:08
Java
Web开发
【
Java深入理解
虚拟机】周志明 读书笔记
文章目录2.JVM内存管理2.2.Jvm运行时内存区域2-18程序计数器虚拟机栈Java堆运行时常量池2.3.虚拟机对象对象的创建3.2.对象存活判断方法7.虚拟机类加载机制什么是虚拟机类加载机制?类的生命周期包括多少个阶段,分别是什么?类加载包括哪5个阶段?连接包括哪3个阶段?哪5个生命周期阶段的顺序是确定的?为什么解析阶段的顺序是不确定的?虚拟机规定了哪5种情况必须立即对类进行“初始化”?类加
落落叶叶无声
·
2020-06-27 04:57
JVM
读书笔记
Java深入理解
设计模式 - 工厂模式
设计模式(二)工厂模式1.概念在基类中定义创建对象的一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟到子类中进行。1.1场景解耦:将对象的创建与使用分离。降低代码重复:如果创建某个对象的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。降低维护成本:由于创建过程都由工厂统一管理,所以发生业务逻辑变化,不需要找到所有需要创建某个对象的地方去逐个修正,只需要
一世俗人
·
2020-06-25 05:25
设计模式
java
设计模式
工厂模式
未来的路很长,我们踏踏实实走进BAT
Java相关的书也看个三四本:core
java深入理解
java虚拟机jcipeffectivejava然后csapp有空的话也可以看一看至于项目,我想你总是参与过几个了,斟酌一下是否能写到简历上去。
伽娃程序猿
·
2020-03-24 05:32
《
Java深入理解
虚拟机》笔记三
垃圾回收期与内存分配可达性分析算法在主流的商用程序语言的主流实现中,都是通过可达性分析来判定对象是否存活。这个算法的基本思路是通过一系列叫做“GCRoots”的对象作为起始点,从这些节点向下搜索。要是能够到达某个对象就说明该对象存活。要是不能,就说明该对象已经不可用,可以对其进行垃圾回收。生存还是死亡在可达性分析算法中判定为不可达的算法也不是立刻就会死亡,要真正宣告一个对象真正死亡,必须要经历两次
梅子酒z_Z
·
2020-03-12 05:52
java深入理解
jvm内存结构,读完之后,或许会让你对以前的一些问题豁然开朗
一、概念:参考图1(java的内存结构)1、Java堆(Heap)对于大多数应用来说,Java堆(JavaHeap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。如果从内存回收的角度看,由于现在收集
ontalk.club
·
2018-12-14 11:23
jvm内存结构
Rx
java深入理解
之自己动手编写Rxjava
Demo的源码地址在mini-rxjava,有兴趣的可以下载源码来看.从观察者模式说起观察者模式,是我们在平时使用的比较多的一种设计模式.观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己.它的特点是一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。本文的重点不是在
JimmieYang
·
2018-11-06 13:57
java深入理解
ArrayList
1、ArrayList基础:底层是数组实现的。其实它就是动态数组。当数组长度未知时使用它是较好的选择。实现了Collection和List接口。它的继承关系如下:实现的接口如下:内部的参数:privatestaticfinalintDEFAULT_CAPACITY=10;//默认容量大小privatestaticfinalObject[]EMPTY_ELEMENTDATA={};//用于空实例的共
学无止境2018
·
2018-08-12 16:32
Java
Java深入理解
IO NIO在文件复制过程中的应用
第一种,传统的IO模式privatestaticvoidcopyByIO(StringsrcPath,StringdstPath){byte[]buffer=newbyte[bufferSize];FileInputStreamfis=null;FileOutputStreamfos=null;try{fis=newFileInputStream(srcPath);fos=newFileOutpu
闭门车
·
2018-06-04 23:51
java
Java 深入理解hashcode()方法——Boolean
Java深入理解
hashcode()方法——Boolean环境:jdk1.8publicstaticvoidmain(String[]args){Booleanb2=true;Booleanb3=false
github_38838414
·
2018-05-29 22:00
java
hashcode
面试题解析
2018年Android开发读书清单与学习计划
17年读书清单疯狂JavaHeadFirst
Java深入理解
Java虚拟机HeadFirst设
bruce_lv
·
2018-01-05 16:07
规划
Android开发书单
读书计划
=====Java=====Java编程思想Java核心技术I、IIJava8函数式编程Effective
Java深入理解
Java虚拟机Java并发编程实践重构:改善既有代码的设计=====Spring
LuckyBug
·
2017-04-10 10:36
读书
Java深入理解
嵌套类和内部类
java]一、什么是嵌套类及内部类? 可以在一个类的内部定义另一个类,这种类称为嵌套类(nestedclasses),它有两种类型: 静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为 内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中定义的内部类;
yuantingjun
·
2012-10-23 12:26
java
Java深入理解
嵌套类和内部类
一、什么是嵌套类及内部类? 可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型: 静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为 内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中
java-mans
·
2012-07-31 16:00
java
Java深入理解
嵌套类和内部类
一、什么是嵌套类及内部类? 可以在一个类的内部定义另一个类,这种类称为嵌套类(nestedclasses),它有两种类型: 静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为 内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中定义的内部类; 其三、匿名
a125138
·
2012-07-31 16:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他