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
设计模式之职责链模式
目录一、什么是职责链模式二、职责链模式的结构四、职责链模式的使用场景五、职责链模式的实现一、什么是职责链模式二、职责链模式的结构四、职责链模式的使用场景五、职责链模式的实现六、总结六、总结一、什么是职责链模式客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者之间的解耦,并且在客户端可以实现动态的组合职责链。使编程更有灵活性。定义:
·
2021-11-07 14:41
深入理解Java
设计模式之解释器模式
目录一、什么是解释器模式二、解释器模式的使用场景三、解释器模式的优缺点优点:缺点:四、解释器模式的实现音乐解释器演奏内容类(Context)表达式类(AbstractExpression)音符类(TerminaExperssion)客户端代码总结一、什么是解释器模式定义:给定一个语言,定义一个文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式所涉及的角色如下所示:
·
2021-11-07 14:41
深入理解Java
设计模式之中介者模式
目录一、什么是中介者模式二、中介者模式的结构三、中介者模式的优缺点四、中介者模式的使用场景五、中介者模式与发布/订阅模式的异同六、中介者模式的实现结果总结一、什么是中介者模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者作为一种行为设计模式,它公开一个统一的接口,系统的不同对象或组件可以通过该接口进行通信。增加一
·
2021-11-05 17:16
深入理解Java
设计模式之访问者模式
目录一、什么是访问者模式二、访问者模式的结构三、访问者模式的使用场景四、访问者模式的优缺点五、访问者模式的实现总结一、什么是访问者模式定义:表示一个作用于其对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。可以对定义这么理解:有这么一个操作,它是作用于一些元素之上的,而这些元素属于某一个对象结构。同时这个操作是在不改变各元素类的前提下,在这个前提下定义新操作是
·
2021-11-05 17:15
深入理解Java
设计模式之备忘录模式
目录一、什么是备忘录模式二、备忘录模式的结构三、备忘录模式的使用场景四、备忘录模式的优缺点五、备忘录模式的实现总结一、什么是备忘录模式定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态。备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问,目的是为了保护被保
·
2021-11-05 17:15
深入理解Java
设计模式之迭代器模式
目录一、什么是迭代器模式二、迭代器模式的结构三、迭代器模式的使用场景四、迭代器模式的优缺点优点:缺点:五、迭代器模式的实现抽象聚合类迭代器抽象类具体聚合类具体迭代器类客户端调用六、NET中迭代器模式的应用七、总结一、什么是迭代器模式迭代器模式是针对集合对象而生的,对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话
·
2021-11-05 17:14
211本+985硕+计算机专业投面百度,在字节跳动我是如何当面试官的
(最近看
深入理解Java
虚拟机和并发编程的艺术嘛。。计划看看算法4)13.反问环节。期间问到如果能拿offer,毕业之前能否去实习。(emmm下学期还有毕业论文,而且实验室也不会放呀
Java技术开源
·
2021-11-04 19:34
程序员
面试
java
后端
JVM-内存区域与OOM
本篇博客内容主要参考《
深入理解Java
虚拟机》内存区域与内存溢出异常运行时数据区Java虚拟机运行时数据区:程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器
GaoYuan206
·
2021-11-04 16:00
如何查看JVM使用的默认的垃圾收集器
使用的默认的垃圾收集器查看步骤cmd执行命令:java-XX:+PrintCommandLineFlags-version输出如下(举例):针对上述的-XX:UseParallelGC,这边我们引用《
深入理解
·
2021-10-29 10:08
《
深入理解Java
虚拟机》(第二版)学习3:垃圾收集器
垃圾收集器如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。我们这里讨论的收集器主要是基于JDK1.7Update14之后的HotspotVM。Serial收集器Serial收集器是最基本、发展历史最悠久的收集器,曾经(在JDK1.3.1之前)是虚拟机新生代收集的唯一选择。这个收集器是一个单线程的收集器,但它“单线程”的意义并不仅仅说明它只会使用一个CPU或者一条收集线程去完
小关同学喜欢吃汉堡
·
2021-10-06 19:18
JVM
java
big
data
人工智能
《
深入理解Java
虚拟机》(第二版)学习2:垃圾收集算法
对象存活判断在对堆进行回收之前虚拟机需要判断这些对象中那些是“存活”的。引用计数算法(ReferenceCounting)原理:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为0的对象就是不可能再被使用的。优点:实现简单,判定效率高。缺点:很难解决对象之间相互循环引用的问题。JVM并没有使用这种判断方法,而是被广泛使用在FlashP
小关同学喜欢吃汉堡
·
2021-10-05 17:58
JVM
java
深入理解JAVA
基础类库中对象Object类
引言Object类是所有类、数组的父类,位于java.lang包下也就是说,Java允许把所有任何类型的对象赋给Object类型的变量。当定义一个类时没有使用extends关键字为它显式指定父类,则该类默认继承Object父类。例如:publicclassDog{......}等价于:publicclassDogextendsObject{......}Object常用方法Object类属于jav
·
2021-09-26 19:28
深入理解Java
中包的定义与使用
目录包是什么?包的作用导入包中的类自定义包包的访问权限控制包是什么?在开发过程中,会定义很多类,随着类越写越多,难免会出现类重名而发生覆盖的情况,为了在使用它们的时候不让编译器混淆,我们给类加上一个限定(前缀),把所有java程序保存在各自的目录里面,而该目录就是包,包的本质实际上就是一个文件夹即:把它们放在不同的包里面,调用时再加上前缀即可;这样好处是对同名的类进行了区分;能精确指出我们需要的哪
·
2021-09-26 14:42
深入理解java
的异常情况
目录什么是异常?异常的存在形式Java异常体系异常的分类运行时异常编译时异常错误Error编译时异常和运行时异常的区别常见的异常防御式编程Java处理异常的语法异常抛出—throws异常捕获—try…catch自定义异常类总结什么是异常?在程序的运行或者编译时,所产生的错误统称为异常(也叫Bug)异常的存在形式异常在java中以类的形式存在,每一个异常类都可以创建异常对象我们平时看到的异常,都被封
·
2021-09-26 10:18
深入理解Java
虚拟机 JVM 内存结构
目录前言JVM是什么JVM内存结构概览运行时数据区程序计数器Java虚拟机栈本地方法栈方法区运行时常量池Java堆直接内存前言JVM是Java中比较难理解和掌握的一部分,也是面试中被问的比较多的,掌握好JVM底层原理有助于我们在开发中写出效率更高的代码,可以让我们面对OutOfMemoryError时不再一脸懵逼,可以用掌握的JVM知识去查找分析问题、去进行JVM的调优、去让我们的应用程序可以支持
·
2021-09-24 17:45
Java学习指南
Java学习指南1.学习方向高琪300(b站)+《Java编程思想》、《Java并发编程艺术》、《
深入理解Java
虚拟机》1.1引用https://www.zhihu.com/people/shen-ji-kyhttps
涤心kk
·
2021-09-22 18:51
Java
java
《重学Java高并发》你管这“破玩意儿”叫锁(没有高并发经验的朋友们看过来,该专栏结合笔者的实战来讲高并发)
专栏目录:《重学Java高并发》Sempahore的使用场景与常见误区《重学Java高并发》手写一个生产者消费者线程模型正确理解锁是
深入理解Java
并发的重中之重。
中间件兴趣圈
·
2021-09-13 13:39
重学Java高并发
java
面试
(五)深入剖析并发之AQS独占锁&重入锁(ReetrantLock)及Condition实现原理
引言在我们前面的文章《
深入理解Java
并发编程之无锁CAS机制》中我们曾提到的CAS机制如果说是整个Java并发编程基础的话,那么本章跟大家所讲述的AQS则是整个JavaJUC的核心。
竹子爱熊猫
·
2021-09-08 17:32
深入理解Java
SpringCloud Ribbon 负载均衡
目录前言1、抛出问题2、源码解析2.1、LoadBalancerIntercepor2.2、LoadBalancerClient2.3、负载均衡策略IRule2.4、总结3、负载均衡策略总结前言该技术博客是关于黑马视频教程的笔记总结!服务消费者需要通过RestTemplate调用注册中心(Eureka)的服务提供者,但当同一服务名称的服务有多个的时候,我们的服务消费者应该调用哪一个服务呢?这时候就
·
2021-09-06 11:13
在 class 文件中生成所有的字节码指令(一)
InstructionSetSummaryChapter6.TheJavaVirtualMachineInstructionSetChapter7.OpcodeMnemonicsbyOpcode深入理解JVM字节码的2.3.1加载和存储指令小节
深入理解
jyjz2008
·
2021-09-05 11:28
深入理解java
final不可变性
目录一、javafinal基本概念:1、主要用于修饰类、属性和方法:2、finalfinallyfinalize区别:二、final不可变:1、JAVAString类为什么是final不可变的?2、String的不可变性:一、javafinal基本概念:1、主要用于修饰类、属性和方法:被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变,被final
·
2021-08-24 09:30
深入理解java
重载和重写
目录重载1.构造器的重载2.方法的重载(overload)重写区分方法的重载和重写总结重载1.构造器的重载因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载;为了让系统能区分不同的构造器,多个构造器的参数列表必须不同。classPerson{intage;Stringname;publicPerson(){}publicPerson(intage){this.age=ag
·
2021-08-19 09:15
深入理解Java
显式锁的相关知识
目录一、显式锁二、Lock的常用api三、Lock的标准用法四、ReentrantLock(可重入锁)五、ReentrantReadWriteLock(读写锁)六、Condition一、显式锁什么是显式锁?由自己手动获取锁,然后手动释放的锁。有了synchronized(内置锁)为什么还要Lock(显示锁)?使用synchronized关键字实现了锁功能的,使用synchronized关键字将会隐
·
2021-08-18 15:04
⭐
深入理解Java
异常【值得你观看收藏学习】⭐
茫茫人海千千万万,感谢这一秒你看到这里。希望我的文章对你有所帮助!愿你在未来的日子,保持热爱,奔赴山海!目录前言1.什么是异常?2.异常的体系2.1Throwable2.2Error(错误)2.3Exception(异常)2.3.1**运行时异常**2.3.2非运行时异常(**编译时异常**)2.4受检异常与非受检异常2.4.1受检异常2.4.2非受检异常3.异常的处理机制(重点)3.1Java异
太子爷哪吒
·
2021-08-16 10:12
学习之路系列
java
异常
异常处理
深入理解Java
虚拟机:JVM类加载机制
类加载首先我们需要明确,JVM是动态加载class类的,而不是一次性加载程序中所有的class文件(延迟加载机制)。当我们需要这个类的时候,比如说程序在运行过程中classA需要调用另一个classB的方法,但classB没有被加载,这时候就需要通过类加载机制动态加载classB到内存中,只有当classB被加载到内存中,它的方法才能被classA调用。类加载:通过加载,连接和初始化三个过程将cl
·
2021-08-14 12:53
javaJVM
Java 中 this 和 super 的用法详解
前言Java中的关键字上篇我们讲到了final,
深入理解Java
中的final关键字,这次我们来回顾一下this和super这两个关键字的用法,作为一名Java程序员,我觉得基础是最重要的,因为它决定了我们的上限
·
2021-07-30 08:04
java
深入理解Java
虚拟机|JVM03-垃圾收集器与内存分配策略
深入理解Java
虚拟机第3章垃圾回收器与内存分配策略3.2对象已死?
yanghaoplus
·
2021-07-27 11:31
jvm
java
jvm
jvm.gc
深入理解java
虚拟机-运行时数据区域
运行时数据区域java虚拟机在执行java程序的过程中会把它管理的内存划分为若干个不同的数据区域1.程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。由于java虚拟机的多线程是通过线
Margolu
·
2021-07-05 11:54
丹丹学妹哭着对我说:giegie,giegie,你能给我讲一下垃圾回收机制以及垃圾回收器嘛(基于《
深入理解Java
虚拟机》之第三章垃圾收集器与内存分配策略?(上)
sad考试终于落下帷幕,总有人说不出去放松放松嘛,但是我觉得考完就是最大的放松呢,接下来就要准备组会文献的讲解还有更新博客,总结虚拟机的相关内容,而我的丹丹学妹会陪着我的~sad而我们本篇文章主要是给丹丹学妹讲解垃圾回收机制以及垃圾回收器,而垃圾回收机制我们要想一下到底要如何做(就像我们做一件事情,要确定是具体做什么事,哪里做,什么时候做,如何做)?sasadasdsddss①、哪些垃圾(内存)需
slow is fast.
·
2021-07-04 22:48
JVM
深入理解java
.lang.String类的不可变性
1.字符串String的不可变性什么是不可变类?这样理解:一个对象在创建完成后,不能去改变它的状态,不能改变它的成员变量(如果成员变量包含基本数据类型,那么这个基本数据类型的值不能改变;如果包含引用类型,那么这个引用类型的变量不能指向别的对象)不可变类只是其实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候就提供,并且在对象的整个生命周期内固定不变。为了使类不可变,要遵循下面五条
·
2021-06-27 18:43
《
深入理解java
虚拟机》- 05 类加载机制
1、类加载时机类在虚拟机的生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段,其中验证、准备、解析3个部分统称连接(Linking)。类在虚拟机的生命周期以下5种情况需要立即对类进行初始化:(1)遇到new、getstat
em111
·
2021-06-27 01:27
记
深入理解java
虚拟机
基础太差打算从底层好好学习争取半个月读完这本书有需要记住的的东西会写随笔写的不对不好希望大家及时纠正
个子太高的程序媛
·
2021-06-26 23:29
读书
——20170823在读《EffectiveJava》《
深入理解Java
虚拟机JVM高级特性与最佳实践》《HeadFirst设计模式》《大话设计模式》要读《Had
Lin_Shao
·
2021-06-26 20:58
《
深入理解java
虚拟机》- 03 性能监控与故障处理工具
1、JDK的命令行工具1.1jpsjps全称JVMProcessStatusTool,用于显示指定系统内所有的HotSpot虚拟机进程,并显示虚拟机执行主类(mian()所在类)名称命令格式:jps[option][hostid],其中hostid是RMI注册表中的注册的主机名,如果不指定hostid就默认为当前主机或服务器。其中option选项:option常用选项1.2jstatjstat全称
em111
·
2021-06-26 02:12
深入理解Java
虚拟机-Java内存区域与内存溢出异常
概述Java程序员把内存控制的权力交给了Java虚拟机,一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误将会成为一项异常艰难的工作。接下来就从概念上介绍Java虚拟机内存的各个区域,讲解这些区域的作用、服务对象以及其中可能产生的问题。也是了解Java虚拟器的内存管理。运行时数据区域image程序计数器(ProgramCounterRegister)我的理解就是ID。给
苏先生Tongson
·
2021-06-25 19:43
深入理解Java
中HashMap实现原理及源码分析
一、什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元
接着奏乐接着舞S
·
2021-06-24 03:37
深入理解java
虚拟机-jvm垃圾收集器介绍
jvm垃圾收集器介绍垃圾收集器的描述以及新生代与老年代收集器的搭配新生代收集器(younggeneration)1,serial收集器是最基本的,发展最悠久的。是一个单线程收集器,只会使用一个cpu或者一个线程完成垃圾收集。它进行垃圾收集时,必须暂停其他所有的线程直到收集结束。serial收集器对于运行在client模式下的虚拟机来说是一个很好地选择。使用标记复制方法来进行新生代的清理。使用ser
越超_e95a
·
2021-06-23 13:20
全网最新BAT架构实战合集:虚拟机+SB+MySQL+Redis+Nginx+容器化
《
深入理解Java
虚拟机》但要想真的深入理解虚拟机一问肯定远远不够的,但是本文中分三部分对JVM有深入的解析。
Java互联网架构师小马
·
2021-06-23 07:50
深入理解Java
接口
从java接口是什么到为什么,理解java接口,主要解决三个问题1.java接口是什么2.java接口为什么3.java接口怎么用java接口是什么接口是方法的抽象,通过接口规定类需要实现那些方法。所以接口是抽象类型(abstracttype,notabstractclass),而不是抽象类。java如何实现这种抽象类型。接口定义:publicinterfaceShowTips{Stringhel
lemonTreeTop
·
2021-06-22 19:28
Java并发指南2:
深入理解Java
内存模型JMM
本文转载自并发编程网,侵删本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《Java并发指南》其中一篇,本文大部分内容来源于网络,为了把本文主题讲得清
Java技术江湖
·
2021-06-22 17:11
jvm专题:4.jdk常用命令工具
参见周志明的
深入理解Java
虚拟机第四章及jvm源码所有命令都有很多相应参数可以做不同的用途,只说最常用的1.jstat(源码见https://github.com/unofficial-openjdk
北交吴志炜
·
2021-06-22 13:46
《
深入理解Java
虚拟机》学习笔记(三)垃圾回收
判断对象是否存活引用计数算法:为对象添加引用计数器,引用计数器+1,引用失效计数器-1,算法简单,效率高,很难解决对象间相互循环引用的问题。可达性分析算法:通过一系列“GCRoots”的对象作为起点,从这些节点向下开始搜索,搜索所走过的路径称为引用链,当一个对象到GCRoots没有任何引用链,证明此对象不可用。引用强引用:例如Objectobj=newObject();只要引用还存在,立即收集器永
RalapHao
·
2021-06-21 09:21
深入理解Java
Script的原型(转载)
原文链接1)一切都是对象“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。——当然,也不是所有的都是对象,值类型就不是对象。首先咱们还是先看看javascript中一个常用的运算符——typeof。typeof应该算是咱们的老朋友,还有谁没用过它?typeof函数输出的一共有几种类型,在此列出:functionshow(x){console.log(typeofx);//undefine
十年之后_b94a
·
2021-06-21 04:56
JVM 内存分代、垃圾回收漫谈
gudong.name/2017/04/24/jvm_oom_gc.html关于JVM内存模型以及垃圾回收的文章网上很多,自己以前也看过很多,但是却从来也没有系统的去了解学习过,这次正巧再看周志明老师的《
深入理解
大侠咕咚
·
2021-06-21 02:01
深入理解Java
中的反射机制和使用原理!详细解析invoke方法的执行和使用
@toc反射的概念反射:Refelection,反射是Java的特征之一,允许运行中的Java程序获取自身信息,并可以操作类或者对象的内部属性通过反射,可以在运行时获得程序或者程序中的每一个类型的成员活成成员的信息程序中的对象一般都是在编译时就确定下来,Java反射机制可以动态地创建对象并且调用相关属性,这些对象的类型在编译时是未知的也就是说,可以通过反射机制直接创建对象,即使这个对象类型在编译时
·
2021-06-21 00:49
反射
JVM 系列文章之 Java 的内存区域
前言下面关于Java的内存区域介绍大部分参考
深入理解Java
虚拟机,也参考了网上很多资料,以下图片均摘自网络运行时数据区域Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域
pjmike
·
2021-06-20 20:36
为什么Volatile可以实现操作的可见性(《
深入理解Java
虚拟机》笔记)
在java的内存模型中有区分为主内存和工作内存,Java内存模型规定所有变量存储在主内存中,每条线程都有自己的工作内存。image.png而主内存和工作内存之间的交互分为8个原子操作分别是lock,unlock,read,load,assign,use,store,write。“lock(锁定):作用于主内存的变量,它把一个变量标识为一条线程独占的状态。unlock(解锁):作用于主内存的变量,它
AndyWei123
·
2021-06-19 05:26
深入理解Java
new String()方法
问题一:这段代码创建了几个对象?Stringstr1=newString("aa");答案是两个“aa”对象和String对象其中有一项是常量池常量池在Class文件被加载的时候,会被加载进内存中的方法区中的运行时常量池,而运行时常量池里就包括字符串常量池,Class文件中的字符串在类加载时就会加载到字符串常量池中去不过在周志明老师在深入java虚拟机中有说到,到了JDK1.7时,字符串常量池就被
·
2021-06-18 21:52
BiBi - JVM -12- 运行期优化
From:
深入理解Java
虚拟机目录BiBi-JVM-0-开篇BiBi-JVM-1-Java内存区域BiBi-JVM-2-对象BiBi-JVM-3-垃圾收集算法BiBi-JVM-4-HotSpotJVMBiBi-JVM
奋飞的蜗牛ing
·
2021-06-15 03:06
BiBi - JVM -3- 垃圾收集算法
From:
深入理解Java
虚拟机目录BiBi-JVM-0-开篇BiBi-JVM-1-Java内存区域BiBi-JVM-2-对象BiBi-JVM-3-垃圾收集算法BiBi-JVM-4-HotSpotJVMBiBi-JVM
奋飞的蜗牛ing
·
2021-06-12 12:54
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他