自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

discover_space

探索世界 世界因代码而改变

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

原创 org.apache.log4j.Logger 使用jar包

Logger log = Logger.getLogger(A.class);上面的代码需要用到以下两个jar包。1. log4j-1.2.9https://mvnrepository.com/artifact/log4j/log4j/1.2.92.commons-logging-1.2https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.12.1...

2021-03-01 00:54:28 7139

原创 2021新年算法小专题—3.大话排序算法下-归并排序 快速排序(Java)

本文介绍了归并、快速排序两种排序算法。

2021-02-22 23:50:30 187

原创 2021新年算法小专题—3.大话排序算法上(Java)

新年挑战!每天更新一次文章!前面学习了股票买卖的一系列问题,今天第九天来复习一下排序算法。本文介绍了几种简单的排序算法——选择、插入、希尔、冒泡。下一篇更新其他高级排序算法。

2021-02-20 23:56:03 241

原创 2021新年算法小专题—2.股票买卖利润刷题(Java)

2.股票买卖利润-刷题,精选letcode中的相关题目进行解析,已更新:122.买卖股票的最佳时机II(Easy)123.买卖股票的最佳时机III(Hard) 188.买卖股票的最佳时机IV(Hard) 309.买卖股票的最佳时机含冷冻期(Medium) 714.买卖股票的最佳时机含手续费(Medium)。

2021-02-17 23:58:44 320

原创 2021新年算法小专题—2.股票买卖利润(Java)

新年挑战!每天更新一次文章!前四天陆陆续续写完了滑动窗口,今天第五天——股票买卖,解决这样一类令人摸不着头脑的dp问题。使用自动机dp数组的方式记录每天的状态。以letcode121.买卖股票的最佳时机为例。

2021-02-16 11:17:00 695

原创 2021新年算法小专题—1.滑动窗口刷题(Java)

1.滑动窗口-刷题,精选letcode中的相关题目进行解析,已更新:剑指57-II,和为s的连续正数序列(简单)、239.滑动窗口最大值(困难)、567.字符串的排列(中等)、438 找到字符串中所有字母异位词(中等)、3.无重复字母的最长子串(中等)。

2021-02-11 14:41:58 309 2

原创 2021新年算法小专题—1.滑动窗口(Java)

新年挑战!每天更新一篇文章!第一天——滑动窗口,介绍了滑动窗口,讲解了letcode76.最小覆盖子串问题。

2021-02-11 00:30:54 279

原创 201001算法学习总结:链表双指针思想

22题链表中倒数第k个节点、24题反转链表、52题链表的公共结点、25题合并两个排序的链表

2020-10-25 14:07:48 168

原创 201009剑指Offer学习总结:平衡二叉树(二叉树的深度)

55题二叉树的深度、55题平衡二叉树。

2020-10-25 13:42:04 188

原创 201010剑指Offer学习总结:滑动窗口

什么是滑动窗口、57题--和为s的连续正数序列、59题--滑动窗口的最大值。

2020-10-25 13:39:02 86

原创 200930剑指Offer学习总结:重建二叉树

200930算法学习总结:重建二叉树1.原题目剑指 Offer 07. 重建二叉树 【难度:中等】输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 限制:0 <= 节点个数 <= 50002

2020-10-13 08:36:36 76

原创 200928剑指Offer学习总结:斐波那契数列

200928算法学习总结:斐波那契数列1. 原题目:剑指 Offer 10- I. 斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

2020-09-28 20:17:26 114

原创 算法基础1——树(二叉树、遍历、二叉堆、优先队列)

1.树和二叉树深度优先遍历、广度优先遍历2.二叉堆堆的构建、二叉堆的自我调整3.优先队列优先队列的实现(二叉堆应用)

2020-07-26 21:14:05 309

原创 【计算机网络】应用层——1.应用模型、域名系统DNS、文件传输协议FTP

客户/服务器模型、P2P模型、层次域名空间、域名服务器、解析过程、FTP的工作原理

2020-07-09 21:54:58 275

原创 【计算机网络】传输层——2. TCP可靠传输、拥塞控制、流量控制、UDP协议

TCP可靠传输、拥塞控制、流量控制、UDP数据报、UDP校验。

2020-07-09 00:25:48 333

原创 【计算机网络】传输层——1.提供的服务、TCP报文段和连接管理

传输层功能、无连接服务于面向连接服务、TCP协议特点、TCP报文段、TCP连接管理。

2020-07-07 23:39:56 1579

原创 【计算机网络】网络层——3.路由协议、IP组播、网络层设备

路由协议(自治系统、域间路由、域内路由、RIP、OSPF、BGP)、IP组播(IGMP与组播路由算法)、路由器、路由表与路由转发。

2020-07-06 23:58:02 804

原创 【计算机网络】网络层——2. IPv4、IPv6

IPV4分组、地址、NAT、子网、CIDR、ARP、DHCP、ICMP、IPv6特点、地址

