![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 83
Chasing stars
我要畅饮它清澈的遗忘,永远存在,但绝不曾经存在。
展开
-
数据结构与算法(三) 排序算法(代码示例)
数据结构与算法三 排序算法1. 选择排序2. 插入排序3. 冒泡排序4. 归并排序5. 快速排序6. 希尔排序7. 堆排序总结1. 选择排序选择排序的基本原理:对于未排序的一组记录,经过第一次比较,找到最大或者最小值,将它与第一个位置交换,然后除去第一个位置的最大或者最小值,再重复上述过程,直到所有记录排序好。代码如下:/** * 描述:选择排序 * * @author Ye * @version 1.0 * @date 2021/8/27 20:08 */public class原创 2021-09-13 11:14:03 · 197 阅读 · 0 评论 -
数据结构与算法(二) 栈与队列(代码示例)
数据结构与算法 栈与队列1. 数组和链表实现栈2. 用O(1)的时间复杂度求栈中的最小元素3. 链表和数组实现队列4. 用两个栈模拟队列操作1. 数组和链表实现栈链表的方式:/** * 描述:栈的链表实现 * * @author Ye * @version 1.0 * @date 2021/8/20 13:44 */public class Stack<E> { Node1<E> top = null; public boolean isEmpty原创 2021-09-12 20:53:16 · 164 阅读 · 0 评论 -
数据结构与算法(一) 链表(代码示例)
数据结构与算法1. 什么是单链表2. 实现单链表的增删操作1. 插入单链表第i个结点,即插入到ai-1与ai之间的具体步骤:2. 删除第i个结点3. 删除链表的重复数据4. 找出单链表中的倒数第k个元素5. 实现链表的反转6. 从尾到头输出单链表7. 查找单链表的中间结点8. 检测一个链表是否有环9. 在不知道头指针的情况下删除指定结点10. 判断两个链表是否相交11. 总结1. 什么是单链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每原创 2021-08-19 20:31:06 · 722 阅读 · 0 评论 -
Java基础知识(十) 多线程
Java基础知识1. 什么是多线程?它与进程有什么区别?为什么要使用多线程2. 同步和异步有什么区别3. 如何实现Java多线程4. run()方法与start()方法有什么区别5. 多线程同步的实现方法有哪些1. synchronized关键字2. wait()方法与notify()方法3. Lock6. sleep()方法与wait()方法有什么区别7. 终止线程的方法有哪些8. synchronized与Lock有什么异同9. 什么是守护线程10. join()方法的作用是什么上一篇:Java基础知原创 2021-08-13 20:03:09 · 139 阅读 · 0 评论 -
Java基础知识(九) 容器
Java基础知识1. Java Collections 框架是什么2. 什么是迭代器3. ArrayList、Vector 和 LinkedList 有什么区别4. HashMap、Hashtable、TreeMap 和 WeakHashMap 有哪些区别5. Collection 和 Collections 有什么区别上一篇:Java基础知识(八) Java平台与内存管理1. Java Collections 框架是什么Java Collections 框架中包含了大量集合接口以及这些接口的实现类和原创 2021-08-11 20:38:28 · 148 阅读 · 0 评论 -
Java基础知识(八) Java平台与内存管理
Java基础知识1. 为什么说Java是平台独立性语言2. Java 平台与此他语言平台有哪些区别3. JVM 加载 class 文件的原理机制是什么上一篇:Java基础知识(七) 输入输出流1. 为什么说Java是平台独立性语言平台独立性是指可以在一个平台上编写和编译程序,而在其他平台上运行。保证 Java 具有平台独立性的机制为“中间码”和“Java 虚拟机(Java Vintual Machine,JVM)”。Java 程序被编译后不是生成能在硬件平台上可执行的代码,而是生成了一个“中间码”原创 2021-08-11 10:34:15 · 121 阅读 · 0 评论 -
Java基础知识(七) 输入输出流
Java基础知识输入输出流1. Java IO流的实现机制是什么2. 管理文件和目录的类是什么3. Java Socket是什么4. Java NIO是什么5. 什么是Java序列化6. System.out.println()方法使用时注意的问题上一篇:Java基础知识(六) 异常处理输入输出流1. Java IO流的实现机制是什么在Java 语言中,输人和输出都被称为抽象的流,流可以被看作一组有序的字节集合,即数据在两设备之间的传输。流的本质是数据传输,根据处理数据类型的不同,流可以分为两大原创 2021-08-10 17:29:13 · 321 阅读 · 0 评论 -
Java基础知识(六) 异常处理
Java基础知识异常处理1. finally块中的代码什么时候被执行2. 异常处理的原理是什么3. 运行时异常和普通异常有什么区别上一篇:Java基础知识(五) 字符串与数组异常处理1. finally块中的代码什么时候被执行在Java语言的异常处理中,finally块的作用就是为了保证无论出现什么情况,finally块里的代码一定会被执行。由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此finally块原创 2021-08-03 22:00:08 · 99 阅读 · 0 评论 -
Java基础知识(五) 字符串与数组
Java基础知识字符串与数组1. 字符串的创建与存储的机制是什么2. “==”、equals和hashCode有什么区别3. String、StringBuffer、StringBuilder 和 StringTokenizer有什么区别4. Java数组的初始化方式有哪几种5. length属性与length()方法有什么区别上一篇:Java基础知识(四) 基本类型与运算字符串与数组1. 字符串的创建与存储的机制是什么在Java语言中,字符串起着非常重要的作用,字符串的声明与初始化主要有如下两种情原创 2021-08-02 19:45:13 · 1022 阅读 · 0 评论 -
Java基础知识(四) 基本类型与运算
Java基础知识基本类型与运算1. Java提供了哪些基本数据类型2. 什么是不可变类基本类型与运算1. Java提供了哪些基本数据类型Java 语言一共提供了 8 种原始的数据类型(byte,short, int,long,float, double,char,boolean),这些数据类型不是对象,而是 Java 语言中不同于类的特殊类型,这些基本类型的数据变量在声明之后就会立刻在栈上被分配内存空间。除了这8 种基本的数据类型外,其他类型都是引用类型(例如类、接口、数组等),引用类型类似于C++中原创 2021-08-02 14:19:06 · 139 阅读 · 0 评论 -
Java基础知识(三) 关键字
Java基础知识关键字1. 变量命名规则2. break、continue 以及 return 有什么区别3. final、finally 和 finalize 有什么区别4. static关键字有哪些作用5. volatile有什么作用6. instanceof 有什么作用7. strictfp 有什么作用关键字1. 变量命名规则在Java 语言中,变量名、函数名、数组名统称为标识符Java 语言规定标识符只能由字母(a~ z,A ~Z)、数字(0 ~ 9)、下画线(_)和$ 组成,并且标识符的第一原创 2021-07-31 15:27:34 · 161 阅读 · 2 评论 -
Java基础知识(二) 面向对象的技术
Java基础知识面向对象的技术1. 面向对象与面向过程有什么区别2. 面向对象有哪些特征3. 什么是继承4. 组合和继承的区别5. 多态的实现机制6. 重载和覆盖有什么区别7. 抽象类(abstract class)与接口(interface)有什么异同8. 内部类有哪些9. 如何获取父类名10. this与super的区别面向对象的技术1. 面向对象与面向过程有什么区别具体而言,面向对象和面向过程主要有以下方面的不同:出发点不同。面向对象方法是用符合常规思维的方式来处理客观世界的问题,强调把问原创 2021-07-30 14:37:03 · 293 阅读 · 0 评论 -
Java基础知识(一) 基本概念
Java基础知识基本概念1. Java语言的优点2. Java与c/c++有什么异同3. 为什么需要public static void main(String[] args)这个方法4. Java程序的初始化的顺序是怎么样的5. Java中的作用域基本概念1. Java语言的优点Java语言是纯面向对象的语言平台无关性Java提供了很多内置类库提供了对web应用开发的支持具有较好的安全性和健壮性去除了C++语言中难以理解,容易混淆的特性,使程序更加严谨,简洁2. Java与c/c++原创 2021-07-29 20:19:14 · 252 阅读 · 1 评论 -
IDEA安装和使用Alibaba的JAVA开发手册插件
IDEA安装和使用Alibaba的JAVA开发手册插件1. 安装插件2. 使用插件对于许多学生和一些初级开发人员来说,想要码出高质量代码,并且符合各种规约是比较困难的,但是Alibaba的JAVA开发手册插件将帮助我们解决这个问题关于Alibaba的JAVA开发手册插件开发手册,可以看一下这篇文章https://blog.csdn.net/weixin_43520670/article/details/1190585201. 安装插件找到 Settings >> Plugins输原创 2021-07-26 10:11:27 · 370 阅读 · 0 评论 -
JAVA开发手册华山版 - 学习笔记
JAVA开发手册华山版关于Java开发手册JAVA开发手册(华山版)下载一、编程规约1. 编程风格2. 常量定义3. 代码格式4. OOP规约5. 集合处理6. 并发处理7. 控制语句8. 注释规约9. 其他二、异常日志1. 异常处理2. 日志规约三、单元测试四、安全规约五、MySQL数据库1. 建表规约2. 索引规约3. SQL语句4. ORM映射六、工程结构1. 应用分层2. 二方库依赖3. 服务器七、设计规约附2:专有名词解释最近开始实习,前一两周主要在学习(摸鱼),然后看了一下阿里巴巴的Java开原创 2021-07-24 17:23:48 · 686 阅读 · 0 评论 -
java爬虫Gecco爬取豆瓣top250的电影数据
java爬虫Gecco爬取豆瓣top250的电影数据导入依赖获取所有url发起二次请求匹配二次请求的url,并存储数据处理二次请求的数据参考这几天,一个作业需要用到java爬虫,于是在这里记录一下导入依赖 <dependency> <groupId>com.geccocrawler</groupId> <artifactId>gecco</artifactId>原创 2021-07-04 22:14:39 · 1004 阅读 · 5 评论 -
软考常考的四种设计模式
软考常考的四种设计模式1、观察者模式1. 定义2. 类型3. 别名4. 角色5. 类图2、桥接模式1. 定义2. 类型3. 角色4. 类图3、访问者模式1. 定义2. 类型3. 角色4. 类图4、策略模式1. 定义2. 类型3. 角色4. 类图5、参考1、观察者模式1. 定义观察者模式(Observer Pattern): 定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。2. 类型观察者模式是一种对象行为型模式。3. 别名观察者模式的别名包原创 2021-05-27 20:54:50 · 4187 阅读 · 0 评论 -
Java的加密算法
Java的加密算法Java的加密算法1. JDK提供的Base64编码操作Base64Util工具类测试方法:2. 消息摘要算法(MD5、SHA、HMAC)BytesToHex 工具类MessageDigestUtil 工具类测试方法:测试结果:3. 对称加密算法(DES、3DES、AES)DESUtil 工具类测试方法:测试结果:4. 非对称加密算法(DH、RSA)DHUtil 类测试方法:RSAUtil 工具类测试方法:测试截图:5. 数字签名算法(RSA、DSA)RSASignatureUtil 工具原创 2021-05-11 21:52:45 · 424 阅读 · 0 评论 -
Java基础之集合
Java基础之集合一、接口继承关系和实现二、List1. ArrayList(数组)2. Vector(数组实现、线程同步)3. LinkList(链表)三、Set1. HashSet(Hash表)2. TreeSet(二叉树)3. LinkHashSet(HashSet+LinkedHashMap)四、Map1. HashMap(数组+链表+红黑树)2. ConcurrentHashMap(1)Segment段(2)线程安全(Segment 继承 ReentrantLock 加锁)(3)并行度(默认16)原创 2021-04-07 16:43:35 · 86 阅读 · 0 评论 -
java基础之JVM
java基础(补短板)一、JVM1. 基本概念2.运行过程(1)线程(2)JVM内存(1 程序计数器(线程私有)(2 虚拟机栈(线程私有)(3 本地方法区(线程私有)(4 堆(Heap-线程共享)-运行时数据区(5 方法区/永久代(线程共享)(3)JVM运行时内存(1 新生代这是一个针对可能的面试的一个笔记一、JVM1. 基本概念2.运行过程(1)线程(2)JVM内存(1 程序计数器(线程私有)(2 虚拟机栈(线程私有)(3 本地方法区(线程私有)(4 堆(Hea原创 2021-04-06 23:00:45 · 110 阅读 · 0 评论 -
springcloud-zuul网关实践
springcloud-zuul网关实践1、zuul简介2、springcloud中使用zuul1. 导入依赖2. 编写配置3. 编写启动类4. 测试1、zuul简介Zuul是从设备和网站到Netflix流媒体应用程序后端的所有请求的前门。作为边缘服务应用程序,Zuul旨在实现动态路由,监视,弹性和安全性。它还可以根据需要将请求路由到多个Amazon Auto Scaling组。详情点击 GitHub关于zuul的介绍2、springcloud中使用zuul1. 导入依赖我们需要导入zuul和e原创 2021-03-05 14:56:21 · 170 阅读 · 1 评论 -
springcloud-dashboard流监控实现
springcloud-dashboard流监控实现1、新建一个maven项目作为dashboard的单独项目1. 编写pom文件2. 编写配置3. 编写启动类4. 测试2、修改服务熔断提供者的代码1. 添加依赖2. 添加一个Bean3. 测试有时候,我们需要监控我们的服务,这时候就要用到流监控了我们在这篇文章的基础上完成https://blog.csdn.net/weixin_43520670/article/details/1143337581、新建一个maven项目作为dashboard的原创 2021-03-04 17:20:52 · 232 阅读 · 1 评论 -
springcloud-hystrix服务降级实现
springcloud-hystrix服务降级1、hystrix简单介绍2、hystrix服务降级实现1. 在api模块的service文件夹编写FallbackFactory的实现类2. 在api模块的service文件夹@FeignClient注解添加参数3. 在springcloud-consumer-user-feign模块配置服务降级为可用3、测试4、服务熔断与服务降级的区别1、hystrix简单介绍Hystrix是一个延迟和容错库,旨在隔离对远程系统,服务和第三方库的访问点,停止级联故障,并原创 2021-03-03 22:38:07 · 239 阅读 · 1 评论 -
springcloud-hystrix熔断实践
springcloud-hystrix熔断实践1、简单介绍2、springboot集成hystrix熔断实践1. 导入依赖2. 编写熔断的方法3. 在启动类中启动项目对熔断器的支持3、测试1、简单介绍Hystrix是一个延迟和容错库,旨在隔离对远程系统,服务和第三方库的访问点,停止级联故障,并在不可避免发生故障的复杂分布式系统中实现弹性。2、springboot集成hystrix熔断实践1. 导入依赖 <!-- hystrix --> <depend原创 2021-03-03 20:49:55 · 149 阅读 · 1 评论 -
springcloud-feign调用服务
springcloud-feign调用服务1、修改springcloud-api文件1. 添加依赖2. 编写feignservice,通过feign调用服务2、编写新的消费者消费服务1. 新建一个maven项目,springcloud-consumer-user-feign2. 导入依赖3. 编写配置文件4. 新建config文件夹,编写ConfigBean类5. 新建controller文件夹,编写UserController类6. 编写启动类3、测试在这里需要说一下feign只是一种符合我们接口调用的原创 2021-03-02 21:53:05 · 298 阅读 · 0 评论 -
springcloud-自定义ribbon负载均衡算法
springcloud-自定义ribbon负载均衡算法1、编写配置和算法1. 在与springcloud同级的目录下,新建一个文件夹config2. 编写自定义负载均衡算法3. 把自己写的实现注册到spring的Bean2、修改启动类3、测试在一些时候,自带的负载均衡算法不适合我们,因此,我们需要自己自定义自己的负载均衡算法本篇文章在如下的文章代码的基础上操作springcloud实践-ribbon实现负载均衡1、编写配置和算法1. 在与springcloud同级的目录下,新建一个文件夹confi原创 2021-03-02 15:27:13 · 206 阅读 · 0 评论 -
springcloud实践-ribbon实现负载均衡
springcloud实践-ribbon实现负载均衡1、修改数据库和对应实体类2、在修改springcloud-consumer-user-80模块1. 修改pom.xml2. 修改配置3. 修改配置类4. 修改controller5. 修改启动类3、再复制两份springcloud-provider-user-8001模块,端口改为8002、80031. 分别创建两个数据库和原来的数据库一样,db字段不一样2. 新建两个模块端口改为8002、80033. 把8001的代码全部复制过去,并修改配置4、测试原创 2021-03-01 22:06:20 · 163 阅读 · 0 评论 -
springcloud-Eureka集群实战
springcloud-Eureka集群实战1、Eureka简介2、修改hosts文件3、新建一个maven模块,取名springcloud-eureka-70011. 编写pom.xml文件2. 编写application.yml3. 编写启动类4. 启动测试4、新建一个maven模块,取名springcloud-eureka-70021. 编写pom.xml文件2. 编写application.yml3. 编写启动类4. 启动测试5、编写注册内容1. 修改pom.xml2. 修改配置3. 启动类添加注解原创 2021-02-28 23:03:58 · 106 阅读 · 0 评论 -
org.springframework.context.ApplicationContextException: Unable to start web server报错(已解决)
org.springframework.context.ApplicationContextException: Unable to start web server报错(已解决)在写springcloud的时候遇到了一些问题,比如报了上面的错误,一开始不知道怎么回事,上网找,发现是springcloud和springboot版本不匹配原来的代码: <!-- springCloud依赖 --> <dependency>原创 2021-02-28 15:43:09 · 17392 阅读 · 1 评论 -
SpringCloud服务拆分实践
SpringCloud服务拆分实践1、新建一个普通的maven项目 springcloud2、新建一个maven项目,springcloud-api子模块1. 编写pom.xml文件2. 编写User实体类3、新建一个maven项目,springcloud-provider-user-8001子模块,表示服务提供者1. 编写pom.xml文件2、编写application.yml3. 编写Mapper4. 编写service和service的实现5. 编写controller6. 编写springboot的原创 2021-02-28 13:06:52 · 711 阅读 · 0 评论 -
mybatis-plus的性能分析、条件构造器与代码生成器
mybatis-plus的性能分析、条件构造器与代码生成器1、性能分析1. 配置开发环境2. 配置类加入一个Bean对象3. 测试2、条件构造器3、代码生成器1. 添加依赖2. 编写文件生成的类1、性能分析1. 配置开发环境在配置文件中配置开发环境### 设置开发环境spring.profiles.active=dev2. 配置类加入一个Bean对象 /* * SQL执行效率插件 * */ @Bean @Profile({"dev","test"})原创 2021-02-25 23:02:59 · 197 阅读 · 1 评论 -
mybatis-plus提高效率的CRUD操作
mybatis-plus提高效率的CRUD操作1、代码级别的自动填充1. 在实体类添加@TableField注解2. 编写自定义处理器3. 测试2、添加SQL语句日志3、添加乐观锁插件1. 在实体类中加入@Version注解2. 添加配置配置类3. 测试4、三个查询方法5、分页查询1. 在配置类加入如下代码2. 测试6、三个删除方法7、逻辑删除1. 在实体类中加入 @TableLogic注解2. 添加配置3. 测试1、代码级别的自动填充1. 在实体类添加@TableField注解前提是你的数据库里面有原创 2021-02-25 00:11:06 · 550 阅读 · 1 评论 -
使用了Lombok代码,创建对应的对象时却没有提示(已解决)
使用了Lombok代码,创建对应的对象时却没有提示1、问题2、解决办法1、问题实体类加入了lombok代码,却没有对应提示package com.hzxy.mybatisplus.model;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class User {原创 2021-02-24 19:54:43 · 785 阅读 · 0 评论 -
SpringBoot集成mybatis plus
SpringBoot集成mybatis plus1、mybatis plus简介2、Springboot集成mybatis-plus1. 导入依赖2. 编写数据库配置3. 编写数据库对应的实体类4. 编写Mapper接口5. 在入口类Mapper开启扫描6. 测试1、mybatis plus简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效原创 2021-02-24 17:30:46 · 1318 阅读 · 0 评论 -
idea2020 java - 不能执行jar文件: “no main manifest attribute”的解决办法
idea2020 java - 不能执行jar文件: “no main manifest attribute”的解决办法前言定位问题解决方法前言写完一个jar包,准备部署到阿里云服务器,却在java -jar 的时候出现的问题,一直访问不了,然后就开始找问题,去解决了。定位问题首先要知道是哪里出问题的,然后才知道怎么去解决,一开始我也不知道问题出在哪,就照着控制台的问题“nohup: redirecting stderr to stdout”去找解决方法,然后发现没有用,问题不是这个;然后看到它是执原创 2021-01-16 13:32:26 · 12419 阅读 · 0 评论 -
Spring Boot集成pagehelper分页插件
Spring Boot集成pagehelper分页插件1、在pom.xml中添加pagehelper依赖2、修改配置文件3、修改Controller里面的查询方法4、返回分页信息1. 修改UserMapper2. 修改UserService3. 修改UserServiceImpl4. 用com.github.pagehelper.PageInfo类封装Page数据5. 测试在我们的项目中经常要用到查询的分页,这也是一个非常实用的功能,在这里我记录一下springboot集成pagehelper这个分页查询原创 2021-01-13 20:42:12 · 447 阅读 · 0 评论 -
SpringBoot异步调用(有例子)
SpringBoot异步调用1、异步调用简介2、@Async的使用1.使用@Async注解之前,需要在入口类添加注解@EnableAsync开启异步调用2.在需要使用异步调用的方法加上@Async3.测试1、异步调用简介异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步都得上一步执行完后才能执行,而一步调用无需等待上一步执行完成即可执行。在项目中想让程序并行执行,除了可以使用多线程来并行地处理任务,也可以使用Spring Boot提供的异步处理方式@Async来处理。在spri原创 2020-11-24 11:08:54 · 968 阅读 · 0 评论 -
ActiveMQ的安装与使用及Springboot集成ActiveMQ
ActiveMQ的安装与使用及Springboot集成ActiveMQ1、JMS简介2、ActiveMQ的安装3、springboot整合ActiveMQ1.引入依赖2.添加配置3.在数据库建立一个表ay_mood并实现save业务方法1)创建数据表,如下图:2)创建实体类3)创建业务层接口4)创建业务层接口实现4.创建生产者、消费者并实现异步消息1、JMS简介Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在原创 2020-11-23 23:53:23 · 434 阅读 · 0 评论 -
SpringBoot 整合 actuator 实现应用监控
SpringBoot 整合 actuator 实现应用监控原创 2020-11-20 23:57:04 · 603 阅读 · 1 评论 -
Springboot集成Spring Security(结合数据库根据角色给定权限)
Springboot集成Spring Security1、Spring Security简介2、引入依赖3、创建数据库并实现根据id查找4、实现UserDetailsService接口5、在WebSecurityConfig类注册CustomUserService6、编写MyPasswordEncoder类实现PasswordEncoder7、测试1、Spring Security简介Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提原创 2020-11-14 13:37:49 · 2579 阅读 · 0 评论