自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 看懂这6张图,理解JVM内存布局就没问题了!
原力计划

原文链接:https://segmentfault.com/a/1190000021424972 作者:Richard_Yi 转载于:https://mp.weixin.qq.com/s/7bGtO9NfakQNHHcT26Ia7Q 目录: 目录 前言 概览 一、Heap (堆区)...

2020-05-18 01:50:09 113 0

原创 Java 8中使用Stream流式处理集合
原力计划

原文地址:https://mp.weixin.qq.com/s/adKZrOe6nFEmuADHijsAtA 作者:Hollis 前言 在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增、删、改、查、聚合、统计、过滤等操作。相比之下,关系型数据库中也同样有这些操作,但是在...

2020-05-14 02:11:22 119 0

原创 设计模式之——模板方法
原力计划

前言: 模板方法(Template Method)属于设计模式中的行为模式,它的特点是:定义一个操作中的算法的 框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可 重定义该算法的某些特定步骤。 优点: 封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,...

2020-05-06 00:50:56 89 1

原创 Spring/SpringBoot常用注解
原力计划

原文连接:https://mp.weixin.qq.com/s/HVBGhtJ6Cm6hwpLUEz76BQ 这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基...

2020-05-02 13:28:47 156 2

原创 Java Hashmap基础知识。学习笔记
原力计划

一.Hashmap基础知识 1.Hashmap的底层数据结构是什么? 数组+链表+红黑树(jdk>1.7,产生hash冲突时,链表长度>=8时候,链表转换为红黑树) 2.为啥使用hash值计算索引? Put一个key,value的时候:根据key计算出一个hash散列值作为...

2020-04-18 22:44:29 89 0

原创 Spring Bean实例化过程,怎么解决循环依赖

1.Spring是什么? Spring有很庞大的家族,Spring一般指的其实就是SpringFramework! Ioc和aop 包含在SpringFramework中! SpringFramework介绍和特点: 可以看到SpringFramework包含了我们通常使用的ioc...

2020-04-07 13:12:12 116 0

原创 数据库,Redis,zookeeper三种方式实现分布式锁
原力计划

原文链接:https://blog.csdn.net/xlgen157387/article/details/79036337 很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关...

2020-03-23 22:04:04 53 0

原创 JMM模型图,Java内存模型图

暂时只有我自己才能看懂的JMM模型图,哈哈

2020-03-15 13:32:04 140 2

原创 Tomcat部署项目的五种方法

第一种方法: 在tomcat中的conf目录中,在server.xml中的<host/>节点中添加 <Context path="/blog" docBase="D:/blog/blog-web" debug="0&...

2020-03-02 18:43:43 106 0

原创 设计模式之——原型模式

前言: 原型模式(Prototype Pattern)属于创建型模式,主要用于创建重复的对象,它是创建对象的最佳方式。能大大的提高性能,通常用在系统中需要创建重复对象,而这些对象的初始化过程比较复杂耗时。对系统性能有较高要求的场景。 特点: 直接通过内存拷贝对象,大大的提高了对象的创建效率。...

2020-02-23 18:31:45 46 0

原创 设计模式之——建造者模式

前言: 建造者模式(Builder Pattern)提供了一种创建对象的最佳方式。它创建对象的过程是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对...

2020-02-02 17:47:19 50 0

原创 Spring事务失效的八大原因,吊打面试官

原文链接:https://blog.csdn.net/youanyyou/article/details/103871083 事务失效的八大原因: 1、数据库引擎不支持事务 2、没有被 Spring 管理 3、方法不是 public 的 4、自身调用问题 5、数据源没有配置事务管理器...

2020-01-23 11:13:43 224 0

原创 设计模式之——工厂方法模式

前言: 工厂方法模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。满足创建型模式中所要求的“创建与使用相分离”的特点。 特点: 用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产...

2020-01-19 20:09:59 54 0

原创 设计模式之——单例模式

前言: 单例模式:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 特点: 单例类只有一个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单例的全局访问点 注意: 普...

2020-01-11 20:32:28 111 0

原创 设计模式之——六大原则

前言: 大家都知道,设计模式除了常用的23种设计模式以外,还有非常重要且经典的6大原则: 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 这六大原则是那些著名的程序员经过相当长的一段时间的开发经验总结出来的...