2020-07-02 23:17:54 1459

原创 【计算机网络】网络层——1.网络层功能、路由算法

异构网络互联、路由与转发、拥塞控制、静态路由与动态路由、层次路由、路由算法

2020-07-01 12:11:59 754

原创 【计算机网络】数据链路层——2.局域网与广域网

局域网、广域网的基本概念、以太网、IEEE 802.3、IEEE 802.11、PPP、HDLC协议。

2020-06-30 23:40:17 4101

原创 【计算机网络】数据链路层——1.功能、组帧、差错控制

1.数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。(1)为网络层提供服务对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层为网络层提供如下服务:1)无确认的无连接服务。源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链路层不负责重发而交给上层处理。适用

2020-06-30 00:50:58 2090

原创 【计算机网络】物理层——1.通信基础

信道、信号、带宽、码元、波特、速率、信源、信宿等基本概念电路交换、报文交换、分组交换。分组交换的数据报与虚电路。

2020-06-27 23:03:18 870

原创 【计算机网络】整体结构——2.计算机网络体系结构、参考模型

1.计算机网络分层结构我们把计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,是计算机网络中的层次、各层协议及层间接口的集合。计算机网络的体系结构通常具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。分层的基本原则如下:1)每层都实现一种相对独立的功能,降低大系统的复杂度。2)各层之间界面自然清晰,易于理解,相互交流尽可能少。3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实

2020-06-26 12:15:22 726

原创 【计算机网络】整体结构——1.计算机网络概述

计算机网络的概念、组成、功能、分类。

2020-06-16 23:13:25 997

原创 MyBatis框架——2.深入MyBatis配置项

1.概述MyBatis配置文件中所有的元素如下:<?xml version="1.0" encoding="UTF-8" ?><configuration> <!--配置 --> <properties/> <!--属性 --> <settings/> <!--配置 --> <typeAliases/> <!--类型命名 --> <typeHandlers/> &

2020-05-24 14:56:10 255

原创 MyBatis框架——1.MyBatis核心、基础配置

1.持久层的概念、MyBatis特点介绍1.1 MyBatis介绍MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了google code,并且改名为 MyBatis 。2013 年 11 月迁移到 Github。iBATIS 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。iBATIS 提供的持久层框架包括 SQL Maps 和 Data Acc

2020-05-19 00:04:13 285

原创 Java设计模式——5.建造者模式(Builder)

5.建造者模式1.概述建造者模式属于对象的创建模式。可以将一个产品的内部表象(属性)与产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。在大部分情况下都可以使用new关键字或者工厂模式来创建对象,但是有些对象却比较复杂,比如某景区的旅游套票分为:普通成年人、退休老人、半价儿童、军人及家属等,他们有不同的优惠规定。如果通过new或工厂模式来创建对象,参数太多、对象复杂,会造成不便。构建套票所需数据很复杂,导致套票对象的构建难以进行。为了处理这个问题,Builder模式

2020-05-16 09:08:14 120

原创 Java设计模式——4.工厂模式和抽象工厂模式

4.工厂模式和抽象工厂模式4.1概述在Java的世界中,万物皆对象,我们通常使用new关键字来创建对象。现实中,这里用小米生态链举例,小米生态链有众多产品,如手机、笔记本、电视、空调、洗衣机、手表、路由器等,每一个产品种类下还有多种型号。当然这些产品也肯定不会在同一个工厂里生产,一个工厂没办法管理这么多不同类的产品呀!所以一般会分成不同的工厂——大家电工厂、手机工厂、笔记本工厂等。但是,这些都不是我们消费者所关心的事,我们只需要在小米商城里下单,然后由商城根据订单帮我们找相应工厂去生产产品即可。对消

2020-05-15 20:43:29 99

原创 Java设计模式——3.观察者模式(Observer)

3.观察者模式3.1概述观察者模式又称发布订阅模式,是对象的行为模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监视着被观察者的状态,当被观察者的状态发生变化,会通知所有观察者,并让其自动更新自己。现实中有没有这样的例子呢?如智能监控,系统会根据采集到的画面信息做出不同的措施;气象局要监测气温和空气质量,随其变化来发布不同的信息。下面通过一个电商实例来模拟观察者模式。在现实中,有些条件发生了变化,其他的行为也要发生变化,我们可以用if语句来处理。现在,有一个商家生产一些产品,

2020-05-13 13:51:16 130

原创 Java设计模式——2.动态代理模式、责任链模式

2.动态代理模式2.1 代理模式我们用这样一个例子来理解代理模式:近期一位视频博主因与公司签约的问题导致原帐号不能使用的问题引起热议,我们简单来看这一过程,一个视频博主在制作了许多优质视频资源、积累了广泛的人气后就会有广告主来投放广告,这就要签订正式的合约手续,往往很多视频博主是自己一个人做,没有这种专业的背景和能力,甚至个人都无法给广告主开发票,也衡量不出这个广告主到底靠不靠谱,出价...

