- 博客(45)
- 收藏
- 关注
原创 每天搞懂一个设计模式——工厂模式
工厂模式是Java中最常用的设计模式之一,属于创建型模式,它提供了一种创建对象的最佳实践。在需要创建对象时,不需要new关键字,而是调用工厂中的方法创建对象,将创建对象的时机推迟到子类当中,并且将对象的创建与使用进行分离。
2024-04-19 18:31:43 143
原创 学习JQuery——简介
JQuery官网官方描述:jQuery是一个快速、小巧且功能丰富的JavaScript库。它使诸如HTML文档遍历和操作、事件处理、动画和Ajax等简单易用的应用程序接口可以在多种浏览器上工作。通过多功能性和可扩展性的结合,JQuery改变了数百万人编写JavaScript的方式。我的理解:JQuery是一个轻量级的JavaScript函数库。“写更少的代码,做更多的事情”。
2024-04-15 12:46:17 1030
原创 Stream流
Java Stream是Java 8引入的一个新的API,用于处理集合数据的功能强大的工具。它提供了一种函数式编程的方式来操作集合,使得代码更加简洁、易读和高效。Java Stream可以看作是对集合进行一系列操作的管道,这些操作可以是过滤、映射、排序、聚合等。通过使用Stream,我们可以以声明式的方式来描述对集合的操作,而不需要编写繁琐的循环和条件语句。Stream的操作可以分为两类:中间操作和终端操作。中间操作是指对Stream进行转换和处理的操作,如过滤、映射、排序等;
2024-02-04 14:27:19 708 1
原创 抽象类和接口的区别
抽象方法的定义格式:public abstract 返回值类型 方法名(参数列表);抽象类的定义格式:public abstract class 类名{}接口用关键字interface来定义public interface 接口名{}接口不能实例化 接口和类之间是实现关系,通过implements关键字表示public class 类名implements 接口名 {}接口的子类(实现类) : 要么重写接口中的所有抽象方法、要么是抽象类。
2024-02-03 17:51:08 1041
原创 Java面向对象的三大特性
封装告诉我们,如何正确设计对象的属性和方法简单来说,就是对象代表什么,就得封装对应的数据,并提供数据对应的行为。在类的内部确保数据操作细节自己完成,不允许外部干涉,只对外公开简单的接口。
2024-02-03 16:22:29 687
原创 总结Java中的双列集合
① 双列集合一次需要存一对数据,分别为键和值② 键不能重复,值可以重复③ 键和值是一一对应的,每一个键只能找到自己对应的值④ 键+值这个整体,我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象”
2024-02-02 16:04:23 1203
原创 总结Java中的单列集合
1.Collection是单列集合的顶层接口,所有方法被List和Set系列集合共享 2.常见成员方法: add、clear、remove、contains、isEmpty、size 3.三种通用的遍历方式 迭代器:在遍历的过程中需要删除元素,请使用迭代器增强for、Lambda: 仅仅想遍历,那么使用增强for或Lambda表达式泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型的格式:注意:泛型只能支持引用数据类型没有泛型的时候,集合如何存储数据?
2024-02-01 17:29:07 892
原创 十大排序算法
十大排序算法分为比较类排序和非比较类排序;比较类排序:通过比较来决定元素之间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也被称为非线性时间比较类排序。包括插入排序(直接插入排序、希尔排序)、选择排序(直接选择排序、堆排序)、交换排序(冒泡排序、快速排序)、归并排序(二路归并排序、多路归并排序)非比较类排序:不通过比较来决定元素之间的相对次序,它可以突破基于比较排序的时间下限,以线性时间运行,因此也称为线性时间非比较类排序。包括计数排序、基数排序、桶排序。
2024-01-29 21:16:53 5399 3
原创 LeetCode(1)
只关注循环执行次数最多的一段代码;总复杂度等于最高阶项的复杂度;嵌套代码的复杂度等于嵌套内外代码复杂度的乘积。常见时间复杂度:O(1) 常数阶O(N) 线性阶O() 平方阶O() 对数阶O() 线性对数阶O() 立方阶O() 指数阶O(N!) 阶乘阶从小到大依次是:) < O() < O() < O() < O(N!) < O(
2024-01-24 22:41:39 695
原创 前后端分离开发出现的跨域问题
跨域资源共享,Cross-Origin Resource Sharing,简拼为 CORS,是一种基于 HTTP 头信息的机制,通过允许服务器标识除了它自己以外的资源,从而实现跨域访问。这都是因为浏览器的同源策略,为了保证浏览器安全,防止恶意的网站攻击,浏览器限制了从不同源之间的交互。在不同源的情况下,无法发送Ajax请求,如果请求,浏览器就会报错。这里我的前端跑在8081端口下,后端跑在8080端口上 ,虽然协议和域名都相同,但是端口号不同,这种情况就是跨域问题了,所以前端页面向后端发送请求就报错了。
2023-11-28 18:41:58 619
原创 面试之算法
给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。从String尾部遍历字符串,如果尾部有空格,先过滤掉空格如果尾部没有空格,在遇到第一个空格时,空格后面的那个字符串就是字符串中最后一个最大字串//从String尾部遍历字符串,如果尾部有空格,先过滤掉空格//如果尾部没有空格,在遇到第一个空格时,空格后面的那个字符串就是字符串中最后一个最大字串index--;
2023-11-13 11:15:03 66
原创 面试之框架篇
aop是面向切面编程,在spring中用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取公共模块复用,降低耦合,一般可以做为公共日志保存,事务处理等。
2023-11-12 17:36:00 43
原创 面试之MySQL篇
简单来说就是ACID。A就是原子性。B就是一致性。C就是隔离性。D就是持久性。原子性:事务是不可分割最小操作单元,要么都成功,要么都失败。一致性:事务完成时,必须使所有的数据都保持一致状态。隔离性:数据库提供的系统隔离机制,保证事务在不受外界并发操作影响的独立环境下运行持久性:事务一旦提交或者回滚,它对数据库中的数据的改变就是永久的。回答:事务的特性,简单来说就是ACID,也就是原子性、一致性、隔离性、持久性。
2023-11-09 21:30:33 30
原创 并行计算Test
可以发现,当规模较小时,串行算法仍然要比并行算法运行的快,当规模到达定程度的时候,并行运行的速度较串行有了提升。并行算法对各个 CPU的调度也占用一定的时间,当问题规模很小的时候,这个调度时间占了很大的比重,而在规模较大的时候,这个调度时间就显得微乎其微了。观察发现,在问题规模不变的前提下,随着线程数目的增加,问题解决的时间也在相应的减少。但是,问题消耗的时间并不会随着线程数目的增加而不断的减少,原因可能是因为,随着线程数目的增减,线程的额外准备时间开销也将扩大。2、分析线程数目对并行程序的影响。
2023-09-18 12:50:17 156
原创 Java练手小项目拼图小游戏 从代码到打包成.exe完整教程
我已经将打包好的.exe文件放在了百度网盘里,可以下载安装 链接:https://pan.baidu.com/s/1T9OihEC5wPVfV96RH0mWgA?pwd=c6mj 提取码:c6mj 可以发现,我们的游戏主界面包括了 最外层的窗体,菜单栏还有菜单条目,当我们点击菜单栏或者菜单条目的相应按键时,就会触发不同的效果。比如:我们点击了菜单中的关闭游戏,整个程序就会停止运行并且关闭主界面。那么,怎么实现这个窗口呢。首先,我们需要创建最外层的窗体,接着创建菜单对象,创建菜单中的选项对象,创建菜单选项中
2023-08-07 20:25:24 565 1
原创 简易版学生管理系统
如果没有学生信息,提示: 当前无学生信息,请添加后再查询。id不存在,需要提示不存在,并回到初始菜单。id不存在,需要提示不存在并回到初始菜单。如果有学生信息,打印学生信息。id存在,继续录入其他信息。
2023-07-08 21:45:25 312
原创 康小汪双色球彩票系统(我好有钱)
双色球投注区分为红球号码区和蓝球号码区,红球号码范围为01~33,蓝球号码范围为01~16。双色球每期从33个红球中开出6个号码,从16个蓝球中开出1个号码作为中奖号码,双色球玩法即是竞猜开奖号码的6个红球号码和1个蓝球号码,顺序不限。双色球是一种大盘玩法游戏,属乐透型彩票范畴,由康小汪发行管理中心统一组织发行,在全国范围内销售。据说谁写完了这个代码,就已经攻克了国家福利彩票系统的核心代码。
2023-05-29 20:09:53 97
原创 分治算法——快速排序(JAVA实现)
快速排序:又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(n log2 n)(大O符号)次比较。在最坏状况下则需要 O(n^2)次比较,但这种状况并不常见。事实上,快速排序 (n log n)通常明显比其他算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地达成。简单来说:就是给基准值找正确位置的过程。
2023-05-29 17:09:57 478
原创 HDFS文件管理
启动Hadoop集群/usr/local/hadoop/bin/hdfs namenode -format显示信息内若包含以下内容,则说明成功格式化:2.然后启动全部进程:start-all.sh3.成功启动后,可以通过web浏览器访问http://localhost:50070,可以看到如下界面:4.运行 PI实例检查集群是否成功。在数学领域,计算圆周率的方法有很多,在 Hadoop 自带的 examples 中就存在着一种利用分布式系统计算圆周率的方法,采用的是
2023-04-26 23:46:39 1926
原创 Python常用内置函数详解
Python解释器提供了68个内置函数,这些函数不需要引用库直接使用,需要熟练掌握常用内置函数。本篇文章带你一起熟悉Python常用内置函数。
2022-11-06 13:40:23 891
原创 模块与函数
Python程序由包(package)、模块(module)、和函数组成。模块是处理某一类问题的集合,模块由函数和类组成。包是由一系列模块组成的集合。现在我创建一个名为mymodule.py的文件,就是定义了一个名为mymodule的模块。并且在模块中定义一个函数和一个类,在类中定义一个方法。 现在我创建一个文件去调用刚才创建的模块中的函数和类。注意:mymodule.py和call_mymodule.py必须放在同一个目录下,或者放在sys.path所列的目录下,否则python解释器找不到自
2022-10-23 21:41:52 772
原创 Python数据容器
以[]作为标识,列表中的每一个元素之间用逗号" , "隔开。列表可以一次存储多个数据,且可以是不同的类型数据,并且支持嵌套。可容纳多个元素(上限为2**63-1、9223372036854775807个)可以容纳不同类型的元素。数据是有序存储的。允许重复数据存在。可以修改。基本语法:# 字面量[元素1,元素2,元素3,元素4, ...]# 定义变量变量名称 = [元素1,元素2,元素3,元素4, ...]# 定义空列表变量名称 = []变量名称 = list()
2022-10-14 16:34:11 305
原创 Python绘制美国队长之盾
美国队长之盾的外表涂装与美国国旗相似,由红色(象征勇气)、白色(象征真理)和蓝色(象征正义)组成,中间有着一个白色五角星。话不多说,直接上代码!
2022-10-12 20:00:06 2317
原创 Python程序语法元素分析
Python语言中,字符串有三种定义方式:1.单引号定义法:name = '可乐不加糖'2.双引号定义法:name = "可乐不加糖"3.三引号定义法:name = '''可乐不加糖'''需要注意的是,三引号定义法和多行注释写法一样,同时支持换行操作。使用变量接收它,它就是字符串,不使用变量接收它,它就是多行注释。# @Author : 可乐不加糖'''演示字符串的三种定义格式:'''# 单引号定义法name = '可乐不加糖'# 双引号定义法name = "可乐不加糖"
2022-10-11 22:52:54 356
原创 优雅的学习Python
1.感觉一下什么是牛人:1989年圣诞节期间,吉多·范罗苏姆(Guido van Rossum)为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承。Python的创始人是吉多·范罗苏姆(Guido van Rossum)
2022-09-25 05:01:40 240
原创 无人售货机
** 案例:无人售货机* 有橙汁和啤酒两种饮品,每种饮品价值5毛钱,现在用户可以通过一块钱硬币或者五毛钱硬币进行购买,* 如果用户通过一块钱硬币进行购买,无人售货机需要进行找零操作,如果有零钱,指示灯灭,找出零钱* 如果没有,指示灯亮,退回硬币* 没有零钱,用户还可以通过五毛钱硬币购买*/#include<iostream>using namespace std;int buy();//函数声明,主要针对需要找零操作的用户,非找零也可以使用,但如果售货机内没有零钱就无法操作.
2022-04-14 16:18:36 460
原创 JAVA练习题
1、数据输入和三元运算符的练习案例:三个和尚三个和尚,身高未知,用键盘输入他们的身高,找出最高的那个人。分析:①身高未知,采用键盘录入数据实现。首先导包,然后创建对象。●import java.util.Scanner;●Scanner sc = new Scanner(System.in); ②键盘录入三个身高分别赋值给三个变量。●int height1 = ...
2022-04-11 17:28:56 275
原创 自学JAVA
目录Java语言概述Java语言概述:Java简史Java语言概述:Java语言的诞生Java语言概述:主要特性Java语言运行机制及运行过程Java语言的环境搭建JDK、JRE、JVM关系下载并安装JDKJava语言概述Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一 门高级编程语言。 是一种面向Internet的编程语言。Java一开始富有吸引力是因为Jav...
2022-03-15 12:20:53 229 1
原创 Web 前段开发
2.1 HTML概述标记语言,是一种将文本(Text)以及与文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。标记语言有XML、HTML、XHTML。HTML,超文本标记语言(Hypertext Markup Language)是为网页创建和其他可在网页浏览器中看到的信息设计的一种标记语言。HTML文档在浏览器上运行,并由浏览器解析。HTML4.0:1997年12月18日,W3C推荐标准。HTML4.01:1999年12月24日,W3C推荐标准,这也是另外一个被广泛使
2022-03-11 21:03:34 8444
原创 七大排序算法
目录冒泡排序(Bubble Sort)选择排序冒泡排序(Bubble Sort)冒泡排序就是小的数往上浮,大的数往下沉。思路:相邻的两个数进行比较,如果前面的数大于后面的数,则调换两个数的位置,否则继续进行比较下一个相邻的两个数,以此循环下去。注意:可以从小到大排序,也可以从大到小排序#include<iostream>using namespace std;int main(){ //冒泡排序 int arr[10] = { 1,3,5.
2022-02-19 15:29:47 374 1
原创 C++引用
目录引用的基本使用引用的注意事项引用做函数参数引用做函数返回值引用的本质引用的基本使用作用:给变量起别名语法:数据类型 &别名=原名#include <iostream>using namespace std;int main(){ int a = 10;//定义一个变量,给变量赋值=10 int& b = a;//引用,b为a的别名 cout << "a=" << a << endl;
2022-02-18 17:18:06 137 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人