自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 泛型-通配符

在泛型未产生之前,对于不确定的类型通常使用Object类型来任意化转换,这就要求代码编写者对于未知类的类型需要预知,而强制类型转换出错并不会在编译时报错,而是在真正运行时才出错。而泛型类则可以隐式的自动转换类型,且无需预知类型,提供了安全的类型转换策略。

2022-10-18 15:58:36 412 1

原创 NIOCSFramework

​ 本文旨在实现一个服务器端采用NIO通信模式,而客户端采用BIO通信模式的工具型框架,且此框架可以二次开发,添加其他更完善的功能与操作。

2022-07-04 13:14:39 252

原创 基于代理机制-正则表达式模拟实现SpringAOP

Spring的AOP面向切面编程的核心在于对于一个切点的执行过程可以进行干预,加入前置拦截、后者拦截以及异常处理等,其中的底层原理是使用代理机制得到一个代理对象,实现方法的代理调用,以及通过给切面的切点添加拦截器链,在参考了SpringAOP的一系列源码后,简单模拟实现了面向切面编程的几个重要部分,如下基本上分为三个部分: 1、代理对象的获取 2、切点的匹配以及拦截器链的实现 3、对代理对象执行方法的参数以及结果的获取与处理下面对这三个方面的实现进行具体阐述

2022-06-21 20:54:01 236

原创 简单模拟实现Spring-IoC

Spring框架的核心内容中,主要有两个功能:IoC和AOP。IoC又称为:控制反转,或者叫“自动注入”,而AOP则称为“面向切面编程”方案,或者称为:非侵入式逻辑更改/扩展。IoC的控制反转中所谓的反转是指:非反转情况下,类的对象应该由代码自身实现实例化,而控制反转意味着,类的对象不是由代码本身完成实例化的,而是由某个“外在”系统实现实例化。本文是对IoC的一个简单实现。这是由代码自身实现对象实例化。那么,IoC是使用“配置、自动注入”这两个配套手段实现对对象的实例化过程,即DI。代码中不会出现.

2022-06-18 11:43:44 379 1

原创 JavaScript-js中的面向对象-原型链

JavaScript虽然是一门与java无关的弱类型语言,但javascript也是“支持”面向对象程序设计思想的,也就是说,js提供“类”、“对象”、instanceof等面向对象编程思想及工具。不过,js的类,同时也是js的函数;js的对象与“其所属类”之间的关系,是由“原型链”决定的。原型链的存在使得对象与其所属类之间建立了联系,原型链用'__proto__'表示,每个js对象都拥有一个原型链,而对于类,每个js的类都拥有一个原型对象、一个原型链和一个prototype。图示如下:且同一个

2022-05-11 21:45:51 207

原创 Java高级基础-两种代理机制的实现

对于Sbring框架中的一些部分,类似于AOP、RMI均存在使用代理机制执行方法的思想,代理机制实质上是通过反射机制得到另一个类的方法以及对象,不需要通过使用方法所在类的对象来调用此,且对于之前只能执行然后返回结果的方法进行处理,使得我们可以在方法执行前后进行相关操作,类似于取出或改变参数、得到结果以及修改结果。

2022-04-24 11:31:35 500

原创 JavaSE-多线程基础-基于多线程的计时器应用

JavaSE的多线程的创建以及对于多线程安全的保护,多线程通信以及对于多线程的应用

2022-03-28 00:09:38 1912

原创 JavaSE-Java中的错误处理机制

基本异常处理语法和过程Java中的错误处理机制针对的错误是指非编译型错误,即非语法类错误。类似于除零错,即在除法运算时不可以除以0,Java在遇到此类错误会出现以下情况:例:System.out.println(16 / 0);这里的ArithmeticException即为Java的内部异常类,异常名称为冒号后的“by zero”(除零错)。上面这种处理错误的方法是抛出异常,还有另一种方法是抓取异常(try...catch)。且我们可以自己定义这种错误的处理: int

2022-02-09 18:03:28 224

原创 JavaSE-接口简单介绍

