自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牧小农

业精于勤,荒于嬉;行成于思,毁于随!

原创 网页性能优化之图片懒加载

一、前言 最近因为需要做一个小网站,但是呢,因为图片比较多,打开网页速度很慢,服务器压力就会很大。不仅影响渲染速度还会浪费带宽,比如一个1M大小的图片,并发情况下,达到1000并发,即同时有1000个人访问,就会产生1个G的带宽。于是就想到了图片懒加载来减轻服务器的压力,优先加载可视区域的内容,其...

2020-01-14 10:33:19

阅读数 3585

评论数 8

原创 你好2020,再见2019(年终总结)

一、前言 不知不觉,新的一年已经来到,还有二十几天就要过年了,总是在感慨时间过的真快,感觉仿佛昨天还是2019年七月份,马上就快要过年了,回想2019年一年,好像算是做了一点有意义的事情: 在自媒体方面:公众号开始写起来了,博客也有在慢慢的积累,阅读量从四万到10万,对于我个人来说也是一个小小的...

2020-01-02 11:18:18

阅读数 1962

评论数 25

原创 idea java web项目导出为jar打包成可运行exe程序

一、前言 前几天一个朋友找我,说有一个 数据接口开发 能够页面展示的小项目,能够在本地运行就行,不需要放到网上,问我这边可不可以做,本来想 婉言谢绝 的,但是听到说,可以给点 辛苦费,于是想到了 李白大诗人 说的一句:人生贵相知,何用金与钱。,朋友吗,不就是互相帮助吗?这个功能可以做的,我来我来,...

2019-12-04 16:12:29

阅读数 894

评论数 2

原创 数据结构 线性结构篇——链表

一、前言 在前面两章我们讲解了动态数组、栈和队列的讲解,这些底层都是依托静态数组,靠 resize 解决固定容量问题的,之前虽然用户看到的是动态数组,但是依然使用的是静态数组,他是依靠 resize 这个方法解决 固定容量问题 ,但是我们今天要讲解的 链表 不一样,链表 是我们数据结构学习的一个重...

2019-11-30 14:38:23

阅读数 812

评论数 0

原创 数据结构 线性结构篇——栈和队列

文章目录一、栈1.1 什么是栈1.2 栈的应用1.2.1 无处不在的撤销(undo)操作1.2.1 计算机程序调用的系统栈1.3 栈的实现 一、栈 1.1 什么是栈 栈是一种线性架构 相比数组,栈对应的操作时数组的子集 栈只能从一端添加元素,也只能从一端取出元素,最先放入堆栈中的内容最后被拿出来...

2019-11-25 15:09:39

阅读数 1443

评论数 21

原创 数据结构 线性结构篇——动态数组和时间复杂度分析

一、数组基础 1.1 定义 数组(Array)是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。 1.2 创建流程 当我们在 java 中当创建一个数组时,会在内存中划分出一块 连续的内存 ,当有数据进入的时候会将数据 按顺序 的存储在这块连续的内存中。当需要读取数组...

2019-11-21 10:56:06

阅读数 982

评论数 10

原创 为什么要学数据结构?

一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟...

2019-11-19 13:40:51

阅读数 29092

评论数 88

原创 【微信开发】免费域名—网页授权获取用户openid

