自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 JVM内存分配及管理

本篇文章主要是介绍JVM的垃圾回收算法和JVM的内存分配机制。一.垃圾搜集算法JVM中的内存分配机制垃圾回收算法有标记-清除算法,标记-整理算法和复制算法,JVM使用分代收集算法来回收JVM分配的内存空间,分代收集算法分为新生代和老年代,主要收集JVM内存模型中的堆内存,其中新生代使用复制算法,老年代使用标记-整理算法,下面探索下垃圾回收算法的具体思想。标记-清除算法:标记清除算...

2018-10-22 17:29:36 151

原创 java并发学习之线程安全的计数器

线程安全的计数器实现原理简介:在java中volatile关键字可以保证共享数据的可见性,它会把更新后的数据从工作内存刷新进共享内存,并使其他线程中工作内存中的数据失效,进而从主存中读入最新值来保证共享数据的可见性,实现线程安全的计数器通过循环CAS操作来实现。就是先获取一个旧期望值值,再比较获取的值与主存中的值是否一致,一致的话就更新,不一致的话接着循环,直到成功为止.具体代码实现...

2018-10-21 13:23:11 334

原创 java并发编程学习之死锁

死锁的介绍:锁是一个非常有用的工具,运行场景非常多,因为它使用起来非常简单,而且易于理解。但同时它也会带来一些困扰,比如死锁问题。比如有两个线程A和B,运行都需要两个资源a,b。A获取了a资源,B获取了b资源,接着A去请求b资源,B去请求a资源,两个线程互相阻塞产生死锁。代码示例:public calss DeadLockDemo{ private static String ...

2018-10-20 21:39:23 141

原创 JVM内存区域划分

运行时数据区域:Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户进程的启动和结束而建立和销毁。下面是各区域的具体划分。程序计数器程序计数器是一块较小的空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时通过改变...

2018-10-19 12:35:14 95

原创 HashMap和HashTable的区别

本篇博客主要来比较一下hashmap和hashtable的区别。1.首先来看下继承结构:HashMappublic class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, SerializableHashtablepublic class Hash...

2018-10-18 15:24:58 138

原创 堆排序

堆排序介绍:堆排序可以分为两个阶段。在堆的构造阶段,我们将原始数组重新组织安排进一个堆中;然后在下沉排序阶段,我们从堆中按顺序取出所有元素并得到排序结果。1.堆的构造,一个有效的方法是从右到左使用sink()下沉函数构造子堆。数组的每个位置都有一个子堆的根节点,sink()对于这些子堆也适用,如果一个节点的两个子节点都已经是堆了,那么在该节点上调用sink()方法可以把他们合并成一个堆。我...

2018-10-18 14:25:38 121

原创 二叉堆实现优先队列

适用范围:许多应用程序都需要处理有序的元素,但不一定要求它们全部有序,或是不一定要一次就将它们排序。很多情况下我们会搜集一些元素,处理当前键值最大的元素等操作。优先队列实现原理:1.数据结构二叉堆能够很好地实现优先队列的基本操作。在二叉堆的数组中,每个元素都要保证大于等于另两个特定位置的元素。相应的,这些位置的元素又至少要大于等于数组中的另外两个元素。2.根节点是堆有序的二叉树中的...

2018-10-18 12:54:39 331 1

原创 java集合框架源码解析之HashMap

摘要HashMap简介HashMap数据结构HashMap源码解析HashMap简介:HashMap是一个散列表,它的底层实现是链表数组,存储的结果为键值对,key-value形式,Key允许有一个null,value允许有多个null。通过hash算法来快速定位该数据位于那条链表中。HashMap继承自AbstractMap<K,V>,所以它是一个map,它实现...

2018-10-11 22:24:32 138

原创 java集合框架源码解析之TreeMap源码解析

asdrgfvewargerw

2018-10-07 23:01:25 257

原创 letcode 根据字符出现频率排序

题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。...

2018-10-05 23:57:31 235

原创 letcode 同构字符串

题目描述:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: f...

2018-10-04 13:35:08 112

原创 创造者模式

本篇博客来简要的讲解下创造者模式创造者模式原理创造者模式适用场景代码示例原理介绍:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容 建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)。适用场景:需要生成的产品对象有复杂的内部结构,这些产...

2018-10-02 18:01:09 1671

mybatis3.5.6zip

mybatis3.5.6版本源码zip下载,githua下载太慢并且可能还下载不下来,提供给各位学习mybatis使用。

2020-12-06

mybatis逆向工程所需jar包和文档

很齐全的逆向工程所需jar包,文档等都含有,1.3.5版本,欢迎下载

2018-11-30

prototype.js

prototype.js文件,官网下载。。。

2018-07-23

json 常用jar包下载

commons-beanutils-1.7.0,commons-collections-3.1,commons-lang-2.5,commons-logging-1.1.1,ezmorph-1.0.3,json-lib-2.4-jdk15

2018-06-24

spring 4.2.0完整jar

spring 4.2.0完整包下载,包含Spring 4.2.0所有包,导入即可用。

2018-03-21

空空如也

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

TA关注的人

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