自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 JAVA面试题分享(附答案解析)

Java 基本概念面试题“a==b”和”a.equals(b)”有什么区别?如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。2.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode().

2021-04-20 19:11:18 2596 2

原创 Java如何确定一个链表有环及入口节点

如何确定一个链表有环,入口节点是什么?1.首先定义一个单链表;var ,next,是单链表中的属性,分别表示节点值和下一个节点的指向;代码如下://定义一个链表 class List{ public int var; public List next;//有参构造 public List(int var) { this.var = var; }//无参构造 public List() { } //创建一个带环的链

2021-04-30 20:32:16 184 3

原创 Java中lambda表达式的分析与具体用法

Lamda表达式λ 希腊字母表中排序第十一位字母,英语名称为Lambda避免匿名内部类定义过多其实质属于函数式 编程的概念(params)->expression[表达式](params)->statement[语句](params)->{statements}(a-> System.out.print(“i like lambda–>”+a));new Thread (()->System.out.println(“多线程学习。。。。”)).start(

2021-04-30 19:54:05 133 1

原创 深入学习SpringCloud之SpringCloud简介

Spring Cloud是什么?SpringCloud官网:http://spring.ioSpring Cloud是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集。Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(比如:配置管理,服务发现,断路器,智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等)。开发分布式系统都需要解决一系列共同关心的问题,而使用Spring Cloud可以快速地实现这些分布式开发共同关心的问题,

2021-04-30 18:57:02 313 1

原创 Java背包问题动态规划算法分析

背包问题【题目描述】一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,…,WnW1,W2,…,Wn,它们的价值分别为C1,C2,…,CnC1,C2,…,Cn,求旅行者能获得最大总价值。【输入】第一行:两个整数,MM(背包容量,M<=200M<=200)和NN(物品数量,N<=30N<=30);第2…N+12…N+1行:每行二个整数Wi,CiWi,Ci,表示每个物品的重量和价值。【输出】仅一行,一个数,表示最大总价值。【输入样

2021-04-29 20:31:56 237

原创 Spring Boot数据库密码加密的配置方法

前言由于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下springboot配置数据库密码加密的方法,下面话不多说了,来一起看看详细的介绍吧1.导入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> &

2021-04-29 20:12:54 563

转载 JAVA Future类的使用详解

前言在高性能编程中,并发编程已经成为了极为重要的一部分。在单核CPU性能已经趋于极限时,我们只能通过多核来进一步提升系统的性能,因此就催生了并发编程。由于并发编程比串行编程更困难,也更容易出错,因此,我们就更需要借鉴一些前人优秀的,成熟的设计模式,使得我们的设计更加健壮,更加完美。而Future模式,正是其中使用最为广泛,也是极为重要的一种设计模式。今天就跟阿丙了解一手Future模式!生活中的Future模式为了更快的了解Future模式,我们先来看一个生活中的例子。场景1:午饭时间到了,同

2021-04-28 21:06:22 2398

原创 Java如何实现单链表的增删改查

一、新建学生节点类Stu_Node节点包含:学号:int num;姓名:String name;性别:String gender;下一个节点:Stu_Node next;为了便于打印节点内容需要重写toString方法class Stu_Node{ int num; String name; String gender; Stu_Node next; @Override public String toString() { re

2021-04-28 20:42:43 271

原创 Spring Boot 集成 Kafkad的实现示例

Spring Boot 作为主流微服务框架,拥有成熟的社区生态。市场应用广泛,为了方便大家,整理了一个基于spring boot的常用中间件快速集成入门系列手册,涉及RPC、缓存、消息队列、分库分表、注册中心、分布式配置等常用开源组件,大概有几十篇文章,陆续会开放出来,感兴趣同学请提前关注&收藏消息通信有两种基本模型,即发布-订阅(Pub-Sub)模型和点对点(Point to Point)模型,发布-订阅支持生产者消费者之间的一对多关系,而点对点模型中有且仅有一个消费者。前言Kafka是.

2021-04-27 20:51:05 231

原创 MyBatis详细执行流程的全纪录

Mybatis简介MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。mybatis详细执行流程一、通过Resource去加载全局配置文件import org.apache.ibatis.io.R

2021-04-27 20:34:03 191

原创 今天来讨论一下:程序员的工资这么高,为什么还会有人离职?

绝大多数的程序员工资并不高,高的只是头部企业,然而头部企业员工数量很少,bat加字节的员工总数,还不如一个建行的员工数多。绝大多数程序员,就像金融行业里的柜员一样,拿着略高于当地平均工资的收入,加班熬夜、伺候领导,累出一身病。不信?你打开浏览器,随便搜个“二手”,看看有多少二手房、二手车的网站和app,你觉得这么多站点都是谁在维护啊?是阿里腾讯的程序员吗?或者你打开淘宝的电子产品页面,看看有多少乱七八糟的电子产品,再想想这些东西是谁在开发?其实答案很显然了,那就是占行业绝大多数的底层码农,无论是搞网络、嵌

2021-04-27 18:00:49 375

原创 想零基础学计算机?请跟我来吧!学习方法都在这儿了!

大学的时候就学的计算机,以下来自个人经验和实践,希望对题主有所帮助。首先题主要想明白学计算机的目的:掌握上层应用的开发,为了能够在IT公司找一份工作。是以就业为目的的自学。以考试为目的的自学为了解决工作中遇到的特定问题,提升专业技能,升职加薪。以个人的职业发展为目的。当然,题主可能还没到这些需求,不过不影响后面的讲述的哈。对于小白而言,首先要对计算机科学和计算机产业形成整体的认识。这方面可以读导论或者科普读物。建议先读吴军博士的《浪潮之巅》,这本书讲IT产业非常精彩。紧接着,要做两件事:(

2021-04-27 16:54:24 1415 1

原创 Java可变参数(不定向参数)的作用与实例

Java可变参数的作用:在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况。一般我们会用方法重载来解决问题:1 //方法重载,解决参数个数不确定问题2 public void method();3 public void method(int i);4 public void method(int i, int j);5 public void method(int i, int j, int k);但是,当参数个数过多,这样太过于繁琐,于是我们可以使用不定项参数(可变参数)的方式

2021-04-25 20:51:20 134 1

转载 修仙之路还得看自己,我欲成仙,快乐齐天!

众所周知,编程修真有八大境界:1. Javase-练气筑基2. 数据库-结丹3. web前端-元婴4. Javaweb-化神5. Javaweb项目-炼虚6. 流行框架-合体7. 分布式•微服务-大乘8. 架构师-飞升第一部分:JavaSE-练气筑基Java SE大致可分为以下几块内容:对象导论:如何用面向对象的思路来开发深入JVM:Java运行机制以及JVM原理面向对象的特征:封装、继承、抽象、多态数组和容器:容器的线程安全问题I/O和NIO:NIO工作.

2021-04-25 17:42:59 398

转载 2021年最新Java面试题及答案整理(二)

四、反射什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。什么是 java 序列化?什么情况下需要序列化?简单说就是为了保存在内存中的各种对象的状态(

2021-04-25 17:02:42 119

转载 2021年最新Java面试题及答案整理(一)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的。一、Java 基础JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含

2021-04-25 16:48:36 1964

原创 @SpringBootApplication注解的使用

一、前言大部分的配置都可以用Java类+注解来代替,而在SpringBoot项目中见的最多的莫过于@SpringBootApplication注解了,它在每个SpringBoot的启动类上都有标注。这个注解对SpringBoot的启动和自动配置到底有什么样的影响呢?本文将为各位大佬解析它的源码,揭开@SpringBootApplication注解神秘的面纱。二、正文对SpringBoot工程的自动配置很感兴趣,于是学习其源码并整理了其中一些内容,如果有错误请大家指正~话不多说,直接上源码;@Sp.

2021-04-24 15:23:23 347

原创 带你快速了解Java中类和对象的关系

本文重点解读Java里的类和对象的关系1、首先介绍两个概念类:类是对现实生活中一类具有共同属性和行为事务的抽象,确定对象将会拥有的属性和行为。对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。概念比较抽象,我们来讲一个具体的项目开发场景,来理解类和对象。假如,我们现在要开发一套图书管理系统,我们如何在程序里面表示出一本书呢?这个时候就用到了类的概念,我们可以定义一个表示书的数据类型,这个新的数据类型就是类。上

2021-04-24 15:00:34 199

原创 SpringBoot整合阿里云OSS对象存储服务实现文件上传

1. 准备工作:一、首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间。二、创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文档,这个获取值本身就不难。重点:记下你的AccessKey ID、AccessKey Secret以及你刚才创建的Buacket名字BucketName。2. 配置:在pom里引入oss要用的依赖<dependency> <groupId>com.aliyun.oss&l

2021-04-23 17:53:07 330

原创 深入了解Java虚拟机栈以及内存模型

1、结合字节码指令理解Java虚拟机栈和栈帧栈帧:每个栈帧对应一个被调用的方法,可以理解为一个方法的运行空间。每个栈帧中包括局部变量表(Local Variables)、操作数栈(Operand Stack)、指向运行时常量池的引用(A reference to the run-time constant pool)、方法返回地址(Return Address)和附加信息。局部变量表:方法中定义的局部变量以及方法的参数存放在这张表中,局部变量表中的变量不可直接使用,如需要使用的话,必须通过相关指令将其

2021-04-23 17:12:17 107

原创 详解Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

实践环境GitLab Community Edition 12.6.4Jenkins 2.284Post build task 1.9(Jenkins插件)Generic Webhook Trigger Plugin 1.72(Jenkins插件)GitLab 1.5.13(Jenkins插件)实现步骤钉钉机器人配置选择要推送的钉钉群 -> 点击群设置按钮 -> 点击智能群助手 -> 点击添加机器人 -> 点击添加机器人+号按钮 -> 点击自定义->填写机

2021-04-23 16:52:28 1281

原创 Mybatis中使用大于小于等于的正确方法

在mybatis中sql是写在xml映射文件中的,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,如若不希望被转义,那该怎么办呢?方法一:使用特殊转义字符例如,>=开始日期 并且<=结束日期> > 大于号< < 小于号 <if test="searchTimeBegin != null and searchTimeBegin != ''"> AND tcci.consume_time &gt;= C

2021-04-22 16:58:52 44736 1

原创 用最简单方法实现MyBatis动态SQL标签的用法详解

1.MyBatis动态SQLMyBatis 的强大特性之一便是它的动态 SQL,即拼接SQL字符串。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。动态 SQL 元素和使用 JST

2021-04-22 16:22:20 284

原创 传说级大佬总结的几道java循环练习题(适合新人)

这篇文章主要给大家介绍了几道java循环练习题,非常适合刚入门的java新人,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧1.求水仙花数打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。//第一题,水仙花数public class demo4 {public static void main(String

2021-04-22 15:47:36 239

原创 SpringBoot HATEOAS用法简介(入门)

REST风格简介介绍HATEOAS之前先简单介绍一下REST,REST 是 Representational state transfer 的缩写,翻译过来的意思是表达性状态转换。REST是一种架构的风格Richardson Maturity ModelRichardson 提出了REST一种 成熟度模型,我们称之为Richardson Maturity Model,这种模式将REST按照成熟度划分为4个等级Level0:使用HTTP作为WEB服务的传输方式,以REST样式公开SOAP Web服务

2021-04-21 21:34:31 1190

原创 Spring Boot项目如何同时支持HTTP和HTTPS协议的实现

如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。准备为了使用HTTPS连接器,需要生成一份Certificate keystore,用于加密和机密浏览器的SSL沟通。如果你使用Unix或者Mac OS,可以通过下列命令:keytool -genkey -alias tomcat -keyalg RSA,在生成过程中可能需要你填入一些自己的信息,例如我的机器上反馈如下:可以看出,执行完上述命令

2021-04-20 17:21:32 490

转载 利用java开发简易版扫雷游戏

1.简介学了几周的Java,闲来无事,写个乞丐版的扫雷,加强一下Java基础知识。2.编写过程编写这个游戏,一共经历了三个阶段,编写了三个版本的游戏代码。第一版:完成了扫雷游戏的基本雏形,实现了游戏的基本功能,游戏运行在cmd黑窗口中,以字符绘制游戏界面,无图形化窗口,通过控制台输入字符完成游戏控制。代码放置在一个java文件中,代码的可读性以及可扩展性都比较差。第二版:在第一版实现基本功能的基础之上,对游戏代码进行重构,根据各部分的功能创建多个类,增加代码注释,提高代码的可读性以及可扩展性。第

2021-04-20 15:36:40 573

原创 如何自学JAVA?能找到10K以上的工作吗?可以!自学也需要好的学习方法!

自学Java必须注意的问题:(1)代码规范初学者一定要注意培养自己的代码规范,每行代码必须要注释,我之所以只学了5个月就能拿到9K的薪资,就是因为我代码规范很好。其实一个初学者在开始的时候能培养出好的代码规范很难,这源于在整个学习过程中有大佬带我的原因。(2)交流沟通切记不要认为自己可以摸索自学成功,能达到一定高度的水平,一定离不开很多专业人的指导,所以多认识一些大佬尤为重要,圈子真的可以决定我们可以达到什么水平。如果大家找不到合适的圈子,我强烈建议大家添加下面的Java技术研讨群,多认识几个大佬对

2021-04-19 21:08:54 144

原创 SpringBoot Admin用法实例讲解

说明Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。 UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。创建服务创建spring boot 项目,引入依赖<dependency> <groupId>de.codecentr

2021-04-17 16:38:00 443 1

原创 Spring初始化和销毁的实现方法

这篇文章主要介绍了Spring初始化和销毁的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一 指定初始化和销毁方法通过@Bean指定init-method和destroy-method; @Bean(initMethod="init",destroyMethod="detory") public Car car(){ return new Car(); }二 通过让Bean实现InitializingBean(定义初

2021-04-17 15:58:31 353

原创 SpringBoot整合FastJson过程解析

这篇文章主要介绍了SpringBoot整合FastJson过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一、Maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.33</version&

2021-04-17 15:20:20 472

原创 Springboot几种任务的整合方法

这篇文章主要介绍了Springboot几种任务的整合方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一 异步任务启动类@MapperScan("com.topcheer.*.*.dao")@SpringBootApplication@EnableCaching@EnableRabbit@EnableAsyncpublic class Oss6Application { public static void main(String[]

2021-04-17 14:42:28 198

原创 Java HashMap三种循环遍历方式及其性能对比实例分析

本文实例讲述了Java HashMap三种循环遍历方式及其性能对比。分享给大家供大家参考,具体如下:HashMap的三种遍历方式(1)for each map.entrySet()Map<String, String> map = new HashMap<String, String>();for (Entry<String, String> entry : map.entrySet()) { entry.getKey(); entry.getValue(

2021-04-17 14:08:02 673

原创 面试人的福音!费尽千辛万苦终于弄到:百度Java实习面经

【一面】52mins面试:自我介绍讲讲实习经历介绍项目,问项目讲讲GC过程如何设置jvm参数?项目里有没有做JVM调参?分别讲讲三种创建线程池的方式TCP四次挥手中timewait作用讲讲项目docker命令,如何查看容器?Linux命令,如何通过端口找进程?编码题:双重校验单例模式玩游戏玩一个游戏:桌上有一堆石头,石头数为N两人交替取石头,每次可取1或2或3颗取到最后一颗石头的人胜问:已知石头数N,并且你先手,问你是否能赢?1 <= n <= 1.

2021-04-16 14:17:49 144

原创 Spring Boot Logback配置日志过程解析

这篇文章主要介绍了Spring Boot Logback配置日志过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下出于性能等原因,Logback 目前是springboot应用日志的标配; 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式。配置时考虑点支持日志路径,日志level等配置日志控制配置通过application.yml下发按天生成日志,当天的日志>50MB回滚最多保存10天日志生成的日志中Pattern自定义

2021-04-15 20:08:31 221

原创 Spring通过构造函数注入实现方法分析

一 通过构造函数注入set注入的缺点是无法清晰表达哪些属性是必须的,哪些是可选的,构造注入的优势是通过构造强制依赖关系,不可能实例化不完全的或无法使用的bean。二 举例1 Employeepackage com.hsp.constructor;public class Employee { private String name; private int age; public Employee(String name) { System.out.prin

2021-04-15 19:13:50 282

原创 微信小程序开发零基础入门

#需要本书的全部内容请看完本篇文章喔,下方有获取方式来得喔以上小编所介绍的全部相关的笔记资料都已整理成册,不论是Redis面试+Redis实战pdf,还是MongDB快速上手+MongDB集群安全等手写pdf笔记,想白嫖都很so easy!!——如果你get到了,那就点个赞转发支持一波吧!——整理不易,白嫖私信我领取源码学习资料,100%回复分享!——祝前程似锦,offer不断,好好学习,天天向上!——也可以添加小助手vx:xcw18874131605 获取更多资料哦(备注:C..

2021-04-14 17:30:13 291

原创 金三已过!还有银四!《2021最新面试题讲解》备战冲冲冲!

以下为大家整理了一些 Java 的面试题,涉及大量 Java 面试知识点和相关试题。喜欢的朋友记得点赞收藏关注哦~ღ( ´・ᴗ・` )比心一面手写ArrayList手写进制转换算法,求出一个数的二进制数 1 的个数JAVA 基础,equals 和==多线程方式、threadlocal,各种锁,synchronized 和 lock设计模式、spring 类加载方式、实例保存在哪、aop ioc、反射机制6、类加载器,双亲委派模型,热部署jvm 内存模型,内存结构、堆的分

2021-04-14 16:08:00 148

原创 大厂大牛教你如何用SpringBoot 整合jdbc和mybatis

通用配置下面介绍的整合JDBC和整合MyBatis都需要添加的实体类和配置数据库表CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_

2021-04-13 21:00:01 376

原创 Java设计模式单例模式(Singleton)用法解析

单例模式的应用场景:单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例。并提供一个全局反访问点。单例模式是创建型模式。单例模式在生活中应用也很广泛,比如公司CEO只有一个,部门经理只有一个等。JAVA中ServletCOntext,ServetContextCOnfig等,还有spring中ApplicationContext应用上下文对象,SessionFactory,数据库连接池对象等。使用单例模式可以将其常驻于内存,可以节约更多资源。写法:1:懒汉模式(线

2021-04-13 20:43:04 304

空空如也

空空如也

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

TA关注的人

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