最近在接触微信支付开发,要进行微信支付就需要用户的唯一标识——openid,因为第一次接触踩了很多坑,于是就把他记录下来,也便于以后查阅,也方便有需要的人进行参考 本文中的所使用的源码都会在给出地址。可放心浏览 一、openid? openid是微信用户在公众号appid下的唯一用户标识(appi...

2019-11-13 15:40:44

阅读数 1254

评论数 1

原创 阿里云服务器安装配置tomcat 添加外网访问端口

最近双十一不是,买了一个阿里云服务器玩玩,但是配置好tomcat,添加安全组规则后,死活访问不通,telnet 也无法通过,好在最好经过一阵废寝忘食之后,成功解决问题,下面就记录一下如何解决第一次在阿里云上部署tomcat能够在外网访问,添加端口映射,只要你跟着博主的步骤操作,一般是没有问题的。 ...

2019-11-12 14:30:01

阅读数 1467

评论数 4

原创 深入浅出ReentrantLock(可重入锁)

一、前言 在Java 5.0之前,在协调对共享对象的访问的时可以使用的机制只有synchronized 和 volatile。Java 5.0 增加了一种新的机制:ReentrantLock 。与之前提到过的机制相反,ReentrantLock 并不是一种替代内置加锁的方法,而是当内置解锁机制不适...

2019-11-09 11:53:41

阅读数 1282

评论数 5

原创 并发模拟工具(JMeter、Apache Bench、postMan)详解

目录简介:一、Psotman:Http请求模拟工具1.1 下载地址1.2 操作说明(以win64为例) 简介: 一、Psotman 二、Apache Bench(AB) 三、JMeter 四、代码 一、Psotman:Http请求模拟工具 1.1 下载地址 Postman for MAC P...

2019-11-04 15:50:23

阅读数 1325

评论数 0

原创 Java内存模型(JMM)详解

为什么要有内存模型 在现代多核处理器中,每个处理器都有自己的缓存,定期的与主内存进行协调。 想要确保每个处理器在任意时刻知道其他处理器正在进行的工作,将需要很大的开销,且通常是没必要的。 硬件的效率与一致性 由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得...

2019-10-29 13:24:20

阅读数 1646

评论数 7

原创 Tomcat请求特殊字符参数问题:Invalid character found in the request target. The valid characters are defined in

一、问题错误 最近遇到客户端说接口get请求,全部400错误,无法请求,刚开始以为是服务器对请求进行拦截了,但是访问主页面是正常的,也是get请求,那么可能就是tomcat的问题了,想到tomcat8的原因,会不会是请求参数的问题,后来url请求中包含{}[]特殊字符的都报错,是因为Tomcat在...

2019-10-24 11:17:35

阅读数 1104

评论数 0

原创 线程安全性详解(原子性、可见性、有序性)

一、定义:什么是线程安全性 当多个线程访问某个类时,不管运行时环境采用 何种调度方式 或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类就是线程安全的。 当设计线程安全的类的时,良好的面向对象技术、不可修改性,以及明晰的不变性规范都 ...

2019-10-22 16:32:45

阅读数 2818

评论数 1

原创 多线程之死锁详解

一、什么是死锁 当两个或两个以上的线程在执行过程中,因为争夺资源而造成的一种相互等待的状态,由于存在一种环路的锁依赖关系而永远地等待下去,如果没有外部干涉,他们将永远等待下去,此时的这个状态称之为死锁。 经典的 “哲学家进餐” 问题很好地描述了死锁状况: 5个哲学家去吃中餐,坐在一张圆桌旁,...

2019-10-13 16:37:09

阅读数 4937

评论数 8

原创 FastDFS搭建文件管理系统(详细教程)

一 FastDFS介绍 开源中国:https://www.oschina.net/question/tag/fastdfs gitHub开源地址:https://github.com/happyfish100 参考:http://blog.chinaunix.net/uid-20196318-id...

2019-10-09 15:32:33

阅读数 1292

评论数 1

原创 【学习笔记】深入理解ThreadLocal

引言 ThreadLocal的官方API解释为: 意思是: “该类(ThreadLocal)提供了线程局部变量。这些变量不同于它们的一般对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 ...

2019-09-30 15:53:47

阅读数 1342

评论数 1

原创 【并发编程】安全发布对象—单例模式升级版

发布对象 使一个对象能够被当前范围之外的代码所使用,将创建的对象保存到容器中,也可能通过某个方法返回 对象的引用,或者将引用传递到其他类的方法中 对象逸出 一种错误的发布,当一个对象还没有构造完成时,就使它被其他线程所见 1、发布的对象只需要被它需要的线程被看见 2、避免对象逸出 发布错误对...

2019-09-27 00:05:28

阅读数 1155

评论数 0

原创 【学习笔记】线程原子性-锁 synchronized的用法

线程安全性的定义: 当多个线程访问某个类的时候,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么我们就称则这个类是线程安全的 原子性的锁有两种: synchronized:是Java中的关键字,是一种同步锁,依...

2019-09-25 22:54:41

阅读数 1295

评论数 0

原创 IDEA类和方法注释模板设置(超详细教程)

一直在使用idea自带的注释模板,但是一直不太好用,最近在网上整理了一些比较完整的模板使用方法,来供大家学习使用,有不对的地方,欢迎大家在下方留言。 idea和eclipse的注释模板还是有一些差别的,下面就为大家介绍我整理的资料。 类注释模板: /** * @program: ${PROJECT...

2019-09-23 12:19:07

阅读数 1414

评论数 2

原创 navicat 连接Docker中mysql容器报错:Client does not support authentication protocol requested by server;

原因: mysql8 之前的版本中加密规则是 mysql_native_password,但是在mysql8之后,加密规则是caching_sha2_password,所以navicat低版本不支持了,要么升级navicat,要么把用户密码登录的加密规则还原成mysql_native_passwo...

2019-09-18 14:13:08

阅读数 1066

评论数 0

原创 docker pull 镜像下载报错解决方法

当我们使用docker下载镜像时报错: [root@lyy local]# docker pull tomcat Using default tag: latest Trying to pull repository docker.io/library/tomcat ... Get https:...

2019-09-18 13:18:28

阅读数 1328

评论数 0

原创 【学习笔记】SpringBoot Docke容器 简介和环境安装

一 简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。 我们可以看到docker图标上面是有一个个集装箱的,这些...

2019-09-18 13:01:07

阅读数 1127

评论数 0

原创 Linux Centos7 网络配置无法ping通内外网

上一节课,我们讲安装好linux虚拟机后,有的伙伴会发现,无法ping外网和内网,今天我们就来教大家如何连接外网和内网 一 虚拟机网络适配器配置 二、点击编辑,选择虚拟网络编辑器,设置NAT网络设置 三 编辑ip地址信息 使用命令: vi /etc/sysconfig/network-scri...

2019-09-18 10:42:33

阅读数 1369

评论数 0

原创 VMware Workstation 安装linux虚拟机(CentOS) 详细教程

Linux 环境准备: 虚拟机安装包(包含密钥):https://pan.baidu.com/s/1ZlDb1AQrIHflfHgICXj84w 提取码:k1kd CentOS镜像文件:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-...

2019-09-17 16:37:03

阅读数 1178

评论数 2

原创 An attempt was made to call a method that does not exist. The attempt was made from the following

spring boot 整合 duboo+zookeeper报错信息如下: org.apache.curator.utils.DefaultZookeeperFactory.newZooKeeper *************************** APPLICATION FAILED TO...

2019-09-16 22:39:10

阅读数 3413

评论数 0

原创 java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory

springboot整合dubbo报错: 缺少curator依赖 <dependency> <groupId>org.apache.curator</groupId> <artifactId>cur...

2019-09-16 22:14:37

阅读数 1235

评论数 0

原创 SpringBoot 异步任务+定时任务(附源码)

一、异步任务 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。 两个注解:@EnableAysnc、@...

2019-09-11 14:27:44

阅读数 1072

评论数 0

原创 mybatis mapUnderscoreToCamelCase 自动驼峰命名转换

在项目中我们想要讲bean和数据库的字段对应起来,常常需要在xml中自动去装换或者手写sql自动转换,但是如果使用mapUnderscoreToCamelCase,可以可以将数据库中order_id转化成orderId与实体类属性对应,如果数据库使用如order_id的命名方式,实体类采用驼峰命名...

2019-09-10 10:14:49

阅读数 1222

评论数 0

原创 git 安装配置 上传项目到github上

1、下载github工具 一、下载地址:github,根据不同的操作系统选择不同的版本,这里以windows为例 二、下载之后安装Git,一直点击Next即可,这里和安装普通软件一样,就不做详细说明 三、通过黑窗体(快捷键:ctrl+r 然后输入:cmd),敲git查看返回信息,如图说明安装成功...

2019-09-09 17:22:32

阅读数 1089

评论数 0

原创 git 上传错误 error: failed to push some refs

错误描述: $ git push -u origin master To github.com:a653398363/testtest.git ! [rejected] master -> master (fetch first) error: failed to push ...

2019-09-09 16:17:55

阅读数 1148

评论数 2

原创 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory解决方法

错误描述: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.boot.SpringA...

2019-09-09 15:18:42

阅读数 2120

评论数 1

原创 Failed to bind properties under 'spring.datasource' to javax.sql.DataSource:

springboot整合druid时,引入了druid的数据源,在配置文件application.yml中配置了相关配置 spring: datasource: username: root password: 123456 url: jdbc:mysql://192....

2019-09-06 15:40:17

阅读数 1469

评论数 0

原创 SpringBoot thymeleaf——修改后如何实时生效

开发期间模板引擎页面修改以后,要实时生效 1)、禁用模板引擎的缓存 # 禁用缓存 spring.thymeleaf.cache=false 2)、页面修改完成以后ctrl+f9:重新编译;

2019-09-05 13:54:45

阅读数 1612

评论数 0

原创 java基础面试题

什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持...

2019-08-28 14:20:08

阅读数 1276

评论数 2

原创 工作三年的Java程序员应该达到什么水平?

最近,又是跳槽换工作的黄金季节,也就是大家俗称的「金九银十」。有的读者可能会问为什么呢?那我就来给你说道说道。对于大公司而言,会在如下两个时间节点之前进行对员工一年的绩效考核和奖金发放。以12月31日为财年的,1月份考核统计,2月份发奖金,3-4月份面试/跳槽。以6月30日为财年的,7月份考核,8...

2019-08-21 09:48:29

阅读数 2052

评论数 2

原创 支付宝h5支付(java版)

这里写自定义目录标题1、准备工作1.1、登录蚂蚁金服开放平台2.2、选择开发者中心 -》网站&移动应用1.3、选择支付接入1.4、创建应用,输入名称(选择网页应用)1.5、创建成功1.6、下载签名工具,地址:https://docs.open.alipay.com/291/105971/ ...

2019-05-14 16:51:43

阅读数 3500

评论数 12

原创 挥手2018,展望2019!

眨眼间,已经新的一年了,一年时间过去了,年初到年底,回想起这一年的时间,好像自己成长的脚步变的缓慢了,可能是人变懒了,希望自己能够对自己做一个总结,对自己敲响一个警钟,同时也对2019年做一个展望。 18年技术的收获可以说是比较小,在一家相当于创业型公司,技术人比较少,基本上都是自己在学习和解决问...

2019-01-15 17:00:33

阅读数 1221

评论数 0

原创 爬站利器-teleport ultra

一、前言 昨天应该公司需要,想要爬取一个网站的静态资源,但是用代码写,一个一个爬很累,就算完成了估计也要一点时间,于是想着看看有没有一款工具能够完成我的任务,于是乎发现了一个很好用的工具-teleport ultra。 下载地址:https://pan.baidu.com/s/1lDN47o6Ge...

2019-01-10 16:48:28

阅读数 10406

评论数 6

原创 shiro(三)shiro实战——Spring 集成 Shiro(案例)

**步骤 加入 jar 包 配置 web.xml 文件 在 Spring 的配置文件中配置 Shiro**配置 web.xml 文件配置启动 Spring IOC 容器的 Filter 配置 WEB 应用中的 Shiro Filter 在 Spring 的配置文件中配置 Shiro配置自定义...

2016-11-24 15:47:53

阅读数 4057

评论数 1

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