A_K_L
码龄5年
关注
提问 私信
  • 博客:44,416
    社区:1
    动态:23
    44,440
    总访问量
  • 48
    原创
  • 1,379,523
    排名
  • 27
    粉丝
  • 0
    铁粉

个人简介:努力可能会说谎,但不会白费。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2019-09-05
博客简介:

A_K_L的博客

查看详细资料
个人成就
  • 获得139次点赞
  • 内容获得7次评论
  • 获得197次收藏
  • 代码片获得177次分享
创作历程
  • 42篇
    2020年
  • 8篇
    2019年
成就勋章
TA的专栏
  • 笔记
    29篇
兴趣领域 设置
  • 大数据
    mysql
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

WebSocket与HTTP和socket的区别和联系

目录一、WebSocket产生的背景二、WebSocket与Socket的关系三、WebSocket与HTTP的关系四、WebSocket协议详情1、连接机制2、WebSocket协议小结一、WebSocket产生的背景很多网站为了实现推送技术,所使用的技术都是轮询。所谓的轮询就是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式会带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真
转载
发布博客 2020.08.21 ·
724 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

Java版图书管理系统完整开发流程

图书管理系统开发环境与技术栈项目功能项目演示开发环境与技术栈Windows/Mac/LinuxMavenServletMySQLJackson项目功能管理学校图书信息,主要是用来管理学生借阅图书的信息。项目演示
原创
发布博客 2020.08.19 ·
5013 阅读 ·
13 点赞 ·
2 评论 ·
61 收藏

红黑树的定义和实现原理浅析以及手写一棵Java版红黑树

目录一、二叉搜索树1、 二叉搜索树的概念2、二叉搜索树查找节点的过程3、查找性能分析4、如何避免二叉搜索树出现查询效率过低的问题?二、AVL树1、AVL树的特点2、为什么有了AVL平衡树还需要红黑树呢?三、红黑树1、红黑树概念2、红黑树的特点3、红黑树的定义4、红黑树中的操作5、红黑树插入情景分析四、手写一棵红黑树1、代码2、插入测试在学习红黑树的实现原理之前,首先要明白为什么会出现红黑树?它是怎么来的?它存在的意义是什么以及解决了什么问题?要搞懂这些问题,就不得不先谈谈二叉搜索树和AVL树了。一、
原创
发布博客 2020.08.18 ·
605 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

【排序算法】十大经典排序算法Java版

目录一、排序算法概述1、排序的概念2、排序算法的分类3、排序算法的性能分析二、各排序算法的原理及代码实现1、冒泡排序(Bubble Sort)2、快速排序(Quick Sort)3、插入排序(Insertion Sort)4、希尔排序(Shell Sort)5、选择排序(Selection Sort)6、堆排序(Heap Sort)7、归并排序(Merge Sort)8、计数排序(Counting Sort)一、排序算法概述1、排序的概念排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递
原创
发布博客 2020.08.11 ·
809 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

基于Java的WebSocket聊天室项目完整开发流程

聊天室项目开发环境与技术栈项目功能项目演示开发准备数据库设计1.数据库关系说明2.创建数据库及数据库表前后端接口约定1.用户注册2.用户登录3.检测登录状态4.新增频道5.获取频道列表6.删除频道7.建立websocket连接8.发送/接收消息代码设计1.设计数据库实体类2.设计工具类3.设计dao层4.设计API接口项目代码结构开发环境与技术栈Windows/Mac/LinuxWebSocketMavenServletMySQLGson项目功能主要业务:实现多人群聊功能,记录并管理所
原创
发布博客 2020.07.27 ·
5512 阅读 ·
9 点赞 ·
1 评论 ·
47 收藏

OSI七层模型及对其简单理解举例

一、概览OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型,是一个逻辑上的定义和规范。把网络从逻辑上分为了7层,每一层都有相关或者相对应的物理设备。OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间
转载
发布博客 2020.07.21 ·
4546 阅读 ·
5 点赞 ·
0 评论 ·
40 收藏

【多线程】Java多线程中常用方法总结

在Java中,线程使用Thread关键字来表示。所有线程对象,都必须来自Thread类或者Thread类子类的实例,所以掌握Thread类的常用方法就显得尤为重要。静态方法静态方法可以直接通过Thread.来调用1.currentThread()Thread.currentThread()方法会返回对当前正在执行的线程对象的引用。2.activeCount()Thread.activeCount() 方法会返回活动线程的当前线程的线程组中的数量。3.interrupted()测试当
原创
发布博客 2020.07.02 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【JVM】Java中的垃圾回收机制以及常见的垃圾回收算法

