自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Programmer Jett

曾梦想仗剑走天涯,后来 bug 太多没去

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

原创 web 相关概念

web 相关概念文章目录web 相关概念软件架构资源定位服务器资源服务器软件web 容器MVC 设计模式软件架构B/S 结构Browser/Server 结构用户通过浏览器访问服务器获取资源web 编程,是一种网站编程C/S 结构Client/Server 结构用户使用特定的客服端访问服务器获取资源多为 socket 编程,是一种网络编程资源定位网络通信...

2019-12-12 19:46:06 749

原创 类与对象

类与对象文章目录类与对象数据类型基本数据类型引用数据类型枚举类型修饰符访问控制其他修饰符方法构造方法类方法对象方法变量类变量对象变量局部变量内部类非静态内部类静态内部类匿名内部类本地类数据类型变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据基本数据类型java 中有 8 种基本...

2019-12-06 21:37:37 679

原创 跳表

跳表文章目录跳表跳表概念跳表结构跳表性能跳表的高度查找时间复杂度插入时间复杂度删除时间复杂度内存消耗索引动态更新跳表概念二分查找法依赖于数组的随机访问特性,只能用数组实现跳表是基于链表实现类似于二分查找的算法查找、插入、删除各方面性能都不错的动态数据结构,甚至可以替代红黑树Redis 中的有序集合(Sorted Set)就是用跳表来实现的跳表结构对于一个有序的单链...

2019-11-21 10:58:42 702

原创 二叉树

树文章目录树树基本概念链表、树和图二叉树数学性质满二叉树完全二叉树平衡二叉树二叉树操作创建二叉树遍历二叉树打印二叉树统计结点数目输出叶子结点统计叶子结点数目输出高度二叉搜索树红黑树树基本概念结点: 包含一个数据元素及若干指向子树的分支结点的度:含有孩子结点的个数结点的层次:由根结点开始,根结点层次为 0树的深度:由根结点开始,根结点深度为 0树的高度:由叶子结点向根结点,取最大值...

2019-11-18 11:25:06 689

原创 字符串:3 无重复字符的最长子串

字符串:3无重复字符的最长子串文章目录字符串:3无重复字符的最长子串滑动窗口穷举所有组合给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例...

2019-11-16 22:48:14 674

原创 数组:1 两数之和、15 三数之和、18 四数之和

数组:1两数之和、15三数之和、18四数之和文章目录数组:1两数之和、15三数之和、18四数之和两数之和三数之和四数之和两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素示例:给定 nums = [2, 7, 11, 15], ...

2019-11-16 12:51:16 637

原创 jvm 垃圾回收

jvm垃圾回收文章目录jvm垃圾回收引用类型垃圾辨别方法垃圾收集算法分代回收算法堆的分代分代收集回收过程gc类型垃圾收集器收集器分类常见收集器CMS 收集器引用类型强引用:发生 gc 的时候不会被回收软引用:有用但不是必须的对象,在发生内存溢出之前会被回收弱引用:有用但不是必须的对象,在下一次 GC 时会被回收虚引用(幽灵引用/幻影引用):无法通过虚引用获得对象用 P...

2019-11-09 00:17:34 600

原创 jvm 内存结构

jvm内存结构文章目录jvm内存结构运行时数据区虚拟机栈本地方法栈堆区方法区程序计数器执行引擎本地库接口类加载器系统jvm类加载器系统运行时数据区本地库接口执行引擎虚拟机栈本地方法栈堆区方法区程序计数器运行时数据区从整个计算机内存中开辟一块内存存储 jvm 运行时需要用到的对象,变量等虚拟机栈线程私有服务于方法用于存储局部变量表、操作数栈、动态链接、方法出口等信息本地方法...

2019-11-08 23:20:08 593

原创 并发与多线程

并发与多线程文章目录并发与多线程基本概念并发与并行进程与线程线程创建线程ThreadRunnable匿名类Callable线程方法线程状态线程同步阻塞同步synchronizedReentrantLock非阻塞同步actomic 类无同步方案可重入代码线程本地存储死锁死锁条件Java死锁示例线程通信线程池线程安全类基本概念并发与并行并发:指两个或多个事件在同一时间间隔内发生 。当有多个线...

2019-11-07 23:40:34 641

原创 集合与容器类

集合与容器类文章目录集合与容器类体系接口CollectionMapListSet实现类List派生类Map派生类Set派生类传统类算法Collections迭代器比较器ArraysHashCode体系​ 早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack 和 Properties 这些类用来存储和操作对象组。虽然这些类都非常有用,但...

2019-11-05 21:07:46 628

原创 java 内存模型

java内存模型文章目录java内存模型计算机内存模型并发编程特性Java Memory ModelJMM的实现原子性可见性有序性计算机内存模型当程序在运行过程中,会将运算需要的数据从主存复制一份到 CPU 的高速缓存当中,那么 CPU 进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中当 CPU 要读取一个数据时,首先从...

