8 Shawn Jeon

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

算法-查找算法(顺序查找,二分查找,插值查找,斐波那契查找)

Search Algorithm:Sequence Search, Binary Search, Interpolation Search, Fibonacci Search线性查找算法(Sequence Search)二分查找(Binary Search)插值查找(Interpolation Search)斐波那契(黄金分割法)查找(Fibonacci Search)线性查找算法(Sequence Search)又称线性查找时间复杂度为线性阶 O(n)public class Sequenc

2020-10-24 20:57:04

算法-排序算法(冒泡排序,选择算法,插入排序,希尔排序,快速排序,归并排序,基数排序)

Sort Algorithm:Bubble Sort, Selection Sort, Insertion Sort, Shell`s Sort, Quick Sort, Merge Sort, Radix Sort排序算法概述排序的分类冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell`s Sort)快速排序(Quick Sort)归并排序(Merge Sort)基数排序(Radix Sort)排序算法概述排序算法(

2020-10-18 16:03:02

算法-时间频度& 时间复杂度& 空间复杂度

Temporal Frequency& Time Complexity& Space Complexity计算算法执行时间时间复杂度(Time Complexity)常数阶O(1)对数阶O(log2n)线性阶O(n)线性对数阶O(nlog2n)平方阶O(n2)立方阶O(n^3)k次方阶O(n^k)指数阶O(2^n)空间复杂度(Space Complexity)计算算法执行时间时间频度(Temporal Frequency): 一个算法所花费的时间与算法中语句的执行次数成正比. 算法中的

2020-10-15 19:46:48

递归-迷宫问题和八皇后问题

Recursion: Maze Puzzle& EightQueens Puzzle递归的基本规则迷宫问题八皇后问题递归的基本规则递归中的方法的局部变量都是独立的如果方法的形参是引用类型, 由于传递的是指针递归方法之间是共享的递归必须向退出的条件逼近, 否则就是无限递归迷宫问题map[i][j]: 0表示未走过, 可以尝试; 1表示墙; 2表示该路, 可以走通; 3表示该路, 已走过, 但走不通当 map[6][5] == 2, 则已到达目的地(最右下角), 结束递归pub

2020-10-14 21:09:39

前缀表达式(波兰表达式)& 中缀表达式& 后缀表达式(逆波兰表达式)& 中缀表达式转换后缀表达式

Polish expression& Infix expression& Reverse Polish expression& Infix expression invert to Reverse Polish expression前缀表达式(Polish expression, 波兰表达式)中缀表达式(Infix expression)后缀表达式(Reverse Polish expression, 逆波兰表达式)中缀表达式(Infix expression): 实现简单计算器后缀

2020-10-13 20:41:05

数据结构-栈(通过数组和单向链表实现)

Array Stack& Single Linked List Stack概述应用场景通过数组实现通过单向链表实现概述栈是一个先入后出(FILO, First In Last Out)的有序列表栈的出/入操作限制只能在线性表的同一个端进行应用场景子程序的调用: 在跳往子程序前, 会先将下一个指令的地址存到栈中, 直到子程序执行完后再将地址取出, 回到原来的位置 如浏览器的后退/向前, JVM的虚拟机栈表达式的转换(如 中缀表达式转后缀表达式)与求值二叉树的遍历图形的深度优先(d

2020-10-12 20:30:12

数据结构-单向环形链表解决 Josephu问题

Circular Single Linked ListJosephu(约瑟夫, 约瑟夫环)是一个数学应用问题解决思路代码示例Josephu(约瑟夫, 约瑟夫环)是一个数学应用问题n个人按编号1, 2, …n围坐一圈, 从编号为 k的人开始报数, 数到 m的那个人出列, 此时它的下一个人又从1开始报数, 数到 m的那个人再出列, 依次反复, 直到所有的人全部出列为止, 最后输出出列人的编号顺序解决思路首先创建有 n个节点的不带头的单向环形链表, 然后从 k节点开始计数, 计到 m时, 删除对应

2020-10-11 15:40:59

数据结构-单链表& 双向链表

Single Linked List& Double Linked List概述单链表(Single Linked List)双向链表(Double Linked List)概述链表是有序列表以节点方式链式存储, 也就是节点之间不一定是连续的地址每个节点包含数据域和指向下一个节点的地址/引用链表分带头节点的链表和不带头节点的链表单链表(Single Linked List)/** 定义链表节点类*/class DataNode { /** 节点编号*/ publ

2020-10-10 20:59:03

数据结构-稀疏数组& 环形队列

SparseArray& CircularQueue数据结构稀疏数组(Sparse Array)环形队列(CircularQueue)数据结构数据结构分为2种, 线性结构和非线性结构线性结构(1) 数据元素之间是一对一的线性关系. 常见有数组, 队列, 链表和栈等(2) 存储结构有两种:顺序存储结构: 顺序存储的线性表称为顺序表, 顺序表中的存储元素是连续的链式存储结构: 链式存储的线性表称为链表, 链表中的存储元素不一定是连续的(元素节点中存放的数据包括:元素和相邻元素

2020-10-09 20:55:59

JVM垃圾回收-G1收集器(六)

Garbage-First Collector概述区域(Region)Humongous区域特征G1的垃圾回收的过程年轻代回收(Young GC)并发标记过程混合回收(Mixed GC)Full GC配置选项常见的配置方式概述G1是一款面向服务端的垃圾收集器, 主要针对具有大内存以及多处理器的机器Jdk7开始正式使用 启用参数为 -XX:+UseG1GC, Jdk9时成为默认垃圾收集器, 取代了 CMS以及 Parallel& Parallel Old的组合与 CMS相比, 当小内存环境可

2020-10-03 20:13:01

JVM垃圾回收-Serial收集器& ParNew收集器& Parallel收集器& CMS收集器(五)

Serial GC& ParNew GC& Parallel GC& CMS GCSerial垃圾收集器(串型回收)1. Serial新生代收集器2. Serial Old老年代收集器ParNew垃圾收集器(并行回收)Parallel垃圾收集器(并行回收)CMS垃圾收集器(并发回收)Serial垃圾收集器(串型回收)Serial GC是最基础, 历史最悠久的垃圾收集器, Jdk1.3.1之前回收新生代的唯一选择, 它是一个单线程的串行收集器, 当开始回收时, 将引起所有用户线程

2020-09-30 19:15:12

JVM垃圾回收-垃圾回收的各种分类& 垃圾收集器的组合关系(四)

垃圾回收的各种分类& 垃圾收集器的组合关系垃圾回收的各种分类垃圾收集器的分类7款经典收集器组合关系近期垃圾收集器发展过程垃圾回收的各种分类垃圾收集器的分类按线程数分类: 分为单核(串行收集器)和多核(并行收集器)单核 CPU中适合使用串行收集器多核 CPU中适合使用并行收集器两种收集器共同点都是采用独占式, 也就是回收时都会 STW按工作模式分类: 分为独占式(串行& 并行)垃圾收集器和并发式垃圾收集器独占式垃圾收集器, 一旦开始回收, 会将所有的用户线程 ST

2020-09-29 20:46:07

JVM垃圾回收-强引用, 软引用, 弱引用, 虚引用以及终结器引用(三)

String Reference, Soft Reference, Weak Reference, Phantom Reference, Final Reference概述强引用(String Reference)软引用(Soft Reference)弱引用(Weak Reference)虚引用(Phantom Reference)终结器引用(Final Reference)概述对象的引用级别为4种, 由高到低依次分别为: 强引用, 软引用, 弱引用和虚引用强引用(String Reference

2020-09-28 20:20:21

JVM垃圾回收-finalization机制& 安全点& 安全区域(二)

finalization& Safe Point& Safe Regionfinalization机制概述对象的3种状态销毁对象之前具体判断过程演示例子安全点与安全区域安全点(Safepoint)安全区域(Safe Region)finalization机制概述当垃圾回收时对象被销毁前, 总会先调用对象的 finalize()方法(被调用的前提是必须重写此方法, 同时未被调用过, 因为此方法只会调用一次), 常用于处理资源释放 如关闭文件, 套接字, 数据库连接等对象的3种状态

2020-09-27 20:07:36

JVM垃圾回收-算法(一)

Algorithm什么是垃圾?为什么需要 GC垃圾回收算法标记阶段:`标记阶段 - 引用计数算法(Reference Counting):``标记阶段 - 可达性分析算法(Reachability Analysis)或又称追踪性垃圾收集(Tracing Garbage Collection)/根搜索算法(GC Roots Tracing):`清除阶段(回收阶段):`清除阶段 - 标记-清除算法(Mark-Sweep):``清除阶段 - 复制算法(Copying):``清除阶段 - 标记-压缩算法(Mark-

2020-09-26 20:42:52

JVM执行引擎

Execution Engine执行引擎概述编译分为前/后端内部结构解释器(Interpreter)即时编译器(JIT Compiler)即时编译的执行条件Hotspot VM内嵌两种 JIT编译器选择模式虚拟机与物理机的对比物理机上的执行引擎是直接建立在处理器, 缓存, 指令集(如 x86架构的指令集, ARM架构的指令集)和操作系统层面上的, 而虚拟机的执行引擎是由软件自行实现的, 因此不受物理条件制约的定制指令集, 并能够执行那些不被硬件直接支持的指令集格式执行引擎概述class

2020-09-25 20:42:36

JVM StringTable

StringTableString类的基本特性两种定义方式设置 StringTableJVM版本的演变字符串拼接操作intern()的使用String的垃圾回收相关调优参数String类的基本特性不可变的, 不可被继承的(final类), 支持序列化(实现了 Serializble接口), 可以比较大小(实现了 Comparable接口)两种定义方式字面量方式: 也就是直接使用双引号括起字符串的声明方式此方式会将 String对象直接存储在字符串常量池中String s1 = "a

2020-09-23 19:56:44

JVM方法区

Method Area概述版本之演变历程元空间与永久代的区别内部结构类型信息常量池(Constant Pool Table)运行时常量池(Runtime Constant Pool)字符串常量池(StringTable)方法区的垃圾回收概述线程间是共享的可以是固定大小或动态扩展大小. 如果系统定义了太多的类, 导致空间不足, 则会抛出内存溢出 OOM虽然方法区在运行时数据区属独立的存在, 但逻辑上属于堆空间版本之演变历程Jdk6或之前的内部实现是永久代(Permanent Space),

2020-09-21 21:08:23

JVM对象的实例化

Object Instance对象实例化步骤对象的内存布局对象内存布局代码实例对象的访问定位对象实例化步骤判断对应的类是否已加载(1) 当 new一个对象时, 首先检查 new指令的参数(如 new Demo()的类)能否在常量池中定位到一个类的符号引用(即判断类元信息是否存在)(2) 如果没有, 则按双亲委派机制, 使用当前类加载器加载对应的 .class文件, 并生成对应的 Class类对象. 此时如果找不到对应的 .class文件, 则抛出ClassNotFoundException异常

2020-09-19 21:04:08

JVM堆空间

Heap Space概述内存结构(`分代收集算法`的落地实现)堆内部结构JVM内存逻辑上分为三部分GC(JVM的垃圾回收)GC按回收区域分为两大类GC触发机制GC过程TLAB(Thread Local Allocation Buffer)缓冲区逃逸分析(Escape Analysis), 堆外存储技术简单例子标量替换配置选项概述一个 JVM实例中只存在一个堆空间, 以及在运行时数据区中空间最大的区域, 同时 GC(Garbage Collection, 垃圾收集器)最频繁的区域所有的线程间共享一个堆

2020-09-17 22:00:15

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。