自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农先锋的博客

一位成长中的程序员,希望通过深入学习,更上一层楼。在此将学习的内容做成笔记式的博客,供自己复习,也供大家参考。

  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 AI算法(机器学习)的基本原理

无论是简单的线性模型,还是复杂的神经网络,抑或是LLM大语言模型,其本质都是一个函数。这个函数可能非常复杂,可能是非线性的,也可能是非连续的。如目标函数是一个简单的线性函数f(x) = wx + b, 则w,b就是我们要求的函数的系数,也称模型的参数。

2024-01-09 18:02:59 1341 1

原创 java进阶之线程与锁

目录一、线程1. 概念2. 类型3. 常用方法3. 状态转换4. 扩展二、线程池1.类图2. 线程池创建3. 线程池类型三、锁1. synchronized1.1 原理1.2 用法1.3 锁优化2. lock2.1 AbstractQueuedSynchronizer(AQS)2.2 ReentrantLock3. ReadWriteLock4. vioaile5. Threadlocal6. ...

2020-04-10 20:50:18 269

转载 java进阶之JVM内存模型与垃圾回收(GC)

原文链接:https://www.jianshu.com/p/76959115d486

2020-04-07 15:20:05 162

原创 java进阶之类加载

目录一、类加载过程1. 加载2. 链接3. 初始化二、类加载器及加载机制1. 类加载器2. 类加载机制一、类加载过程java类加载过程主要分为一下三步:1. 加载JVM把class文件字节码加载到内存中,并将这些静态数据转换成方法区的类型数据,并在堆中生成一个代表这个类的java.lang.Class对象。方法区:存储已被虚拟机加载的类信息、常量、静态变量(详见JVM内存模型)2...

2020-04-07 15:06:27 199

原创 数据结构之八大排序算法

文章目录概述性能对比插入排序直接插入排序希尔排序选择排序直接选择排序堆排序交换排序冒泡排序快速排序归并排序基数排序概述排序就是把集合中的元素按照一定的次序排序在一起。一般来说有升序排列和降序排列2种排序,在算法中有8中基本排序:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、基数排序、堆排序。性能对比各排序算法时间复杂度:复杂度函数时间大小比较 :插入排序直接插入排序...

2019-08-25 09:57:17 353

原创 数据结构之图

文章目录定义图的表示图的遍历深度优先搜索(DFS)广度优先搜索(BFS)最小生成树定义图(Graph)是由顶点的有穷非空集合和顶点之间的边组成,通常表示为:G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。图通常有个固定的形状,这是由物理或抽象的问题所决定的。比如图中节点表示城市,而边可能表示城市间的班机航线。如下图是美国加利福利亚简化的高速公路网:...

2019-08-21 13:28:21 432

原创 数据结构之跳跃表

文章目录引入性质实现原理代码实现跳跃链表又称“跳表”,是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。引入在单链表中查询一个元素的时间复杂度为O(n),即使该单链表是有序的,我们也不能通过二分的方式缩减时间复杂度。 如下图:但是如果我们在有序的单链表上加入多层索引,如下图,此时它的查找效率就类似于二分查找...

2019-08-18 11:32:41 217

原创 数据结构之B树、B-树、B+树、B*树

文章目录概述B树B树的性质B树的特点B+树B+ 树的特点B* 树概述B/B+/B*树是为了磁盘或其它存储设备而设计的一种平衡多路查找树(相对于二叉,B树每个内节点有多个分支),与红黑树相比,在相同的的节点的情况下,一颗B树的高度远远小于红黑树的高度.B树上操作的时间通常由存取磁盘的时间和CPU计算时间这两部分构成,而CPU的速度非常快,所以B树的操作效率取决于访问磁盘的次数,关键字总数相同的情...

2019-08-01 15:03:26 217

原创 数据结构之红黑树

文章目录概述性质自平衡策略红黑树的操作插入操作删除操作红黑树的删除情景:删除操作后的平衡:红黑树实现概述在之前的博客《数据结构之二叉树》我提到过二叉排序树,然而二叉排序树的性能取决于二叉树是否平衡:最好的情况是 O(logn),存在于完全二叉排序树情况下,其访问性能近似于折半查找;最差时候会是 O(n),比如插入的元素是有序的,生成的二叉排序树就是一个链表,这种情况下,需要遍历全部元素才...

