自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 春招面试两个月,分享一下遇到的笔试面试题(中通,泛微,兰亭集势,龙旗科技等)

今年的就业环境不如往年,受疫情的影响许多大公司裁员,今年的毕业生人数也达到了1076万,被称为“最难毕业季”。我投的岗位是java开发,在经历了两个月的面试后,在面试过程中也学到了很多。现在我总结了一些当初面试遇到的不会的题,希望可以帮助到大家!

2022-05-02 11:32:57 2652

原创 看完这篇文章,再也不怕别人问你数组转list,list转map

本文主要内容包括 数组转换成List,List转成数组,List转成map的几种方式

2021-12-30 17:09:14 1103

原创 动态规划解决小青蛙跳台阶问题

动态规划解决小青蛙跳台阶问题

2021-12-29 14:54:55 1018

原创 java实现下载网络图片到本地

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言当我们在网络上看到自己想要保存的照片,有的网站设置了权限,不能保存情况下,我们可以借助Java的文件流读取网络上的图片,并保存到本地。一、示例比如豆瓣话题第一这篇文章,我们想保存这张图片可以点击图片,创建图片二维码复制这个URL,一会程序会用到。二、代码1.代码示例/** * 使用java中的文件流下载网上的图片,保存到本地...

2021-12-28 15:34:21 17965 4

原创 关于正则表达式的一小练习(开发常用)

一、导读本文着重讲解一些常用的正则表达式验证,如验证邮箱,身份证号,手机号等等…好文章 记得 收藏+点赞+关注 !!! 二、常用的正则表达式 验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$” 验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$” 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$” 验证身份证号(15位或18位数字):“^d{15

2021-12-23 14:20:30 2489

原创 看腻了数字,拼图验证码?推荐一个开源项目——把验证码设计成射击游戏

一、导读生活中我们见到的大多数验证方式都是以下这样的:这些都太普通了,可不可以用小游戏来验证呢?今天在GitHub上看到一个开源项目——doom captcha二、效果预览作者非常有创意的将验证码和初代doom游戏结合在一起,如果要完成验证,就需要在页面上使用手枪杀死四个随机出现的doom小怪物,并且最下面的红色进度条是倒计时,如果未在规定时间内杀死四个小怪物则被认定为验证失败。点击这个demo可以手动尝试一下:https://vivirenremoto.github.io/do

2021-12-20 16:27:53 2338

原创 圣诞节用java画一棵圣诞树给你的女友

用java可视化开发给你的女友画一个圣诞树..

2021-12-17 15:35:45 8072 31

原创 Java网络编程小练习——实现文件上传

本文主要内容包括如何使用 Java 编写 TCP 网络通信程序,然后实现一个文件上传

2021-12-16 15:34:12 1276

原创 上班摸鱼时引发的对多线程的思考

多线程确定执行顺序

2021-12-15 15:37:17 858 4

原创 一些关于HashMap的常用方法小练习

一、导读本文着重讲解HashMap的一些基本操作put,get,remove,replace....好文章 记得 收藏+点赞+关注 !!! 二、代码以及运行结果/** * hashMap练习 * * @author JiaMing * @since 2021/12/13/0013 下午 13:55 **/public class HashMapTest { public static void main(String[] args) { HashMap&

2021-12-13 15:10:10 298 1

原创 一些关于字节流,字符流的小练习

本文着重讲解java IO流如InputStream ,OutputStream,Writer,Reader....

2021-12-10 16:17:07 194

原创 通过停车场计算车费案例练习JavaIO流

停车场有进场和出场的功能: 进场时:采用键盘录入的方式,录入汽车的品牌、颜色、车牌号,把品牌、颜色、车牌号,以及进场时间写入carInfo.txt文件中。 出场时:键盘录入车牌号,去文件中查找该车的进场时间,并计算停车时间。 30分钟内免费,过后每小时5元,超过一小时按一小时计算。

2021-12-10 10:56:55 1530

原创 ArrayList的一些小练习

一、导读本文着重讲解ArrayList的一些基本操作add,remove,set,foreach....好文章 记得 收藏+点赞+关注 !!! 二、代码以及运行结果ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问。ArrayList实现了Cloneable接口,表明ArrayList是可以clone的。ArrayList实现了Serializable接口,表明ArrayList是支持序列化的。ArrayList不是线程安全的,在单线程下可以使用

2021-12-08 15:36:56 435

原创 CSDN写博客更改代码颜色为白色代码样式

一、背景在平时发博客时,代码块背景默认是黑色的,而注释是黑色的,总是看起来很不清楚。直接上图:注释看起来很不清晰,现在我们修改一下颜色为白色。直接上图: //使用Filter计算空字符串个数 long count = list.stream().filter(String::isEmpty).count(); System.out.println(count + "个"); System.out.println("--------------

2021-12-08 11:00:18 1329 1

原创 关于JavaStream的一些小练习

一、导读本文着重讲解java8的Stream的一些基本操作map,filter,sorted,collect好文章 记得 收藏+点赞+关注 !!! 二、什么是streamStream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。聚合操作 类似SQL语句一样的操作, 比如filter, map, red

2021-12-08 10:44:42 509

原创 一篇文章搞懂SQL的左、右、内连接(left join,right join ,inner join)

一、导读本文着重讲解SQL的左连接,右连接,全连接,内连接,如left join,inner join好文章 记得 收藏+点赞+关注 !!! 二、什么是内外连接内连接典型的连接运算,使用像 = 或 < > 之类的比较运算符内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 student 和studentInfo表中学生标识号相同的所有行。我们新建两个表,分别为学生表(student),学生具体信息表(studentInfo)

2021-12-03 10:04:12 406

原创 由银行填表时返回上一步引发的对回溯算法的思考(java实现回溯算法)

一、导读本文主要介绍什么是回溯算法,以及使用回溯算法解决leetcode上面的一些小案例。好文章 记得 收藏+点赞+关注 !!! 二、背景今天去银行办理银行卡,然后需要录入用户信息,在其中有一步中我填错了某个信息,所以需要返回上一步进行修改,这个操作让我联想到有一种算法可以实现这样的业务——回溯算法三、回溯算法简介回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前

2021-12-02 14:01:36 223 1

原创 推荐两个IDEA非常好用的插件(Mybatis Log,RestfulToolkit)

一、导读两个可以提高开发效率的IDEA插件Mybatis Log,RestServices好文章 记得 收藏+点赞+关注 !!! 二、Mybatis Log插件(打印sql脚本)在使用mybatis的时候有时候会出现一些sql异常,这个时候就需要对执行的sql语句进行检查。然而mybatis一般使用log4j打印执行的sql语句,类似下面这种的:在使用Mybatis Log 这个插件之后排查错误就很容易了。它可以把你执行sql 脚本打印出来。之前那个打印sql日志,只是打印大概的模型,

2021-11-17 15:48:54 1314

原创 推荐一款提高工作效率的屏幕扩展软件—Splashtop Wired XDisplay

一、导读使用Splashtop Wired XDisplay让闲置的手机平板成为电脑的第二块屏幕Splashtop Wired XDisplay好文章 记得 收藏+点赞+关注 !!! 如果你和我一样抱怨着显示器太小,Idea编程软件占用了太多工作区;看文档还需要来回切换,但又觉得买第二块显示器过于鸡肋,但恰巧手头又有闲置的手机平板。或许这篇文章能够给你提供灵感和帮助!注意:带有核显的独立显卡笔记本(不包括MacBook系列)可能并不适合此教程!强行尝试可能会导致假死,蓝屏等危险!二

2021-11-17 10:42:01 11052 4

原创 javaIO流实现文件复制

JavaSeIO流小练习——文件复制import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * 使用io流实现文件复制 * * @author GaoFeng * @since 2021/10/20/0020 下午 14:35 **/p

2021-10-20 15:01:14 336 1

原创 Java四种元注解

Java四种元注解元注解的定义: 元注解负责注解自定义注解,你可以看到许多自定义的注解上面都有这些元注解。例如RequestMapping:@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Mappingpublic @interface RequestMapping{ ......}1.@TargetTarget注解的作用是:描述注解的

2021-09-29 17:30:48 526

原创 Centos7 could not retrieve mirrorlist 解决方案

问题描述当我们想切换到图形化界面的时候,centOS默认情况下是不会安装图形界面的,所以需要自己手动安装。yum groupinstall "X Window System" 使用yum groupinstall “X Window System” 命令时 有时候出现这样的错误could not retrieve mirrorlist大概意思就是:使用yum无法检索到镜像列表,解决方法如下:cd /etc/sysconfig/network-scripts进入该文件夹后,然后再ls一下,查看

2021-09-27 17:10:06 2061

原创 org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputExcept解决办法!

错误描述今天在运行springboot项目时,启动就报错了!org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputExcept这个错误的大概意思就是字符集输入格式错误,一般会有两种情况导致这个报错application.yml 文件编写错误,一般情况在于空格多或者少的原因,检查下空格application.yml 编码发生了改变,GBK和UTF-8两种编码格式的问题解决办法更改一下文件编码格式为UTF-

2021-09-15 10:29:30 3197

原创 Linux面试题附答案

LinuxLinux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archl

2021-09-09 16:08:53 3185

原创 MyBatis-Plus使用入门(增删改查,配置日志,分页)

MyBatis-plus快速入门1.简介MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。官网文档地址:  https://mp.baomidou.com/guide/MyBatis-Plus 特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Se

2021-09-07 16:03:39 570

原创 Illegal DefaultValue null for parameter type integer 解决办法

我们在使用swagger时,给实体类加描述时会报这个异常,我们先分析一下这个异常!Illegal DefaultValue null for parameter type integer和NumberFormatException: For input string: ""有个默认值是空字符串的变量转换成Integer类型时异常。io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializa

2021-09-03 11:22:03 4844

原创 Java面试题附答案(面试必会)

Java面试题大全JavaSE1.JDK和JRE区别2.八大数据类型3.equals和==区别4.String类的常用方法5.String不可变原理6.线程池三大方法,七大参数,四种拒绝策略7.ArrayList 和LinkedList 区别以及底层原理8.类的实例化顺序9.synchronized 和 ReentrantLock 区别是什么?10.HashMap底层原理11.HashMap的put(k,v)实现原理12.HashMap的get(k,v)实现原理13.Volatile计算机网络1.TCP三次

2021-08-24 21:57:16 11117 7

原创 普冷国际Java开发面经(已OC)

普冷国际Java开发面经1.自我介绍2.集合类都有什么?list,set,map3.数组如何转换成ArrayList?使用Arrays.asList()方法使用Collections.addAll()方法使用集合的addAll()方法4.Mybatis中${}和#{}区别?#{} 这种取值是编译好SQL语句再取值${} 这种是取值以后再去编译SQL语句#{}可以防止sql注入,一般能用#{}不用${};5.springboot常用注解;@Autowired,@Springboot

2021-08-24 21:56:18 191 1

原创 顺序查找以及二分查找JAVA代码实现

顺序查找原理对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。代码实现//顺序查找代码实现 找到一个满足的值就返回public class SeqSearch { public static void main(String[] args) { int[] arr ={12,9,-9,78}; int index=sequenceSearch(arr,-9); if

2021-08-17 23:06:46 265 1

原创 快速排序JAVA实现

简述快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分。其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。思路(1)首先设定一个分界值,通过该分界值将数组分成左右两部分。(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。(3)

2021-08-17 21:00:08 95

原创 UDP与TCP区别以及长、短连接

长连接也叫持久连接,在TCP层握手成功后,不立即断开连接,并在此连接的基础上进行多次消息(包括心跳)交互,直至连接的任意一方(客户端OR服务端)主动断开连接,此过程称为一次完整的长连接。HTTP1.1相对于1.0最重要的新特性就是引入了长连接。连接->传输数据->保持连接 -> 传输数据-> …->直到一方关闭连接,多是客户端关闭连接。长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。具体应用:连接池,SMTP协议,POP3,telnet协议等等…

2021-08-12 21:09:18 3314

原创 一篇博客理解tcp/ip协议三次握手、四次挥手

TCP报文格式确认号(ack,32位长)—期望收到的数据的开始序列号。也即已经收到的数据的字节长度加1。- ACK—为1表示确认号字段有效- SYN—为1表示这是连接请求或是连接接受请求,用于创建连接和使顺序号同步- FIN—为1表示发送方没有数据要传输了,要求释放连接三次握手1.客户端向服务端建立连接,SYN为1表示请求连接,会生成32位序列号(seq)2.服务端收到请求,返回一个SYN为1,生成32位序列号,并消息确认ACK为1(ack=seq+1)这个时候可以确定服务端收到了来自客户

2021-08-12 19:14:16 670

原创 git从本地仓库提交到远程仓库过程教学

前提:本地安装了git并且注册了gitee的前提下,教大家如何关联远程仓库,上传本地项目到开源社区。1.先在远程创建个仓库创建成功!2.在本地项目右键点击Git Bash Here,执行git init初始化本地仓库。3.将本地仓库和远程仓库关联起来!复制远程仓库的链接。命令:git remote add origin https://...........4.git add .将本地文件全部添加到本地仓库。5. git commit -m "这里写上提交信息",将刚才添加

2021-08-10 22:00:31 12387 2

原创 Enter passphrase for key ‘/c/Users/**/.ssh/id_rsa‘ 解决办法!

先创建SSH Keyssh-keygen -t rsa -C "youremail@example.com"在生成SSH Key时,如果不小心设置了passphrase,使用SSH协议克隆远程仓库时,在每次git pull和git push时都会提示 Enter passphrase for key '/c/Users/gf115/.ssh/id_rsa',每次都要手动输入密码才能继续操作,可以在命令行输入ssh-keygen -p进行重新设置,直接回车输入为空,就没有密码了。然后在git

2021-08-10 21:19:55 16054 1

原创 Eureka和zookeeper区别

Eureka和zookeeper之间的区别ACID与CAP原则CAP理论的核心Zookeeper与Eureka比较总结ACID与CAP原则数据库分为关系型数据库和非关系型数据库。 主流的关系型数据库有Oracle、DB2、MySQL、Microsoft SQLServer、Microsoft Access等多个品种,每种数据库的语法、功能和特性也各具特色。非关系数据库(Nosql)有MongoDB,redis。关系型数据库强调ACID规则:(原子性(Atomicity)、一致性(Consiste

2021-08-07 21:04:20 498

原创 一篇博客学会Git

Git入门前言:版本控制( Revision control )是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录·组织和保护你的源代码和文档 ·统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说就是用于管理多人协同开发项目的技术。没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开

2021-07-29 22:23:37 374

原创 线程池三大方法,七大参数,四种拒绝策略

线程和进程:进程: 一个程序,是执行程序的一次执行过程。一个进程往往包含若干个线程,线程是cpu调度和执行的单位。Java默认有2个线程:main、GC池化技术:  01:程序的运行,本质 :占用系统的资源! 优化资源的使用! =>池化技术  02:线程池、连接池、内存池、对象池///......创建、销毁。 十分浪费资源  03:池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。线程池的好处:  01:降低资源的消耗  02:提高响应的速度  03:方便

2021-07-25 16:35:48 1344

原创 一篇博客了解JVM

JVM基础知识JVM位置2. JVM体系结构大部分垃圾产生在方法区和堆,所以JVM调优也是在这里。3. 类加载器(classLoader):作用:加载.class文件几种类加载器:Bootstrp loaderBootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载%JAVA_HOME%/jre/lib,-Xbootclasspath参数指定的路径以及%JAVA_HOME%/jre/classes中的类。ExtClassLoader Boo

2021-07-24 22:04:00 3957

原创 常用设计模式(面试必看)——工厂模式

工厂模式作用:实现创建者和调用者分离面向对象编程(oop)七大原则:开闭原则:对扩展开放,对修改关闭里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立依赖倒置原则:要面向接口编程,不要面向实现编程。单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。接口隔离原则:要为各个类建立它们需要的专用接口迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。合成复用原则:尽量先使用组合或者聚合等关联关系来实现, 其次才考虑使用继承关系来实现。核心本质:实例化对象不使用ne

2021-07-18 12:55:05 214

原创 Redis缓存穿透与雪崩(面试常问)

缓存穿透用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中(秒杀!),于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决办法:布隆过滤器:布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;缓存空对象当存储层不命中后,即使返回的空对象也将其缓

2021-07-17 12:40:39 131 1

空空如也

空空如也

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

TA关注的人

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