2020-01-07 02:26:14 66 0

原创 Vue使用插件v-viewer预览单张图片

1.什么是V-viewer 用于图片浏览的Vue组件,支持旋转、缩放、翻转等操作,基于viewer.js。 2.安装 使用npm命令安装 npm install v-viewer 3.使用 在main.js中引入 import 'viewerjs/dist/viewe...

2020-01-01 19:48:30 411 0

转载 通俗易懂的Spring AOP概念理解

原文链接:https://blog.csdn.net/qukaiwei/article/details/50367761 1.我所知道的aop   初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我...

2019-12-26 17:54:08 46 0

原创 Linux常用命令

原创作者:小姐姐味道 原文链接:点我(太长所以没贴) Linux这么多命令,通常会让初学者望而生畏。下面是我结合日常工作,以及在公司的内部培训中,针对对Linux不是很熟悉的同学,精选的一批必须要搞懂的命令集合。 任何一个命令其实都是可以深入的,比如tail -f和tail -F的区别。我们不...

2019-12-10 18:15:49 257 0

原创 linux常用命令,你应该了解的Linux知识

原创作者:小姐姐味道 链接:https://mp.weixin.qq.com/s/1XSbEmbIYTfn_UdyNecH6Q linux常用命令:点我跳转 以下为应该了解的Linux知识内容: 导言 作为一个javaer,我以前写过很多关于Linux的文章。但经过多年的观察,发现其实对...

2019-12-09 18:07:19 2208 4

原创 IDEA常用快捷键,建议收藏

自动生成模板代码 快速生成main方法:psvm+Tab 或 psvm +回车 快速for循环:list.for+Tab或 list.for +回车 快速生成System.out.println()方法:sout+Tab或 sout+回车 快速生成变量方法:new User().var +...

2019-12-09 18:06:23 156 0

原创 获取JSON字符串中键的个数

