当前搜索:

[置顶] JVM--详解类加载机制

这篇博客—干货很多!!! Java虚拟机的体系结构 前面我们探讨了Class文件的结构,如果你还没有学习,将不利于这部分知识的吸收与掌握,所以请移步:JVM–Class类文件结构(一) 学习一个东西之前,我们务必要知道,这东西大概是干什么的,有什么作用。 为了更清楚的阐释类加载机制...
阅读(662) 评论(1)

[置顶] MySQL数据库--外键约束及外键使用

什么是主键、外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号...
阅读(614) 评论(0)

[置顶] MySQL数据库--索引的说明、使用、及其注意事项

什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录...
阅读(380) 评论(0)

[置顶] JVM--从volatile深入理解Java内存模型

在上一篇博客JVM–解析Java内存区域及数据的内存分配与线程安全之间的一些联系中也说到了,想要理解volatile关键字,我们需要掌握Java虚拟机运行时数据区的相关知识,但是这还不够,只有理解了Java的内存模型,我们才能开始讲述volatile,而Java虚拟机运行时数据区是掌握Java内存...
阅读(732) 评论(3)

[置顶] JVM--解析Java内存区域及数据的内存分配与线程安全之间的一些联系

最近一直在看《Java多线程编程核心技术》的第二章,主要讲的是线程共享变量与线程私有变量以及如何写出线程安全的代码。看这部分一开始没太注意,只是记住了一条规则,“类中的成员变量,也叫实例变量,也叫全局变量,它是非线程安全,是所有线程共享的变量,定义在方法中的私有变量是线程安全的,是每个线程私有的”...
阅读(1249) 评论(5)

[置顶] Java多线程--详解this与Thread.currentThread()的区别

注:本系列博客参考《Java多线程编程核心技术》,主要是对书上的知识点进行总结,并记录学习过程。一直对并发这块比较感兴趣,也到了系统学习Java多线程的时间。目前所学习的书籍是《Java多线程编程核心技术》,买回来之后听说这本书不怎么样,豆瓣评分也就7点几,目前读完了第一章,感觉确实不是很好,但是...
阅读(995) 评论(5)

[置顶] 排序--堆排序分析与实现

何为堆一个数组序列我们可以将其用完全二叉树或近似完全二叉树(不是满二叉树的完全二叉树)表示出来,当数组下标为i时,它的父节点为(i-1)/2,左孩子为(2i+1),右孩子为(2i+2),这种对应关系说明数组下标为0的地方也要存储数据。(关系完全二叉树和满二叉树我在这里不做介绍)堆是在完全二叉树的基...
阅读(299) 评论(0)

Java源码--JDK 1.8 HashMap 重点源码部分剖析

注:感谢 美团点评技术团队 的分享~~,博客部分内容摘抄自其中。侵删! 今天我们来探究一下 HashMap 的内部实现机制。 明确 JDK 1.8 中的 HashMap 使用数组 + 链表 + 红黑树的结构进行实现。 HashMap 的底层思想主要是哈希表,我们来看看 Java 的设...
阅读(181) 评论(0)

Java Web--XiyouLinux Group图书借阅平台的实现

源码地址:XiyouLinux Group 图书借阅平台 项目地址中包含了一份README,因此对于项目的介绍省去部分内容。这篇博客,主要讲述项目中各个模块的实现细节。 项目概述及成果 首先将本项目使用到技术罗列出来: 使用Spring + Spring MVC进行后台...
阅读(253) 评论(1)

计算机网络--应用层之详解DNS域名系统

注:本篇博客大部分内容截选自阮一峰老师的DNS 原理入门一文。其中少部分内容是博主自己的理解。 什么是DNS 我们知道,网络本身只能理解数字形式的地址,也就是IP地址。但是直观的IP地址毫无规律,很难让人记住,并且如果使用IP地址浏览一个公司的主页,意味着这家公司一旦将主页移动到了另一台机器上...
阅读(71) 评论(0)

Java网络爬虫(十四)--多线程爬虫(抓取淘宝商品详情页URL)

源码地址:多线程爬虫–抓取淘宝商品详情页URL 项目地址中包含了一份README,因此对于项目的介绍省去部分内容。这篇博客,主要讲述项目的构建思路以及实现细节。 项目概述及成果 首先将本项目使用到技术罗列出来: MySQL数据库进行数据持久化及对宕机情况的发生做简单的处...
阅读(814) 评论(4)

