自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 并查集

一步步的教你使用并查集查找无向图回路

2021-01-22 20:38:43 1079

原创 深入理解Java虚拟机(6)--String.intern()方法

String str1 = new StringBuilder("计算机").append("软件").toString();System.out.println(str1.intern() == str1);//jdk1.6 false jdk1.7 trueString str2 = new StringBuilder("ass").append("ert").toString();Sy

2017-06-26 17:28:39 324

原创 深入理解Java虚拟机(5)--对象的访问定位

建立对象是为了使用对象,我们的Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于reference类型在Java虚拟机规范中之规定了一个指向对象的引用,并没用定义这个引用因该通过何种方式去定位、访问队中的对象的具体位置,所以对象的访问方式也是通过虚拟机实现而定的。访问方式分类:1、直接指针: reference 中存储的直接就是对象地址,对象实例数据中有一块区域存储

2017-06-24 15:24:09 368

原创 深入理解Java虚拟机(4)--对象的创建(虚拟机再遇到一条new指令时,会怎么做?)

我们在编写程序的时候经常使用new指令来创建一个对象,那么虚拟机再遇到一条new指令创建对象(仅限于简单对象,不包括数组和Class对象等)的时候,在虚拟机的内部到底是一个怎么样的过程。首先介绍几个在创建对象的过程中使用到的几个生词。1、Java分配内存的方式:1.1、 指针碰撞: 假设Java堆中内存是绝对完规整的,所有用过的内存都放在一边,空闲的内存都放在另一边,中间放着一个指针作为分界点

2017-06-22 16:35:38 756 1

原创 深入理解Java虚拟机(3)--Java内存区域的划分及作用

Java虚拟机在执行Java程序的过程中会把它所管咧内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和小会的时间,有的区域随着虚拟机的启动而存在,有些区域再依赖用户线程的启动和结束而建立和销毁。根据Java虚拟机规范Java虚拟机所管理的内存包括以下几个运行区域:1、程序计数器1.1、简述: 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器

2017-06-22 16:07:51 343

原创 深入理解Java虚拟机(2)--JDK、JRE、JVM的区别

很多程序员已经干了一段时间java了依然不明白jdk、jre以及jvm的区别,尤其是jdk与jre之间的区别。JDK(Java Development Kit)Java 语言的软件开发工具包(SDK),是面向Java开发人员的使用者,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runt

2017-06-21 13:36:33 921

原创 深入理解Java虚拟机(1)--java的发展历史

Java虚拟机之Java的发展历史

2017-06-21 13:02:27 2549

原创 数据库复习(1)--MySQL复制表结构和数据

这篇文章主要介绍了MySQL复制表结构和内容到另一张表中的SQL语句

2017-06-01 21:14:03 889

原创 为什么使用HashSet储存对象时必须重写equals和hashcode方法

对于 Set 接口的实现类 HashSet,它是按照哈希算法来存取集合中的对象,并且因为其继承了 Set 接口,所以不允许插入相同的数据。但是当我们在储存自定义的类的时候会出现相同的对象,我们来查看下面一个示例。示例一:User.java/** * Created by MGL on 2017/4/22. */public class User { private String numbe

2017-05-04 13:39:23 4504

原创 HashSet解析

我们已经花了很长的一段时间来学习了HashMap的一些底层原理,以及简单了解了Hashtable和HashMap两种集合的区别,现在我们从HashSet源码入手,来学习HashSet更细节的地方。1.HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素2.类的定义publi

2017-04-22 09:01:56 587

原创 对大数(BigInteger)进行开方运算

对BigInteger进行开方处理

2017-04-21 19:45:35 5340

原创 HashMap(5)--HashMap和Hashtable的区别

HashMap 和 HashSet 的区别,以及几个常见的线程安全的集合和类

2017-04-11 19:27:58 426

原创 HashMap(4)--动手实现HashMap

自己动手写个HashMap小程序

2017-03-17 12:07:28 890

原创 HashMap(3)进阶篇--HashMap扩容机制

1.什么是resize:resize就是重新计算容量;当我们不断的向HashMap对象里不停的添加元素时,HashMap对象内部的数组就会出现无法装载更多的元素,这是对象就需要扩大数组的长度,以便能装入更多的元素;当然Java里的数组是无法自动扩容的,方法是使用一个新的数组代替已有的容量小的数组;就像我们用一个小桶装水,如果想装更多的水,就得换大水桶。2.什么时候需要resize():当向容器添加元

2017-03-05 13:21:52 9019

原创 HashMap提高篇(2)--HashMap的存取方法的源码实现

HashMap是如何在JDK中存取的。

2017-02-27 20:04:49 387

原创 HashMap基础篇(1) 之Hash算法、Hash表以及冲突的处理

HashMap是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。在学习HashMap之前先来了解几个概念。Hash的定义:Hash,一般翻译做“散列”,也有直接音译为“哈希

2017-02-26 11:08:14 582

原创 回溯算法的使用

回溯算法的介绍以及使用。案例有八皇后问题以及举证中的路径问题

2017-02-23 19:54:53 477

原创 使用@Value无法注入

使用 @Value 时, spring容器无法正确注入。

2017-02-21 11:28:42 7284

原创 log4j的使用--IDEA创建maven项目

log4j的配置和使用

2017-02-14 12:27:25 7587 2

原创 Log4j的配置

log4j简介Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

2017-02-14 12:06:16 1280

原创 tomcat 7(一) startup.bat详解

在window系统系,当我们运行startup.bat文件时,我们就可以启动tomcat。我们来看一下该文件到究竟干了什么。首先介绍一下bat文件1.bat文件 bat文件是dos下的批处理文件,在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务

2016-09-08 18:52:31 2287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除