2019-08-01 01:10:53 491

原创 数据结构之哈希表

文章目录定义散列函数碰撞的解决开放地址法线性探测法二次探测再哈希法链地址法哈希表实现定义哈希表的思想是:用一个与集合规模差不多大的数组来存储这个集合,将数据元素的关键字映射到数组的下标,这个映射称为“散列函数”,数组称为“散列表”。查找时,根据被查找的关键字找到存储数据元素的地址,从而获取数据元素。哈希表是唯一的专用于集合的数据结构。可以以常量的平均时间实现插入、删除和查找。顺序查找的时...

2019-07-30 14:42:02 222

原创 数据结构之堆和优先队列

文章目录堆定义堆与二叉搜索树堆的操作插入删除堆的特性堆的实现优先队列堆定义堆通常是一个可以被看做一棵树的数组对象,所有它没有使用父指针或者子指针。二叉堆是一棵完全二叉树。堆分为两种:最大堆和最小堆,两者的差别在于节点的排序方式。最大堆:父节点的值比每一个子节点的值都要大。子树也是最大堆。最小堆:父节点的值比每一个子节点的值都要小。子树也是最小堆堆与二叉搜索树节点的顺序。在二叉...

2019-07-23 15:51:25 174

原创 数据结构之二叉树

文章目录定义类型相关概念二叉树的存储结构顺序存储链式存储二叉树的遍历二叉树的实现定义在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。类型1. 满二叉树除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。满二叉树结点数为2k−12^k-...

2019-07-12 16:24:12 214

原创 数据结构之栈和队列

文章目录栈栈的实现队列队列的实现栈栈是比较常用的数据结构。栈的应用非常的广泛,比如说,递归函数的实现就是借助于栈保存相关的数据。操作系统中每个线程也会使用栈来保存函数调用涉及到的一些参数和其他变量等。栈最大的一个特点就是先进后出(First In Last Out)。栈的实现栈的实现通常有两种方式,即数组和链表。这里采用数组的方式来实现。定义public class MyStack...

2019-07-11 13:43:27 145

原创 数据结构之线性表

文章目录概述特性分类顺序表定义特点实现链表定义特点实现概述线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。特性集合中必存在唯一的一个“第一元素”。集合中必存在唯一的一个 “最后元素” 。除最后一个元素之外,均有唯一的后继(后件)。除第一个元素之外,均有唯一的前驱(前件)。分类...

2019-07-05 14:02:10 316

原创 java进阶之设计模式概述

目录设计模式的起源设计模式的定义设计模式的作用设计模式的起源Christopher Alexander(克里斯托弗.亚历山大),哈佛大学建筑学博士、美国加州大学伯克利分校建筑学教授、加州大学伯克利分校环境结构研究所所长、美国艺术和科学院院士……ChristopherAlexander博士及其研究团队用了约20年的时间,对住宅和周边环境进行了大量的调查研究和资料收集工作,发现人们对舒适住宅和城...

2019-07-04 09:41:53 140

原创 java进阶之面向对象设计七大原则

目录概述1.单一职责原则2.开闭原则3.里氏代换原则4.依赖倒转原则5.接口隔离原则6.合成复用原则7.迪米特法则概述对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以...

2019-07-03 17:26:23 243

原创 java进阶之UML类图和时序图

目录UML概述UML图分类新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入UML概述统一建模语言(英语:U...

2019-07-03 15:11:30 6023 2

Java文件加解密工具

JavaSwing 字符串、文件加解密工具源码。支持字符流,字节流,分段加密。支持对称AES,DES,非对称RSA等加密,输出格式支持HEX,Base64,二进制流等

2021-07-12

xianjian-inn.zip

仙剑客栈-多线程烹饪项目。java swing项目源码,界面简洁美观,多线程操作,文件IO读写,自定义菜单

2021-07-09

空空如也

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

TA关注的人

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