JVM--深入剖析继承与多态实现原理(合集篇)

由于我将继承与多态的讲解分成了三篇博客,所以在这篇博客给出三篇博客总的链接,阅读顺序由第一篇至第三篇就可以。第一篇:主要讲解分派:JVM–详解虚拟机字节码执行引擎之静态链接、动态链接与分派第二篇:主要讲解invokevirtual指令:JVM–从JVM层面深入解析对象实例化、多态性实现机制 第三...
阅读(317) 评论(0)

JVM--再谈继承与多态

此文试图从JVM层面深刻剖析Java中的继承与多态,知识面覆盖class字节码文件,对象的内存布局,JVM的内存区域、分派,方法表等相关知识,内容整合于大量博客,知乎,书籍,并加上博主自己的理解,相信看完会对你大有裨益! 即使博主在JVM专栏已经有两篇博客对多态的实现机制进行了分析,但是今天在分...
阅读(280) 评论(0)

JVM--从JVM层面深入解析对象实例化、多态性实现机制

之前一直觉得对于字节码的执行过程,对象的实例化过程,多态的实现机制没有进行深刻的探讨,只是进行了简单的总结,一直也苦于没有找到恰当的例子,所幸今天看到一前辈的博客,对其进行钻研之后,终于解决了这个历史遗留问题。 首先贴出前辈的原文链接,并且这篇博客会引用其中的一些内容:Java重写方法与初始化的...
阅读(312) 评论(0)

JVM--解析运行期优化与JIT编译器

JVM开发团队一直在努力,缩小Java与C/C++语言在运行效率上的差距。本篇博客,我们来谈一谈JVM(HotSpot)为了提高Java程序的运行效率,都实现了哪些激动人心的技术~JIT编译器的引入首先我们这篇文章中所说的编译器都是指JVM的组成部分之一—即时编译器(JIT),与生成Java字节码...
阅读(532) 评论(0)

JVM--浅谈垃圾收集机制

谈起GC,应该是让Java程序员最激动的一项技术,我相信每个Java程序员都有探究GC本质的冲动! 本篇博客围绕三个问题展开: 1.哪些内存需要回收? 2.什么时候回收? 3.如何回收? 哪些内存需要回收 首先回答第一个问题:不再使用的对象需要进行回收,不使用的...
阅读(763) 评论(4)

JVM--剖析类与对象在JVM中从生存至死亡

前面学习了Class文件结构、类的加载机制、字节码执行引擎、对象的创建与销毁,所以我准备从一个Java代码进行切入,详细剖析它的生命历程,将所学的知识真正的用起来,也算是对前面所学的知识进行一个系统的总结。我们以这份Java代码为例,来剖析一个Java程序的生命历程:interface Class...
阅读(262) 评论(0)

JVM--详解创建对象与类加载的区别与联系

在前几篇博客中,我们探究了.class文件的本质,类的加载机制,JVM运行时的栈帧结构以及字节码执行时对应操作数栈以及局部变量表的变化。 如果你已经掌握了这些东西,你现在应该会有一种感觉,给你一个Java代码,你可以从JVM的层面上将这个类从javac编译成.class文件开始,到使用java命...
阅读(500) 评论(0)

JVM--详解虚拟机字节码执行引擎之静态链接、动态链接与分派

这篇博客主要带你认识何谓静态链接、动态链接。并且会讲述JVM中分派的知识,让你对Java中的多态实现机制有一个浅显的认识。 前言 从接触Java语言的第一天起,往后,我相信你一定听过什么动态链接啊,动态扩展啊,静态链接啊,它和C++相比有哪些优缺点啊… …如果你只是听说而没有探究过他们...
阅读(1098) 评论(0)

JVM--详解虚拟机字节码执行引擎之栈帧结构

本篇博客信息量依旧庞大! 前言 在讨论本文的主题之前,我们先来思考一下:什么是虚拟机字节码执行引擎?它有什么作用? 在说明这个问题之前,我们先来想想之前我们已经学习过的class文件结构与类加载机制。 当一个Java程序写好之后,我们使用javac命令对其进行编译,产生的虚拟机字节...
阅读(637) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 10万+
    积分: 1959
    排名: 2万+
    博客专栏
    最新评论