![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 93
Gopher-毛
通信专业本科,23年毕业。目前全身心转码,go 服务器开发工程师。所以基本不会再更新和回答通信相关的任何内容,望海涵,江山代有才人出,肯定有很多比我更优秀的人,望大家寻找新的通信大佬博主。我说:如果有不可能,那就去创造!
展开
-
【算法基础】堆排序——O(nlogn)
【算法基础】快速排序——O(nlogn)原创 2022-03-12 21:58:27 · 1857 阅读 · 0 评论 -
【算法基础】快速排序——O(nlogn)
快速排序快速排序算法由 C. A. R. Hoare 在 1960 年提出。它的时间复杂度也是 O(nlogn),但它在时间复杂度为 O(nlogn) 级的几种排序算法中,大多数情况下效率更高,所以快速排序的应用非常广泛。再加上快速排序所采用的分治思想非常实用,使得快速排序深受面试官的青睐,所以掌握快速排序的思想尤为重要。快速排序算法的基本思想是:从数组中取出一个数,称之为基数(pivot)遍历数组,将比基数大的数字放到它的右边,比基数小的数字放到它的左边。遍历完成后,数组被分成了左右两个区原创 2022-03-05 14:56:15 · 3415 阅读 · 1 评论 -
【Leetcode训练】数据结构入门——数组全刷
目录[217. 存在重复元素](https://leetcode-cn.com/problems/contains-duplicate/)——简单题目描述:题解:方法一:排序复杂度分析方法二:哈希表[53. 最大子数组和](https://leetcode-cn.com/problems/maximum-subarray/)——简单题目描述img题解img复杂度分析img复杂度分析[1. 两数之和](https://leetcode-cn.com/problems/two-sum/)——简单题目描述题解方法原创 2022-01-29 14:59:57 · 1030 阅读 · 1 评论 -
【Java巩固一】面向对象、HashMap、ArrayList、LinkedList、JDK1.8新特性
Java面向对象有哪些特征,如何应用 面向对象编程是利用类和对象编程的一种思想。万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的继承关系, 一个类和多个类的多态关系。万物皆对象,对象是具体的世界事物,面向对象的三大特征封装,继承,多态。封装,封装说明一个类行为和属性与其他类的关系,低耦合,高内聚;继承是父类和子类的关系,多态说的是类与类的关系。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数原创 2022-01-09 12:47:04 · 373 阅读 · 2 评论 -
【SSM框架】Mybatis的基本使用
Mybatis的基本使用目录Mybatis的基本使用学习目标一、认识Mybatis1. 简介2. 原理3. 为什么使用Mybatis原生jdbc连接4. Mybatis的优点5. Mybatis的核心6. 如何获取mybatis二、Mybatis入门1. 环境搭建2. 创建一个模块,编写MyBatis核心配置文件3. 编写MyBatis工具类4. 创建实体类5. 编写Mapper接口6. 编写Mapper.xml配置文件7. 编写测试类8. 运行结果三、更多案例讲解1. 通过id查询用户2. 根据多个参原创 2021-12-26 21:04:45 · 272 阅读 · 1 评论 -
【框架学习】SMPE后端框架-日志模块分享
目录什么是 AOP为什么需要 AOP1、日志使用注解`@Log`接口切面日志使用2、执行过程3、原理分析3.1选择哪一种AOP声明样式3.2基于@AspectJ的AOP3.2.1声明一个Aspect3.2.2声明一个pointcut3.2.3声明一个advice3.2.3.1Before advice3.2.3.2After returning advice3.2.3.3After throwing advice3.2.3.4After (finally) advice3.2.3.5Around advic原创 2021-11-21 00:42:58 · 700 阅读 · 1 评论 -
【Java学习】多线程:线程创建、线程状态、线程同步、线程通信全总结
目录1、基本概念2、线程创建2.1、 继承 Thread 类(重点)Thread API2.2、 实现Runnable接口(重点)Runnable接口API以上两种方式的比较:初识并发问题——买火车票龟兔赛跑问题:img2.3、 实现Callable接口(了解)2.4、 Lambda表达式2.5、 静态代理模式img3、线程状态3.1、 线程的一些常用方法常用方法——API3.2、 线程休眠——sleep()sleep——APIimg3.3、 线程礼让——yield()yield()——API3.4、 合并原创 2021-11-14 00:17:03 · 1212 阅读 · 0 评论 -
【Java学习】网络编程全总结——TCP、Udp、多线程、IO流、Socket、简易在线咨询聊天室、Java爬虫
目录网络编程1.1、概述1.2、网络通信的要素1.3、IP1.4、端口(port)1.5、通信协议1.6、TCP文件上传Tomcat1.7、UDP发送消息构造方法摘要构造方法摘要咨询DatagramPacket.getData()与DatagramPacket.getLength()的误区trimstartsWith在线咨询:两个人都可以发送1.8、URLJava爬虫----爬取网易云音乐更多相关文章点这里网络编程1.1、概述信件:打电话:—连接—接了—通话 TCP发短信:—发送了就完事了—接收原创 2021-11-04 22:14:47 · 705 阅读 · 0 评论 -
【Java学习】注解和反射【超详细笔记】
目录一、注解1、注解入门2、内置注解3、自定义注解,元注解二、反射机制1、Java反射机制概念1.1 静态 & 动态语言1.2 反射机制概念1.3 反射机制研究与应用1.4 反射机制优缺点1.5 实现2、理解Class类并获取Class实例2.1 class类介绍2.2 获取Class类的实例2.3 哪些类型可以有Class对象3、类的加载与ClassLoader3.1 Java内存分析3.2 类的加载3.3 什么时候会发生类初始化3.4 类加载器的作用4、创建运行时类的对象5、获取运行类的完整结构原创 2021-10-16 15:58:13 · 394 阅读 · 2 评论 -
【JDK新特性】之Stream流
目录Stream API1.集合处理数据的弊端2. Steam流式思想概述3. Stream流的获取方式3.1 根据Collection获取3.1 通过Stream的of方法4.Stream常用方法介绍4.1 forEach4.2 count4.3 filter4.4 limit4.5 skip4.6 map4.7 sorted4.8 distinct4.9 match4.10 find4.11 max和min4.12 reduce方法4.13 map和reduce的组合4.14 mapToInt4.15原创 2021-09-29 11:44:19 · 430 阅读 · 3 评论 -
【JDK8新特性】之方法引用
目录方法引用1. 为什么要用方法引用1.1 lambda表达式冗余1.2 解决方案2. 方法引用的格式2.1 对象名::方法名2.2 类名::静态方法名2.3 类名::引用实例方法2.4 类名::构造器2.5 数组::构造器方法引用1. 为什么要用方法引用1.1 lambda表达式冗余在使用Lambda表达式的时候,也会出现代码冗余的情况,比如:用Lambda表达式求一个数组的和package com.bobo.jdk.funref;import java.util.function.Cons原创 2021-09-28 23:02:26 · 275 阅读 · 0 评论 -
【JDK8新特性】之函数式接口
目录函数式接口1.函数式接口的由来2. 函数式接口介绍2.1 Supplier2.2 Consumer2.3 Function2.4 Predicate函数式接口1.函数式接口的由来我们知道使用Lambda表达式的前提是需要有函数式接口,而Lambda表达式使用时不关心接口名,抽象方法名。只关心抽象方法的参数列表和返回值类型。因此为了让我们使用Lambda表达式更加的方法,在JDK中提供了大量常用的函数式接口package com.bobo.jdk.fun;public class Demo01原创 2021-09-28 11:30:05 · 376 阅读 · 4 评论 -
【JDK8新特性】之Lambda表达式
目录Lambda表达式1. 需求分析2.Lambda表达式初体验3. Lambda的语法规则3.1 Lambda练习13.2 Lambda练习24. @FunctionalInterface注解5. Lambda表达式的原理6.Lambda表达式的省略写法7.Lambda表达式的使用前提8.Lambda和匿名内部类的对比Lambda表达式Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用原创 2021-09-27 21:52:56 · 377 阅读 · 1 评论 -
匿名内部类简要分析
目录什么是匿名内部类?匿名内部类的使用场景?匿名内部类如何创建?匿名内部类的实现和使用例1(实现接口)例2(继承类)什么是匿名内部类?匿名内部类,顾名思义,就是不知道这个类到底是什么名字,也就是不知道类名。匿名内部类的使用场景?匿名内部类适合创建那种只需要使用一次的类,也就是说创建一个匿名内部类,只需要用一次即可。匿名内部类如何创建?new 类名(参数) | 实现接口(){// 匿名内部类的类体部分}从上面的定义可以看出,匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父原创 2021-09-26 17:10:22 · 725 阅读 · 4 评论 -
狂胜说Mybatis笔记
目录狂神说MyBatis01:第一个程序狂神说MyBatis02:CRUD操作及配置解析狂神说MyBatis03:ResultMap及分页狂神说MyBatis04:使用注解开发狂神说MyBatis05:一对多和多对一处理多对一的处理一对多的处理狂神说MyBatis06:动态SQL狂神说MyBatis07:缓存更多Java全栈相关文章点下方文章狂神说MyBatis01:第一个程序MyBatis简介环境说明:jdk 8 +MySQL 5.7.19maven-3.6.1IDEA学习前需要原创 2021-09-02 21:53:17 · 491 阅读 · 0 评论 -
分布式系统唯一ID生成方案汇总
目录1. 数据库自增长序列或字段2. UUID3. UUID的变种4. Redis生成ID5. Twitter的snowflake(雪花)算法6. 利用zookeeper生成唯一ID7. MongoDB的ObjectId8. TiDB的主键更多相关文章点点这里系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段原创 2021-08-18 20:33:11 · 425 阅读 · 0 评论 -
面向对象设计七大原则
这目录1. 单一职责原则(Single Responsibility Principle)2. 里氏替换原则(Liskov Substitution Principle)3. 依赖倒置原则(Dependence Inversion Principle)4. 接口隔离原则(Interface Segregation Principle)5. 迪米特法则(Law Of Demeter)6. 开闭原则(Open Close Principle)7. 组合/聚合复用原则(Composite/Aggregate Re原创 2021-08-06 09:16:39 · 297 阅读 · 0 评论 -
【Mysql学习】基于Swing+jdbc+mysql的Java图书管理系统【保姆级教程】
目录零、项目效果预览及设计准备项目效果预览数据库架构设计SQL源码表 架构设计所需工具ER图一、登录功能实现二、系统主界面实现三、图书类别添加功能四、图书类别查询功能五、图书类别修改删除功能六、图书添加功能七、图书查询功能八、图书修改,删除功能九、分页查询 自连接查询零、项目效果预览及设计准备项目效果预览登录页面图书管理系统主界面关于我们基本数据维护图书类别添加图书类别维护图书添加图书维护安全退出数据库架构设计SQL源码/*SQLyog Ultimate v1原创 2021-08-03 23:35:59 · 4936 阅读 · 5 评论 -
【MySQL学习】八、JDBC
JDBCSUN 公司为了简化开发人员(对数据库的统一)的操作,提供了一个(Java操作数据库的)规范:JDBC这些规范的实现由具体的厂商去做,比如mysql、oracle对于开发人员来说,我们只需要掌握JDBC的接口操作即可需要导入的包有java.sqljavax.sql数据库驱动包:mysql-connector-java第一个JDBC程序创建测试数据库CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general原创 2021-07-26 09:42:31 · 417 阅读 · 2 评论 -
【通信工程】信息类,电子类,电气工程,自动化,计算机,软件工程,机电,等相关专业 全套学习指导
目录大二上模拟电子技术基础信号与线性系统分析大二下数字电子技术基础数字信号处理高频电子线路大二上模拟电子技术基础模拟电子技术基础(全套实验手册及仿真工艺实习)信号与线性系统分析信号与线性系统分析–Matlab实验报告手册大二下数字电子技术基础数字电子技术基础(全套实验手册及仿真工艺实习)数字信号处理数字信号处理----全套Matlab实验报告高频电子线路高频电子线路实验手册(全套实验报告册)==============================================原创 2021-05-06 01:36:34 · 18200 阅读 · 9 评论 -
【一篇理清】C语言/C++/C#,及JAVA/Python的区别在什么地方?【建议收藏】
C语言和C++、C#的区别在什么地方在这里给他们三个布置一个任务看他们如何去解决,看完你就明白了例举一个经典的任务:把大象放进冰箱里,让我们先来看看C语言是如何去解决的。 Cc语言是一个极其高冷的人,因此回答都是冷冰冰的。我:你好C语言,我想把大象放到冰箱里,帮我做好不好?C语言:好我:那我们要怎么做呢?C语言:猜我:额…是不是应该先创造一只大象?C语言:是我:怎么创造呢?C语言:猜我只好去翻了一下文档,哦,malloc一块内存啊。我:好的,我用mal原创 2021-03-20 11:38:33 · 4088 阅读 · 4 评论 -
面向对象基础
这里写目录标题Java 继承类的继承格式继承类型继承的特性继承关键字extends关键字implements关键字super 与 this 关键字final关键字构造器Java 继承继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。类的继承格式在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:类的继承原创 2021-01-10 20:37:54 · 534 阅读 · 2 评论 -
面向对象程序设计基础(三)--抽象类--电脑管理
目录Java 抽象类抽象方法抽象类总结规定例题Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父类包含了子类集合的常见的方法,但是由于父类本身原创 2020-12-19 21:23:27 · 633 阅读 · 1 评论 -
【Java全栈】Java全栈学习路线及项目全资料总结【JavaSE+Web基础+大前端进阶+SSM+微服务+Linux+JavaEE】
目录一,程序应用二,面向对象程序设计基础一,程序应用二,面向对象程序设计基础面向对象程序设计基础(一)学生信息管理面向对象程序设计基础(二)矩形原创 2020-12-03 21:35:26 · 4201 阅读 · 1 评论 -
面向对象程序设计基础(二)矩形
命名App1.java要求:(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;(2)本题中所有内容写在源文件App1.java中。(3)编程环境可选,Eclipse和JDK均可。1、编写一个矩形类Rectangle,包含:成员变量:两个属性:矩形的宽width;矩形的高length。两个构造器方法:(1)一个带有两个参数的构造器方法,用于将width和length属性初化;(2)一个不带参数的构造器,调用构造方法(1)将矩形初始化为宽和高都为10。普通方法:(1)设置ge原创 2020-12-03 21:25:34 · 2977 阅读 · 3 评论 -
面向对象程序设计基础(一)学生信息管理
题:命名App1.java要求:(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;(2)本题中所有内容写在源文件App1.java中。(3)编程环境可选,Eclipse和JDK均可。1、学生类(Student)成员变量:学生名称(StdName),每个学生有三分:test1,test2 和test3 类型 int学生id (StdId) 和学生年龄 (StdAge) 类型 int构造方法:构造方法(1),通过形参初始化名称(StdName)构造方法(2),除了StdId和原创 2020-12-03 21:16:07 · 1755 阅读 · 7 评论 -
java中数组遍历的三种方式
1.for循环遍历通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。2.Arrays工具类中toString静态方法遍历利用Arrays工具类中的toString静态方法可以将一维数组转化为字符串形式并输出。3.foreach语句遍历java5之后,Java提供了一种更简洁的循环:foreach循环,这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索引来访问数组原创 2020-11-08 02:36:36 · 90646 阅读 · 0 评论