垃圾回收简介垃圾回收英文全称为Garbage Collection,简称GC。Java进程在启动后会创建垃圾回收线程,来对内存中无用的对象进行回收,释放内存空间。垃圾回收的区域Java运行时内存区域主要划分为:程序计数器,Java虚拟机栈,本地方法栈,方法区和堆五部分。其中程序计数器、Java虚拟机栈、本地方法栈随线程的生命周期或生或灭,栈中的栈帧也随着方法的进入和退出有条不紊地执行着出栈和入栈操作,在方法结束或者线程结束时,内存自然就跟随着回收了。所以垃圾回收的主要区域为方法区和堆。而在方法区
原创
发布博客 2020.06.26 ·
801 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

【多线程】Java中死锁的产生条件以及解决方法

什么是死锁死锁是一种特殊的程序状态,简单来说就是两个或多个线程之间循环依赖,互相持有对方需要的锁,导致线程无限期地处于阻塞状态。下面通过一段代码来进一步了解一下死锁:public class DeadlockTest { private static String A = "对象A"; private static String B = "对象B"; public static void main(String[] args) { new DeadlockTe
原创
发布博客 2020.06.21 ·
898 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java中强引用,软引用,弱引用,虚引用的特点和区别

Java中的引用按强度可依次分为:强引用,软引用,弱引用和虚引用。如上图,除了强引用FinalReference类,其他三种引用类型均为public,可以在应用程序中直接使用。强引用强引用在代码之中是普遍存在的,我们写的代码绝大部分都是强引用。比如:Object o = new Object();String s = new String("hello");强引用的特点:只要某个对象与强引用有关联,那么这个对象就永远不会被回收。即使内存不足,JVM宁愿抛出OOM(内存溢出)异常,也不会去回
原创
发布博客 2020.05.31 ·
419 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

【数据结构】Java中二叉树常见问题代码汇总

目录1.二叉树前序递归与非递归遍历2.二叉树中序递归与非递归遍历3.二叉树后序递归与非递归遍历4.1.二叉树前序递归与非递归遍历递归代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right...
原创
发布博客 2020.04.26 ·
597 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【数据结构】Java中的树的基本概念以及二叉树的性质

目录树的基本概念1.定义:2.特点3.基本术语二叉树1.二叉树的特点2.两种特殊的二叉树3.二叉树的性质树的基本概念1.定义:树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。如下图就是一棵普通的树:2.特点1.每棵树都有一个特殊的节点,称为根节点,根节点没有前驱节点;2...
原创
发布博客 2020.04.19 ·
554 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

【数据结构】Java用两个栈模拟实现队列 + 用两个队列模拟实现栈

1.用两个栈来实现一个队列要求: 完成队列的Push和Pop操作。( 队列中的元素为int类型)对于这个问题,《剑指offer》上有一张图很形象:在图中可以看出它用stack1来模拟入队列,用stack2来模拟出队列。然后注意两点就可以很容易的完成这个问题:1.push( )操作,直接将数据压入stack1即可;2.pop( )操作,将stack1中的数据弹出然后再压入到stack2...
原创
发布博客 2020.04.15 ·
366 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

【数据结构】Java设计一个循环队列

题目链接:LeetCode 622循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环, 它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。设计一个循环队列,实现以...
原创
发布博客 2020.04.15 ·
1284 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

【数据结构】Java中队列的常用方法及模拟实现

概述队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。队列具有先进先出FIFO(FirstIn First Out)的特性。队尾:进行插入操作的端称为队尾队头:进行删除操作的端称为队头Queue从上面类的继承关系图可以看到Queue是一个接口,它的内部主要定义了以下几个方...
原创
发布博客 2020.04.15 ·
555 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

【数据结构】栈的经典应用

点击查看关于栈的特性以及常用方法介绍由于栈先进后出的特性,所以很多问题借助栈来处理会变得简单很多。1.括号匹配问题给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。注意:1.左括号必须用相同类型的右括号闭合;2.左括号必须以正确的顺序闭合;3.注意空字符串可被认为是有效字符串。思路:借助栈来完成,遍历字符串。遇见左括号便将其入栈,...
原创
发布博客 2020.04.14 ·
492 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

【数据结构】Java中栈的常用方法及模拟实现

目录概述Stack用数组模拟实现一个栈概述栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素的操作。进行数据插入和删除操作的一端称为栈顶,另一端称则为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。入栈:栈的插入操作叫做压栈或进栈。出栈:栈的删除操作叫做出栈。Stack从上面的关系图可以看出Stack继承自Vector类,而Ver...
原创
发布博客 2020.04.14 ·
479 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

【多线程】Java线程的三种创建方式比较

一、概述在Java中,线程使用Thread关键字来表示,所有线程对象,都必须来自Thread类或者Thread类子类的实例。Thread中构造方法总览:
原创
发布博客 2020.03.29 ·
501 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

JavaSE回顾(六):类和对象详解

。
原创
发布博客 2020.03.22 ·
214 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

剑指offer:旋转数组的最小数字

这个题是《剑指offer》上的第八题。牛客网题目链接:点击直达把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。一般思路拿到这道题最直观的做法就是遍历一遍数组,...
原创
发布博客 2020.03.19 ·
188 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏
加载更多