自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

laoniu的博客

本科大三Java程序员一枚;学海无涯,岂能回头;学习路上关注我,一起共同进步;

  • 博客(82)
  • 资源 (4)
  • 论坛 (1)
  • 收藏
  • 关注

原创 try-with-resource如何优雅的关闭io流

JAVA的一大特性就是JVM会对内部资源实现自动回收,即自动GC,给开发者带来了极大的便利。但是JVM对外部资源的引用却无法自动回收,例如数据库连接,网络连接以及输入输出IO流等,这些连接就需要我们手动去关闭,不然会导致外部资源泄露,连接池溢出以及文件被异常占用等。传统的手动释放外部资源一般放在一般放在try{}catch(){}finally{}机制的finally代码块中,因为finally代码块中语句是肯定会被执行的,即保证了外部资源最后一定会被释放。同时考虑到finally代码块中也有可能出现异

2020-12-29 13:10:42 18794 97

原创 String.Join的使用,让代码更优美

【善用新语法,让代码更优美】jadk1.8为我们提供了String.join()方法几个使用的例子。让我们在项目灵活的使用它,使代码更加优美package com.niu.demo;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @description: String.Join的使用 * @author: nxq email: niuxiangqian163@16

2020-12-19 14:19:58 29461 54

原创 Python爬虫入门之初遇lxml库