接口中的成员只能是公有、静态、常变量,即它必须(自动)拥有public、static和final的联合属性,接口中的方法只能是公有的抽象方法,即必须(自动)拥有public和abstract的联合属性!就是说就算不加修饰符,依旧会被认定为拥有以上所说的联合属性!如下所示:public interface MyFirstInterface { public static final int MAX_NUM = 200; int ac= 3; String stringOne = "这是

2022-02-09 13:22:59 368

原创 JavaSE-抽象类及抽象方法

关于抽象关于Java中提供抽象方法与抽象类,抽象的含义为这个方法在当前类无法确定功能是什么,但是又是必不可少的方法!故我们使用抽象方法的定义方法——“public abstract double perimeter();”其中abstract是抽象方法的标志,类似于泛型的<T>标志。如果一个类含有抽象方法,则这个类为抽象类,需要加上abstract,即“public abstract class Shape”。抽象类演示如下:我们生成了一个图形的抽象类,其中包含了周长perimeter和

2022-02-06 15:09:06 560

原创 Java-SE-泛型的简单认识及应用

JavaSE中的泛型功能的具体介绍以及泛型在代码中的应用,包括ArrayList以及HashMap

2022-01-28 18:45:01 1818

原创 Java-SE Java的内置工具类-Scanner类-Calendar类

JavaSE 里的Scanner类-Calendar类,及其相关方法与知识

2022-01-17 17:21:04 296

原创 JavaSE-Java的内置工具类-String类

String工具类的相关知识介绍

2022-01-17 12:34:46 2465

原创 Java-SE Java的内置工具类-数组

数组数组在各种语言中都是使用频率比较高的数据结构,数组在Java中是类,这与C语言中有很大不同。下面我们来看看Java中一维数组与二维数组。1、一维数组Java中一维数组的生成方式有两种,一是在{}内直接写元素,另一种是new 数据类型 (元素数量)。这两种方式均可以得到一个数组,如下: int[] arr = {4,3,2,1};//直接定义数组元素 System.out.println(arr.getClass()); long[] brr = new long[10]

2022-01-16 17:04:25 305

原创 计算机的源头-二进制

目录一、计算机为什么使用二进制?人类计数的发展史:进制的转换:计算机为什么使用二进制? 二、位运算与运算 “&”或运算 “|”非运算“~”异或运算 “^”代码实现:向左移位向右移位一、计算机为什么使用二进制?人类计数的发展史:原始时代,人类用路边的小石子,来统计放牧归来的羊只数量,这表明我们很早就产生了计数的意识。后来,罗马人用手指作为计数的工具,并在羊皮上画出Ⅰ、Ⅱ、Ⅲ来代替手指的数量。表示一只手时,就写成“Ⅴ”形,表示两只手时.

2022-01-14 20:22:00 796

原创 JavaSE-关于Object类-toString()-equals()

关于Object类的介绍-关于覆盖toString()-关于equals()的覆盖-静与动的哲学

2022-01-12 16:07:19 227

原创 JavaSE-工具的抽象与分层-继承

关于继承有关的知识——类的继承关系、继承关系中的构造方法、沿袭传统还是锐意改革——成员、方法的覆盖、基类与派生类的关系

2022-01-11 17:36:41 353

原创 JavaSE-手段丰富的工具(类)

JavaSE-关于this、final、static相关知识

2022-01-08 17:27:39 197

原创 JavaSE-复数类(Complex)的生成以及测试

目录一、复数类的生成1、初始化复数2、生成以及提取复数的相关方法3、复数的显示二、复数的相关运算1、加法(Add)2、减法(Sub)3、乘法(Mul)4、除法(Div)5、复数的相等比较三、测试程序及总结 1、测试2、总结一、复数类的生成1、初始化复数我们首先需要初始化一个新的复数,以便我们之后进行复数的运算。所以我们定义复数的实部和虚部为double 类型的real和vir,且由于我们作为一个复数类工具,我...

2021-10-26 20:43:45 4608

原创 数据结构与算法-项目实训-贪吃蛇

由于windows系统gcc编译器无法形成图像,故在进行贪吃蛇的项目完成时需要在turbo c 环境下运行。文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于N..

2021-09-14 00:30:00 2895

原创 KMP算法-next函数介绍

对于字符串的匹配问题,即在字符串原串中找到子串第一次出现在原串的下标,第一个方案是遍历字符串原串,在每次原串字符偏移时,遍历子串,如果子串可以遍历完成则代表已经找到了子串第一次在原串中出现的位置,返回此时原串遍历指针的下标。int strSearch(const char *src, const char *sub) { int srclen = strlen(src); int sublen = strlen(sub); int i; int j; for(i = 0; ...

2021-08-11 19:08:29 3381

原创 任意阶数的二阶数组实现

目录前言一、前驱知识1.数组的概念及原则2.二维数组一维化二、模块实现1.数组的建立与销毁2.数据的存储总结前言 由于二维数组在日常程序中使用过程中使用频繁,由于普通的二维数组定义需要至少一个阶数,行阶或者列阶。例:int arr[M][N]提前明确二维数组的行阶和列阶, 而int (*p)[N]则仅仅需要一个列阶,之后通过p = arr,p可以直接对arr二维数组中的元素进行访问。 于是我们可以编写一个“通用二维数组工具”!这个工具让...

2021-08-09 19:04:13 778

原创 队列的实现

文章目录一、前驱知识储备 1.基础知识 2.队列的简单介绍 二、功能分块实现 1.队列的创建与销毁 2.判断队列空与满 3.入队与出队 4.读取数据 总结一、前驱知识储备1.基础知识在进行队列的实现之前需要建立使用mec.h文件,此文件的作用是产生一个数据类型boolean,boolean类型的结果只有0与1,作为检验函数的执行结果是否正确。代码如下#ifndef _MEC_H_#define _MEC_...

2021-08-05 17:31:11 353

C语言实现贪吃蛇小游戏

贪吃蛇小游戏的相关.c和.h文件,写的不好,请多指教。

2021-09-14

空空如也

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

TA关注的人

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