2019-11-05 19:27:46 588

原创 语言特性

认识java语言文章目录认识java语言显著特点解释和编译jdk、jrejvm显著特点一次编译,到处运行,通过 java 虚拟机获取跨平台性垃圾回收,通过垃圾收集器回收内存解释和编译一般情况下,java 源文件经过编译后,得到 .class 字节码文件,再被 jvm 解释器解释执行JIT,just in time compile,即时编译器,将频繁执行的代码(热点代码)直接编译...

2019-11-04 17:13:37 677 1

原创

栈文章目录栈栈的理解栈的实现顺序栈链式栈栈的应用函数调用栈表达式求值括号匹配栈的理解一种操作受限的线性表结构,只允许在一端插入删除数据数组和链表可以在功能上代替栈,但是数组和链表过于灵活,暴露了太多操作接口,使用时比较不可控当一个数据集合只涉及在一端插入删除数据,且满足先进后出特性,应该首选栈这种数据结构入栈出栈的时间复杂度、空间复杂度都为 O(1)空间复杂度是指除了原本的数据...

2019-11-04 11:26:18 566

原创 链表

链表文章目录链表数组与链表单链表结构插入删除随机访问双向链表、循环链表链表实现 LRU 缓存如何手写链表数组与链表同为线性表存储结构数组在一段连续的空间上,链表将分散的内存块连接起来使用单链表SinglyLinkedList结构结点:存储链表的每一个内存块后继指针:每个结点除了存储数据外,还要记录下一个内存块的地址头结点:第一个结点,记录基址尾结点:最后一个结点,指...

2019-11-04 11:21:38 626

原创 数组

数组文章目录数组随机访问低效的插入删除为何从 0 开始编号随机访问数组是一种线性表数据结构,用一组连续的内存空间,来存储同一类型的数据线性表:数据排成线一样的结构,最多只有前和后两个方向数据、栈、队列、链表都是线性表结构堆、图、二叉树等数据之间不具有简单前后关系的结构,所以是非线性表结构随机访问在连续的地址空间存相同类型的数据。这两个限制使数组具有随机访问的特性,但是在插...

2019-11-04 11:20:56 594

原创 复杂度

复杂度文章目录复杂度复杂度分析时间复杂度空间复杂度最好、最坏情况时间复杂度平均时间复杂度均摊时间复杂度复杂度分析数据结构和算法的目标:快、省,即执行效率和资源消耗。“事后统计法”具有很大局限性,提前预估效率很重要。复杂度分析是学习算法的精髓和分析算法的利器。时间复杂度假设每行代码执行时间意义,所有代码的执行时间 T(n) 和每行代码的执行次数 n 成正比。T(n) = O ...

2019-11-04 11:10:47 764

原创 jvm 常量池

常量池文章目录常量池方法区运行时常量池字符串常量池class 文件常量池方法区用于存储 jvm 加载的类的信息、常量、静态变量、编译后的代码jdk7 及以往版本,方法区基于永久代实现,理论上是堆的一部分jdk8 取消了永久代,在本地内存中划分区域-元空间,不属于 JVM 内存,方法区位于元空间中jdk8位于位于位于字符串常量池堆class文件常量池元空间运行时常量池jdk...

2019-11-04 11:02:14 652 1

原创 值传递与对象拷贝

值传递与对象拷贝文章目录值传递与对象拷贝值传递和引用传递两者区别java中的值传递对象拷贝含义5种方式值传递和引用传递调用一个有参函数的时候,会把实际参数传递给形式参数。但是,在程序语言中,这个传递过程中传递的两种情况,即值传递和引用传递两者区别值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数引用...

2019-11-04 10:40:21 737

原创 类加载与实例化

类的加载文章目录类的加载基本步骤加载过程示例分析类加载过程实例化过程类的主动与被动使用编译期常量变量初始化类加载器分类功能委派模式基本步骤类装载分为以下 5 个步骤:加载:根据查找路径找到相应的 class 文件然后导入检查:检查加载的 class 文件的正确性准备:给类中的静态变量分配内存空间解析:虚拟机将常量池中的符号引用替换成直接引用的过程。符号引用理解为一个标示,而直接引用...

2019-11-04 10:35:50 630

原创 反射

反射文章目录反射示例类类对象反射创建对象反射访问属性反射调用方法反射的作用示例类User 类:class User{ String name; int id; public User() { } public User(String name, int id) { this.name...

2019-11-04 10:28:11 585

原创 面向对象

面向对象文章目录面向对象封装继承多态overwrite,overloadupcast,downcast向上转型向下转型封装一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装的优点良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员变量进行更精确的控制。隐藏信息,实现细节。实现方式:属性私有+setter()/getter()。继承继承是面向...

2019-11-04 09:59:15 580

空空如也

空空如也

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

TA关注的人

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