Python爬虫入门之初遇lxml库爬虫是什么所谓爬虫,就是按照一定的规则,自动的从网络中抓取信息的程序或者脚本。万维网就像一个巨大的蜘蛛网,我们的爬虫就是上面的一个蜘蛛,不断的去抓取我们需要的信息。爬虫三要素抓取 分析 存储抓取网页urllib库使用import urllib.requestresponse = urllib.request.urlopen('https://laoniu.blog.csdn.net/')print(response.read().dec

2020-12-19 00:42:15 28734 43

原创 【延时任务处理、订单失效】RabbitMQ死信队列实现

订单失效问题订单失效问题比较麻烦的地方就是如何能够实时获取失效的订单。对于这种问题一般有两种解决方案:定时任务处理,延时任务处理定时任务处理用户下订单后先生成订单信息,然后将该订单加入到定时任务中(30分钟后执行),当到达指定时间后检查订单状态,如果未支付则标识该订单失效。 定时去轮询数据库/缓存,看订单的状态。这种方式的问题很明显,当集群部署服务器的时候需要做分布式锁进行协调,而且实时性不高,对数据库会产生压力延时任务处理当用户下订单后,将用户的订单的标识全部发送到延时队列中,3.

2020-12-18 09:48:26 27260 19

原创 Maven子父工程依赖配置,小白也能看得懂

Maven子父工程依赖配置你还在对Maven子父工程依赖配置感到疑惑吗?看了这篇文章你讲对它们有个新的认知在阅读本文之前你要已经了解并使用过maven来管理项目的jar包直接开干环境/版本一览:开发工具:Intellij IDEA 2020.2.3 jdk:1.8.0_211 maven:3.6.3创建父工程新建maven项目 这里不要勾选maven模版设置项目信息修改父工程pom.xml<?xml version="1.0" encoding="UTF.

2020-12-17 15:40:16 27052 10

原创 Java重载方法匹配优先级

Java重载方法匹配优先级 在我们学习Java的时候关于重载有个小的知识点叫方法重载匹配优先级。虽然javac编译器能确定方法的重载版本,但是在很多情况下重载的版本并不是唯一的,往往只能确定一个相对合适的版本。请看以下代码你觉得输出的内容是什么呢?package cn.laoniu;import java.io.Serializable;public class Reload { public void sayType(Character arg) { System.ou...

2021-04-13 19:40:07 138 1

原创 Call From localhost/127.0.0.1 to ubuntu-linux:9000 failed on connection exception:

java操作Hadoop的时候:Call From localhost/127.0.0.1 to ubuntu-linux:9000 failed on connection exception连接拒绝当指定地址有一台机器,但客户端使用的特定TCP端口上没有程序监听时,您将获得ConnectionRefused异常-并且没有防火墙阻止静默删除TCP连接请求。如果您不知道什么是TCP连接请求,请查阅规范。除非两端存在配置错误,否则常见的原因是Hadoop服务没有运行。当集群关闭时,这种堆栈.

2021-03-03 18:15:29 323 5

原创 mybatis plus 出现 Invalid bound statement (not found)

mybatis-plus 3.4.1按照官网的配置出现了如下错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.niu.manager.mapper.DepartmentMapper.selectList at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:...

2020-12-31 14:43:11 13274 16

原创 Java文件快速copy复制

最近学习netty的时候发现nio包下有个FileChannel类,经过了解这个类作用是个专门负责传输文件的通道,支持多线程,而且经过测试FileChannel复制文件的速度比BufferedInputStream/BufferedOutputStream复制文件的速度快了近三分之一。在复制大文件的时候更加体现出FileChannel的速度优势。而且FileChannel是多并发线程安全的。代码贴下package com.niu.nio;import java.io.File;import

2020-12-29 16:55:18 13815 11

原创 如何自己搭建短链接服务

如何打造一个短网址服务短链接我们或多或少都使用过,所谓短链接就是根据较长的原链接url生成一段较短的链接,访问短链接可以跳转到对应的原链接,这样做好处在于:1. url更加美观;2. 便于保存和传播;3. 某些网站内容发布有字数限制,短链接可以节约字数。短链接实现的原理非常简单,可以概括为:为每个原链接生成不重复的唯一短链接 将原链接和对应短链接成对保存到数据库 访问短链接时,web服务器将目标重定向到对应的原链接...

2020-12-25 18:09:50 14868 8

原创 java作业学生成绩管理系统

java基础学习作业,基于控制台实习,数据存储使用List要求应用面向对象的思想,设计实现一个课程成绩统计系统,实现如下功能:1. 管理员登录,登录成功可以对成绩进行管理;2. 显示成绩信息;3.添加成绩信息;4.修改成绩信息;5.删除成绩信息;6.查询成绩信息。代码实现目录效果核心代码MenuService类(菜单)package com.niu.service;import com.niu.model.Student;...

2020-12-24 23:23:45 17275 11

原创 【AWS】一、如何在AWS免费撸一年的服务器

AWS - 亚马逊公司旗下云计算服务平台之前有幸参加了aws培训学习,现在给大家介绍一些aws的使用方法本文介绍先介绍如何在aws免费使用aws的服务器资源1.注册/登陆官网:https://aws.amazon.com/cn/注册:https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=default&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistratio

2020-12-23 18:28:52 3241 8

原创 如何优雅地写后端API接口

在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式。前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了1.接口交互前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_versio

2020-12-23 15:14:42 16886 3

原创 SpringBoot使用拦截器

拦截器对使用SpringMvc、的开发人员来说特别熟悉,因为你只要想去做好一个项目必然会用到它。拦截器在我们平时的项目中用处有很多,如:日志记录、用户登录状态拦截、安全拦截等等。而SpringBoot内部集成的是SpringMVC控制框架,所以使用起来跟SpringMVC没有区别,只是在配置上有点不同。本文只介绍如何在springboot中使用拦截器。环境/版本一览:开发工具:Intellij IDEA 2020.2.3 springboot:2.3.7.RELEASE jdk:1.8.0_21

2020-12-22 15:52:56 18175 13

原创 Java-排序 【冒泡排序】

冒泡排序基本的思想是每次比较两个数,大的沉下去,小的冒起来算法主要是比较相邻的两个元素,如果第一个比第二个大,就交换他们两个。一直从开始的一对比较到最后的一对,直到最后时间复杂度:O(n²)package com.niu.demo;import java.util.Arrays;/** * @description: 冒泡排序 * @author: nxq email: niuxiangqian163@163.com * @createDate: 2020/12/21 6:01.

2020-12-21 18:20:32 18791 7

原创 【设计模式】Java中单例模式Singleton

单例模式,顾名思义就是只有一个实例,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。核心代码:构造方法私有化,private。提供一个静态的公开对外获取实例的方法1.懒汉式public class MyStringUtil { private static MyStringUtil myStringUtil; //私有化构造器 private MyStringUtil(){ } //提供一个静

2020-12-21 17:02:03 20986 5

原创 Java反射原理与使用

当类加载器将类加载进jvm之后,jvm会创建每一个类的元数据对象(Class),java语言允许通过元数据对象动态的创建对象实例,这种机制就称为java的反射机制,基本上所有框架的底层都用到了反射机制,spring、mybatis、servlet都用到了1.如何获取一个类的元数据对象(Class)呢现在有一个User类package com.niu.demo;public class User { private String name; private String pa

2020-12-21 16:23:09 19657 6

原创 【代理模式】Java的静态代理与动态代理

代理模式代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理类主要负责为委托了(真实对象)预处理消息、过滤消息、传递消息给委托类,代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装处理。通俗的来讲代理模式就是我们生活中常见的中介。java为我们提供了基于接口的动态代理。介绍动态代理之前我们先说一下静态代理1.静态代理创建一个接口,然后创建一个被代理的类实现接口中的抽象方法,再创建一个代理类,让代理类也实现这个接口,在代理类里创建一个被代理的类,在调用被代理

2020-12-21 15:42:21 18934 5

原创 爬虫入门之模拟用户请求

接着上一篇文章Python爬虫入门之初遇lxml库,我们对爬虫程序发起的请求进行分析,爬虫爬取数据要做的就是模拟用户发起请求,接收到数据进行存储我们先看一下一下正常的用户请求,然后再分析如何去模拟1.正常的用户请求1.1. 用户操作步骤用户打开浏览器 输入URL网址 回车发起请求1.2.请求原理目前大多数网址基本都是使用http协议,我们先说一下什么是http (对于原理不感兴趣可以跳过1.2这节)1.2.1.什么是http协议?超文本传输协议(HyperTextTr...

2020-12-21 13:31:21 19395 1

原创 Java中String、StringBuffer和StringBuilder的区别

Strings are constant; their values cannot be changed after they

2020-12-20 15:41:47 21977 3

原创 SpringBoot项目中获取配置文件的配置信息

系统配置文件 application.yaml或者 application.properties 中的属性值假如我们配置文件.yaml的信息是myconfig: username: abc password: 123或者.propertiesmyconfig.username=abcmyconfig.password=1231. 通过@Value类需要被spring扫描到@Componentpublic class MyConfig { @Val..

2020-12-20 12:35:54 22431 1

原创 html网页 js获取当前地理位置

通过当前html获取当前地址,借助高德地图实现,效果图开箱即用两张标记点的图核心代码 var marker, map = new AMap.Map('container', { resizeEnable: true }); AMap.plugin('AMap.Geolocation', function () { var geolocation = new AMap.Geolocation({ enab

2020-12-19 22:25:13 8967 2

原创 pip 查看已经安装包的命令以及版本

pip freeze

2020-12-19 21:02:38 23948 1

原创 pip install 安装指定版本的包

要用pip安装指定版本的 Python 包,只需通过==操作符 指定例如:pip3 install pycrypto==2.6.1

2020-12-19 20:59:26 24689 1

原创 SpringBoot上传文件

SpringBoot单文件上传,多文件上传环境/版本一览:开发工具:Intellij IDEA 2020.2.3 springboot:2.3.7.RELEASE jdk:1.8.0_211 maven:3.6.3目录结构1.搭建项目1.1 先创建一个springboot工程加入web依赖<dependency> <groupId>org.springframework.boot</groupId> .

2020-12-19 16:44:55 25507 5

原创 Java遍历集合

Java遍历集合 list,set,map1.java遍历list public static void main(String[] args) { //先创建一个list集合,放入三条数据 List<String> list = new ArrayList<>(); list.add("xiaoming"); list.add("xiaohong"); list.add("xiaozha

2020-12-19 15:57:04 23878 1

原创 System.err和System.out的区别

在 java API,文档中给出的解释是:out为“标准输出流”,err为“标准错误输出流”大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。 在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。我们使用out和e...

2020-12-19 14:49:32 24013 5

原创 CentOS7 Linux yum安装 Redis

CentOS7 Linux yml安装 Redis1.安装redis检查是否有redis yum 源​yum install redis下载fedora的epel仓库yum install epel-release安装redis数据库yum install redis安装完毕后,使用下面的命令启动redis服务# 启动redisservice redis start# 停止redisservice redis stop# 查看redis运行状态service .

2020-12-19 13:25:31 27251 13

原创 Windows安装redis

Windows安装redis可以到https://github.com/microsoftarchive/redis/releases下载最新的windows版本双击 redis-server 就会安装默认配置启动redis服务 这样就说明在windows下启动redis成功了,端口号是6379

2020-12-19 12:59:25 24144 1

原创 SpringBoot 中使用Redis缓存

SpringBoot 中使用Redis缓存在项目中我们访问数据通常的操作就是访问数据库的方式,但是如果访问量很大而且特别频繁会对数据库造成压力,甚至导致数据库直接崩溃。为了解决这类的问题,redis框架逐渐出现在我们的视野里1.Redis特点Redis是一个高性能(支持并发11万读8万写)的key-value存储系统。 支持丰富的存储value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 Redi.

2020-12-19 12:47:37 24279 4

原创 SpringBoot整合SpringDataJPA

SpringBoot整合SpringDataJPAJPA是什么首先,我们说说JPA是什么?JPA(java persistence api),它并不是一个框架,而是一组规范。我觉得对于任何一个开发人员来说,理解“规范”这个词应该不在话下。其中,Hibernate就实现了这个规范,而且那是相当成功的(其实TopLink和OpenJPA也都实现了JPA规范,不过它们被Hinernate的光环笼罩了)。所以呢,当我们说到JPA的时候,好多人首先想到的就是Hibernate。SpringBootDa

2020-12-17 10:37:36 27568 7

原创 SpringBoot 整合 Mybatis

SpringBoot Mybatis 整合SpringBoot Mybatis这么有名的框架废话不多说了,直接开始环境/版本一览:开发工具:Intellij IDEA 2020.2.3 springboot:2.3.7.RELEASE jdk:1.8.0_211 maven:3.6.3工程结构:开始搭建:创建数据库 t_user_dbSET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- -----------------.

2020-12-17 09:08:01 26882 2

原创 skipped: maximum number of running instances reached (1)

skipped: maximum number of running instances reached (1) sched.add_cron_job(test_3,second ="* / 5")错误:skipped: maximum number of running instances reached (1)报这个错是因为test_3方法执行的过慢,当新的调度开始的时候test_3方法还未执行完毕...

2020-12-15 10:09:01 12197

原创 Django models 筛选不等于

Django models 筛选不等于目前的查询j = Job.objects.filter(status=”0“).all()筛选不等于 0 并不能用如下写法j = Job.objects.filter(status != ”0“).all()正确写法√j = Job.objects.filter().exclude(status=”0“).all()...

2020-12-11 08:55:47 28205 2

原创 MAC 解压文件,中文乱码

MAC 解压文件,中文乱码ditto -V -x -k --sequesterRsrc --rsrc xxxx.zip DESTINATIONDIRECTORY

2020-12-01 15:09:07 10580 2

原创 Prefix must be in canonical form

prefix属性必须全部小写

2020-11-27 15:17:18 11664

原创 docker 安装rabbitMQ

下载镜像进入docker hub镜像仓库地址:https://hub.docker.com/搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面); 拉取镜像 docker pull rabbitmq查看所有镜像docker images安装和web界面启动镜像创建和启动容器docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672

2020-11-24 18:42:53 27339 1

原创 docker安装redis教程

macos linux 均可按照此方法安装下载最新redis镜像 docker pull redis 查看镜像 docker images 启动redis docker run -d --name redis -p 6379:6379 redis:latest redis-server --appendonly yes --requirepass "你的密码" 参数说明: docker run -d :后台运行 --nam...

2020-11-24 00:01:07 27269

原创 Docker安装MySQL5.7

在~目录下创建mysql目录mkdir ~/mysql安装mysqldocker run --restart=always --name mysql5.7 -p 3306:3306 -v ~/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci命令详解:--res.

2020-11-23 23:39:43 27276

原创 gyp ERR! configure error

npm install 错误 | gyp ERR! configure error分析原因:包下载的安全问题,猜测npm下载默认是拉取安全的包到node_modules,因此如果被判定不够安全,不会被拉取下来,并且会抛出一个错误记录解决办法:sudo npm i --unsafe-perm...

2020-11-16 19:03:54 11871

java作业学生成绩管理系统(控制台实现)

java作业学生成绩管理系统(控制台实现),适合刚学习java面向对象的同学

2020-12-24

Visual Studio_2019.dmg

Visual Studio_2019.dmg下载 mac版本

2020-12-19

html js获取当前位置

html js获取当前位置

2020-12-19

redis-port.redis-port

redis-port工具,可以用来跨服务器,机房,集群等进行传输

2019-10-25

tomcat是web容器的最优选择吗

发表于 2020-12-19 最后回复 2020-12-19

空空如也

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

TA关注的人 TA的粉丝

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