2020-05-12 21:22:15 181

原创 Java设计模式——1.Java反射技术

1.反射的介绍Java反射技术应用广泛,它能够配置:类的全限定名、方法和参数,完成对象的初始化,甚至是反射某些方法。这样就能大大增强Java的可配置性,Spring IOC的基本原理也是如此。反射机制指在程序运行过程中,对任意一个类都能获取其所有属性和方法,并且对任意一个对象都能调用其任意一个方法。这种动态获取类和对象的信息,以及动态调用对象的方法的功能被称为Java语言的反射机制。...

2020-04-22 23:19:36 385

原创 MySQL数据库基础——8.事务处理、安全管理

一 事务处理1.概念事务处理(transaction processing)可以用来维护数据库的完整性,它保证MySQL操作要么完全执行,要么完全不执行。事务处理是一种机制,用来管理必须成批执行的MySQL操作,以保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途停止,他们或者作为整体执行,或者完全不执行。如果没有错误发生,整组语句提交给数据库表。如果发生错误,则...

2020-03-07 00:01:48 199

原创 MySQL数据库基础——7.存储过程和函数、游标

一 存储过程简单来说,存储过程就是为我们以后的使用而保存的一条或多条MySQL语句的集合。为什么要使用存储过程?理由如下:可以通过把处理封装在容易使用的单元中,简化复杂的操作。 由于不要求反复建立一系列的处理步骤,这保证了数据的完整性。 简化对变动的管理。如果表名、列名或业务逻辑有变化,只需要更改存储过程的代码。 提高性能,使用存储过程比使用单独的SQL语句更快。 存在一些只能用在...

2020-03-06 21:21:43 560

原创 MySQL数据库基础——6.数据操纵(增加删除修改)、表的操作

一 数据操纵1.插入数据insert语句用来插入(或添加)行到数据库表。插入可以用几种方式使用。注意:insert语句一般不会产生输出。(1)插入完整的行此种方式对某个列必须提供一个值,如果某个列没有值,应该使用null。insert into customers values(null,'Pep E. LaPew','100 Main Street','Los Ange...

2020-03-06 11:43:28 442

原创 MySQL数据库基础——5.联结、组合查询

一 联结1.联结表SQL最强大的功能之一就是能够在数据检索查询的执行中联结(join)表。联结是利用SQL的select能执行的最重要的操作。(1)关系表理解关系表的最好方法是来看一个现实世界中的例子。假如有一个包含产品目录的数据库表,其中每种类别的物品占一行。对于每种物品要存储的信息包括产品描述和价格,以及生产该产品的供应商信息。现在,假如有由同一供应商生产的多种物品,那么在何...

2020-03-05 20:02:23 277

原创 MySQL数据库基础——4.聚集函数、数据分组和子查询

一 聚集函数实际应用中,经常需要汇总数据而不用把它们实际检索出来,MySQL中提供了专门的函数,使用这些函数可以方便的完成以下应用场景:确定表中行数(或者满足某个条件或包含某个特定值的行数)。 获得表中行组的和。 找出表列(或所有行或某些特定的行)的最大值、最小值和平均值。聚集函数(aggregate function):运行在组上,计算和返回单个值的函数。1.avg...

2020-03-04 23:46:41 483

原创 MySQL数据库基础——3.计算字段、MySQL基本函数

一 计算字段

2020-03-03 19:08:32 506

原创 MySQL数据库基础——2.排序检索数据、字符匹配

一 排序检索数据1.排序检索数据 order by为了明确的排序用select语句检索出的数据,可以使用关键字order by子句。order by子句取一个或多个列的名字,据此对输出数据进行排序。select prod_name from products order by prod_name;这条语句将对prod_name列以字母顺序排序。order by子句也可以按多个...

2020-03-03 00:21:30 424

原创 MySQL数据库基础——1.数据库基础、MySQL简介(select语句)

一 数据库基础1.数据库的概念(1)数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件)。(2)表(table)某种特定类型数据的结构化清单。(3)模式(schema)关于数据库和表的布局及特性的信息。(4)列(column)表中的一个字段。所有表都是由一个或多个列组成的。(5)数据类型(datatype)所容许的数据的类型。每个...

2020-03-02 10:09:52 148

原创 Java专题学习——2.并发与多线程

一 并发与并行1.并发(Concurrency)是指同一个时间段内多个任务同时都在执行,并且都没有执行结束。并发任务强调在一个时间段内同时执行,而一个时间段由多个单位时间累积而成,所以说并发的多个任务在单位时间内不一定同时在执行。2.并行(Parallelism)是说在单位时间内多个任务同时在执行。在多线程编程实践中,线程的个数往往多于CPU的个数,所以一般都称多线程并发编程而不是...

2020-02-28 23:29:23 515

空空如也

空空如也

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

TA关注的人

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