JSON字符串(格式需要和下面一样): user:{"names":"admin","birthday":"2019-12-2","email":"zhangxun_vip@16.co...

2019-12-02 18:02:04 226 0

原创 vscode 设置代码格式化缩进为4个空格

1.在设置中搜索“tabsize” ,将下图中两个地方都改为4 搜索:"detectindentation",将前面的勾选去了 2. 选择要格式化的文件,右键选中“格式化文档” 格式化之前: 格式化后重新打开文件后: ...

2019-12-02 00:15:39 1938 1

原创 哲理故事:怎样烧开一壶水

一位青年满怀烦恼去找一位智者,他大学毕业后,曾豪情万丈地为自己树立了许多目标,可是几年下来,依然一事无成。 他找到智者时,智者正在河边小屋里读书。智者微笑着听完青年的倾诉,对他说:“来,你先帮我烧壶开水!” 青年看见墙角放着一把极大的水壶,旁边是一个小火灶,可是没发现柴火,于是便出去找。 ...

2019-11-12 19:00:08 193 0

原创 Docker容器虚拟技术,和k8s的区别

本文来源微信号:鲜枣课堂 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotC...

2019-11-12 18:30:48 182 0

原创 Springboot通过HttpServletRequest获取用户真实ip

Springboot通过HttpServletRequest获取用户真实ip public String getVisitorIp(HttpServletRequest request){ // 优先取 X-Real-IP String ip =...

2019-11-10 14:25:39 586 0

原创 HttpServletRequest获取接口请求路劲等相关方法

例如接口请求地址:http://192.168.1.6:8080/api/category/query?pageSize=5&pageNum=1 System.out.println(request.getRequestURL().toString()); //http://192...

2019-11-10 03:19:39 852 0

原创 PageHelper分页插件源码及原理剖析

原文:https://my.oschina.net/zudajun/blog/745232 作者:祖大俊 PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美。 原本...

2019-10-24 23:52:23 53 0

原创 Nginx入门到实战

Nginx入门到实战 - 基础篇 一、环境 服务器版本:CentOS 7.2 为了保证学习阶段不遇到奇怪的事情,请保证以下四点(大神选择性无视) 确认系统网络 确认yum可用 确认关闭iptables 确认停用selinux #查看iptable...

2019-10-24 23:42:46 134 0

转载 超实用的IDEA断点调试技巧,学会编程效率大大提高

原文链接:https://blog.csdn.net/qq_27093465/article/details/64124330 作者:李学凯 在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。 下面不要在意,这个快捷键具体是啥,...

2019-10-19 14:09:06 121 0

原创 Java中的各种锁,容易理解

转载自WX公众号:https://mp.weixin.qq.com/s/WSZV5l5dlieJ8YxSit6Qug 作者:乱敲代码 说到了锁我们经常会联想到生活中的锁,在我们日常中我们经常会接触到锁。比如我们的手机锁,电脑锁,再比如我们生活中的门锁,这些都是锁。 锁有什么作用呢? 说了这...

2019-10-09 23:22:13 48 0

原创 IDEA启动,打开项目很慢很卡?正确配置内存让IDEA起飞

使用IDEA开发项目,默认情况下内存会分配比较小,所以打开程序或者打开稍微大一点的项目速度就会比较慢。我们可以修改idea的相关配置,来加速程序启动和项目加载速度。 idea安装以后的默认配置如下: 默认值设置太小,跑稍微大点的项目或者微服务多模块项目就会出现卡的情况 我的内存是16g的...

2019-10-08 19:56:43 913 0

原创 springboot 实现单文件上传/多文件上传/文件下载

java 开发经常需要用到文件上传,接下来博主就创建一个springboot项目,实现单文件上传/多文件上传/文件下载功能 1.先看一下博主的项目结构图 2.application.yml主要配置 3.如上图创建项目 创建FileUpload类: package com.stu...

2019-09-29 22:59:39 284 0

原创 nginx 反向代理和负载均衡策略实战案例

引言 作者:glmapper https://juejin.im/post/5adc425f518825670f7b6fc8 先来看下nginx在web服务器排名上的趋势: 存在即合理,那为什么要使用nginx呢?这得看看nginx能帮我们做些什么。 首先,nginx能做反向代理...

2019-09-26 18:15:33 44 0

原创 分布式ID生成方案总结,分布式ID生成策略

ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要...

2019-09-26 17:44:20 60 0

原创 java8流式编程拼接数组/List中对象的某个属性值

1.场景需求 有一个list<Object>,需要将每个对象的一个属性(key)对应的值(value)使用一个符号(*@#¥%_-)拼接起来,那么就可以使用这种方式 代码: package com.study.three; import com.alibaba.fastjso...

2019-09-26 17:01:21 2798 0

原创 springboot项目配置拦截器后访问不了swagger2接口测试地址,swagger2接口测试地址被拦截

解决方案: 只要swagger的访问路径和资源加到拦截器的排除列表中即可 代码: package com.cloud.user.config; import org.springframework.beans.factory.annotation.Autowired; import ...

2019-09-16 15:13:29 128 0

原创 docker 安装elasticsearch详细步骤,并开启外网访问,安装ik分词器,header插件

一 拉取镜像、映射文件并启动elasticsearch 步骤一:拉取elasticsearch,这里使用的版本是5.6.8 docker pull elasticsearch:5.6.8 拉取镜像成功以后会显示 2.拷贝配置文件elasticsearch.yml(网上很多)到服务器/...

2019-08-31 21:53:45 432 0

原创 Maven最全教程,看了必懂,很用心的整理

前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下。 转发自WX公众号:搜云库技术团队 一、为什么使用Maven这样的构建工具? 1、一个项目就是一个工程 如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程...

2019-08-29 22:03:34 132 0

原创 idea 将一个项目转换为maven项目自动下载依赖

步骤: 在pom.xml 文件上右键 Add as Maven Project就可以了

2019-08-15 14:07:54 155 0

转载 将本地项目上传到码云,只需这几步,每个步骤都有图文

1,首先在码云上新建一个项目,如下图所示 2,本地新建一个文件夹 3,进入新建的文件夹,点击鼠标右键,选择git bash here 然后在窗口输入 git init 这时候文件夹会多出一个.git文件夹,看不到文件夹的,点击鼠标右键选择“显示不显示隐藏的文件”就可以看到这个文件...

2019-08-14 16:39:07 76 0

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