- 博客(16)
- 收藏
- 关注
原创 05、队列(queue):队列在线程池等有限资源池中的应用
05、|队列(queue):队列在线程池等有限资源池中的应用5.1 如何理解“队列”?先进者先出,这就是典型的“队列”最基本的操作也是两个:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头部取一个元素。实现:用数组实现的队列叫作顺序队列;用链表实现的队列叫作链式队列。队列需要两个指针:一个是 head 指针,指向队头;一个是 ...
2020-02-28 05:00:03
188
原创 04、 栈实现浏览器的前进和后退功能
04、 |栈:实现浏览器的前进和后退功能4.1 “栈”的理解类似一叠盘子——后进者先出,先进者后出。栈是一种"操作受限"的线性表。当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,首选"栈"结构。、如何实现一个栈顺序栈——数组实现的;链式栈——链表实现的。代码一:public class StackBasedOnArray { priv...
2020-02-28 03:14:52
421
原创 03、链表:实现LRU(Least Recently Used)缓存淘汰算法
03、|链表:实现LRU(Least Recently Used)缓存淘汰算法3.1 链表结构及其操作与数组的对比:不同的链表类型:和单链表相比,循环链表的优点是从链尾到链头比较方便。当要处理的数据具有环型结构特点时,就特别适合采用循环链表。比如著名的约瑟夫问题——eg:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:...
2020-02-22 15:08:59
283
转载 二分查找模板(java,屡试不爽)
二分查找模板(屡试不爽)作者:yxc链接:https://www.acwing.com/blog/content/31/来源:AcWing二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。版本1(mid包含在左半边区间)当我们将区间[l, r]划分成[l, mid]和[mid + 1,...
2020-02-18 01:34:54
468
原创 MySQL——基础篇
MySQL——基础篇一、数据库的相关概念数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。表(table) 某种特定类型数据的结构化清单。模式(schema) 关于数据库和表的布局及特性的信息。列(column) 表中的一个字段。所有表都是由一个或多个列组成的。数据类型(datatype) 所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)...
2020-02-17 21:39:48
338
原创 HTML
HTML1、什么是HTMLHTMLHTML:Hyper Text Markup LanguageHTML不是一种编程语言,而是一种标记语言标记语言是一套标记标签HTML使用标记标签来描述网页HTML文档包含了HTML标签以及文本内容HTML文档也叫做web页面2、HTML标签HTML tag开始标签元素内容结束标签定义HTML文档...
2019-12-27 16:56:20
161
原创 GUI
GUI组件窗口弹窗面板文本框列表框按钮图片监听事件鼠标键盘事件破解工具1、简介Gui的核心技术:Swing AWT1.界面不美观2.需要jre环境所以不流行目的:1.了解MVC架构,了解监听2.写一些小工具2、AWT2.1Awt介绍1.包含了很多类和接口。GUI:Graphical User Interface2.元素:窗口,按钮,文本框3....
2019-12-27 15:50:16
160
转载 如何优雅的打印数组
如何优雅的打印数组 在 Java 中,数组虽然是一个对象,但并未明确的定义这样一个类,因此也就没有覆盖 toString() 方法的机会。如果尝试直接打印数组的话,输出的结果并不是我们预期的结果。那有没有一些简单可行的方式呢?效果前置:package com.yucode.array;/* *purpose:探究数组打印的方法 * */import java.util.Ar...
2019-12-27 13:42:43
1645
转载 BIO,NIO,AIO
本文转自公众号JavaGuide 原文地址:BIO,NIO,AIO 简要总结熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是我们学习 Netty 的基础。文章目录BIO,NIO,AIO 总结BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结...
2019-12-24 15:28:55
118
原创 02、 数组:为什么很多编程语言中数组都从0开始编号?
02、 | 数组:为什么很多编程语言中数组都从0开始编号?2.1 如何实现随机访问? 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表(Linear List)。线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。 连续的内存空间和相同类型的数据。因此可以保...
2019-12-24 02:21:28
107
原创 1、复杂度分析
1、复杂度分析1.1 事后统计法我们把代码跑一遍,通过统计、监控,就能得到算法的执行的时间和占用的内存大小——事后统计法。局限性:测试结果非常依赖测试环境测试结果受数据规模影响很大因此引入大O时间复杂度表示法1.2 大O时间复杂度表示法表示代码执行时间随数据规模增长的趋势,也叫做渐进时间复杂度,简称时间复杂度。时间复杂度分析只关注执行循环次数最多的一段...
2019-12-24 01:27:15
116
原创 方法
方法一、什么是方法Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。回顾:方法的命名规则:小写+驼峰命名法二、方法的定义...
2019-12-23 06:12:23
171
原创 流程控制
流程控制一、用户交互ScannerScanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样-个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner s = new Scanner(System. in);通过Scanner...
2019-12-21 13:10:47
102
原创 Java基础语法
Java基础语法一、注释1.//单行注释2./**多行注释**/3.文档注释二、标识符和关键字类名、变量名和方法名第一杯称为标识符。 所有的标识符都应该以字母、$、或者 _ 开始 不能使用关键字作为变量名或者方法名 标识符是大小写敏感的 可以用中文但是不建议三、数据类型强语言类型 要求变量的使用要严格符合规定,所有变量都必须先定义再使用基本类型(pr...
2019-12-14 04:45:56
121
原创 反射
反射一、Java反射机制概述1、Java不是动态语言,但Java可以称之为"准动态语言"。即Java有一定的动态性,我们可以利用反射机制获得类似动态语言的特性。Java的动态性让编程的时候更加灵活。2、Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完...
2019-12-12 19:15:21
180
原创 注解
注解一、注解入门什么是注解Annotation是从JDk5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序做出解释。(这一点和注释comment没什么区别)可以被其他程序(比如编译器等)读取。Annotation的格式注解是以"@注释命"在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value = "unc...
2019-12-11 13:56:22
70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人