自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java同步控制类的使用

有时为了控制同步, 我们一般会是用synchronized关键字或者对于变量使用volatile 进行修饰, 来达到并发的一个控制 synchronized 可以锁类, 对象实例, 其他对象, wait和notify要放在synchronized里面, join是等待其他线程执行后在一起执行, ...

2019-12-11 10:01:40 56 0

原创 Java 通过FTP与SFTP 方式, 实现 文件的上传下载 删除操作

1. FTP FTP通讯协议采用客户机 / 服务器(Client / Server )架构。用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,以上传或者下载文件。 默认端口: 21 在此协议中SSH2服务器起了一个桥梁作用,把数据在客户端和ftp之间转发。ftp协议本...

2019-09-25 10:48:24 192 0

转载 实现 Java 本地缓存(转)

转载的内容 缓存,我相信大家对它一定不陌生,在项目中,缓存肯定是必不可少的。市面上有非常多的缓存工具,比如 Redis、Guava Cache 或者 EHcache。对于这些工具,我想大家肯定都非常熟悉,所以今天我们不聊它们,我们来聊一聊如何实现本地缓存。参考上面几种工具,要实现一个较好的本地缓存...

2019-09-18 09:25:36 55 0

原创 数据库优化知识小结(二)

1. 数据库调优维度 数据库调优的目的: 让数据库运行的更快,相应时间更快, 吞吐量更大 用户的反馈----> 找到数据相关问题 日志的分析-----> 日志和异常定位问题 服务器资源的监控------> CPU / 内存 / I/O等 数据库内部监控-----> ...

2019-09-11 13:57:12 54 0

原创 SQL 学习笔记(一)

1. SQL语言按功能划分 DDL,英文叫做 Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用 DDL,我们可以创建,删除和修改数据库和表结构。 DML,英文叫做 Data Manipulation Languag...

2019-09-11 13:56:38 1453 0

原创 Git学习命令使用

1. 下载安装Git 学习来源:添加链接描述 2. 使用命令 git创建全局用户 git config --global user.name “xzb” git config --global user.email “465722177@qq.com” 切换盘符 cd e: ...

2019-08-16 17:55:14 39 0

原创 记录一个IDEA中MAVEN更新私服jar,download不下来的原因

在公司下载项目后, 需要下载相应的jar包, 加了一个Maven依赖项(dependency)可是我始终获取不到本地 解决: 1. Maven的setting.xml文件检查没有问题 , 比如私服地址配置,镜像等 配置发布时使用的用户名和密码,后期需要申请 ,这个只是更新下载包,可忽略 <...

2019-07-18 14:06:59 3371 0

原创 Java8实战之函数代码引用(::)

2019-06-18 20:53:32 37 0

原创 BIO与NIO简单学习

1. 概念 2. BIO 3. NIO 4. 使用: 如果拿NIO比作成一个餐厅的话,ServerSocketChannel就相当于整个餐厅,SocketChannel相当于客人,Selector相当于服务员,SelectionKey相当于服务种类(迎接客人,点餐等) 这是简单学习!!! ...

2019-06-14 10:36:02 43 0

原创 Win10下安装多版本MySQL(MySQL5和MySQL8)

1. 多版本zip准备 [ https://dev.mysql.com/downloads/mysql/ ] 官网地址, MYSQL5.7 2. MYSQL8, 2. 解压到指定目录 3. 配置环境变量 2. 加入Path变量 3. 配置以及初始化,创建服务(MYSQL5) 1.在b...

2019-06-05 21:49:00 581 0

原创 本地缓存Ehcache的使用(记录)

1. 什么是Ehcache Ehcache是纯java的开源缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。它主要面向通用缓存、Java EE和轻量级容器,具有内存和磁盘存储、缓存加载器、缓存扩展、缓存异常处理程序。 Ehcache最初由Greg Luck...

2019-05-02 17:11:39 930 0

原创 API接口幂等设计(Token方式防止表单重复提交或网络延迟)

场景要求:页面的数据只能被点击提交一次 发生原因:由于重复点击或者网络重发,或者 nginx 重发等情况会导致数据被重复提交 解决办法: 集群环境:采用 token 加 redis(redis 单线程的,处理需要排队) 单 JVM 环境:采用 token 加 redis 或 token 加 jvm...

2019-04-27 01:27:01 1452 2

原创 linkedList模拟实现map 原理: 数组+链表的方式实现Map功能(不是hashMap)

大致思路 实体基于Entry<K,V> 存储 此处是使用LinkedList自己封装的链表 ,这个实现的效率低 基于1.7版本的HashMap原理: 单项链表+数组 Node<K,V>[] 实现 基于1.8把那本的HashMap原理: 数组 + 红黑树 实现 核心知识...

2019-03-29 14:11:01 101 0

原创 通过源码分析自定义实现LinkedList集合

数据结构 数组; 链表; 红黑树; 二叉树 数组和链表结构对比 实现细节以及思路 实现本质: 双向链表的数据结构 链表: 节点: 存储上一个节点地址信息, 元数据, 下一个节点地址信息 通过地址指针 实现数据节点的双向指向 核心参数理解 first节点的使用? 是为了查询的时候知道从哪个地址...

2019-03-28 00:09:23 38 0

原创 自定义实现ArrayList

大致思路 通过看源码ArrayList 分析: 核心 (1)是由线性的连续分配的内存空间, 有Object[]数组实现 (2当数组满时, 需要使用扩容机制: System.arraycopy(原数组,原数组的起始复制位置,目标数组,目标数组的移动位置, 复制的容量 大小) A...

2019-03-27 17:00:41 106 0

原创 自定义实现jdbc数据库连接池

连接池作用 达到资源的复用 提高响应速度(不必要的连接与关闭) 资源的分配策略,可以统一管理 连接池的大致实现思路 核心参数: 空闲连接数: 没有使用的连接数 活动连接数: 正在使用的连接数 最大连接数: 最多允许存在的连接数 初始化连接池(用容器封装:比如Vecotr sql包下) 实现...

2019-03-26 23:41:49 120 0

原创 自定义实现简易版SpringMVC(基于Servlet)

了解SpringMVC流程 了解Servlet Servlet 生命周期: Servlet 加载—>实例化—>服务—>销毁。 init(): 在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配...

2019-03-26 12:45:50 188 0

原创 Spring自定义实现IOC和依赖注入(注解方式)

大致思路: 注解实现方式: 就是用 反射机制. 获取指定的包下使用了注解的类,存储在一个map容器, 然后获取map容器下类的属性, 利用反射给使用了注解的属性赋值对象. xml实现方式: 使用xml解析配置文件+反射机制 此处使用注解方式 1. 引入相关jar <dependencies&...

2019-03-25 22:32:49 1034 0

原创 Java并发编程之内存模型概念知识

Java内存模型 共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memo...

2019-03-17 16:23:08 43 0

原创 Java并发编程之线程基础与生产者与消费者问题案例

什么是线程、进程、多线程? 线程: 是Java中执行代码的一条执行路径。 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行 线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 进程:每个正在系统上运行的程序都是一个进程,是操作系统调度...

2019-03-17 16:04:21 31 0

原创 Linux下安装Memcached和Java应用

摘要出自[纯洁的微笑] Memcache 介绍 Memcache 是一个自由和开放源代码、高性能、分配的内存对象缓存系统。简单来说,Memcache 是一个高性能的分布式内存对象的 key-value 缓存系统,用于加速动态 Web 应用程序,减轻数据库负载,现在也有很多人将它作为内存式数据库在使...

2019-03-01 11:27:39 138 0

原创 java打包私服生成包并发布

1. 工程版本号的修改 包版本每发布一次一般更新一个版本号 生产环境一般用release 开发环境一般用snapshot快照版本 2. 修改用于生产或开发的配置文件 一般开发用的dev.properties 一般生产用的prov.properties 3. 发布包版本到私服地址 执行命令...

2019-01-28 10:15:18 312 0

原创 Linux在Centos下通过tar解压mysql.tar.gz安装包的形式安装MySQL

1. 下载mysql的安装包 下载地址:[ https://dev.mysql.com/downloads/file/?id=481117 ] 记得版本选64位,我之前在本机下载了个32位,安装出现了各种问题, 提示很多依赖包要下载,但是下载后,还是未能在安装成功,我暂时没整明白, 所以根据自己...

2018-12-11 17:34:23 4727 0

原创 java多线程的实现方式(六种)

一 继承Thread线程 /** * 方式一: 继承Thread 的方式实现线程 * @author xzb_l * */ public class ThreadDemo extends Thread{ private int pauseTime; // 间隔时间 private St...

2018-12-06 15:56:08 76 0

转载 log4j.properties配置详解与实例(转)

源地址 [http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ] [https://blog.csdn.net/dr_guo/article/details/50718063 ] 最近使用log4j写log时候发现网上的写的都是千篇一律,写的好...

2018-11-16 15:03:18 53 0

原创 微信支付接口调用之统一下单(一)

小白第一次使用微信支付,刚开始也是比较苦恼,总的来说呢,就是看懂流程,会调用API接口,所以我认为,小白还是看看官方微信支付文档还是有必要的 [ http://kf.qq.com/faq/161222NneAJf161222U7fARv.html ] 微信支付有很多中方式,学习从一点一...

2018-11-15 20:45:18 1766 0

原创 Linux下伪集群搭建Kafka

Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群。由于我们之前的分布式系统中已经安装zookeeper服务,这里不进行zookeeper安装教程以及应用教程图解 [https://blog.csdn.net/qq_34898847/article/details...

2018-10-25 13:53:59 203 0

原创 消息中间件Kafka学习知识总结

1. 什么是消息系统? (1)消息系统是负责将数据从一个程序传输到另一个应用程序,因此应用程序可以专注于数据,不用担心如何共享它 分布式消息传递给基于可靠消息队列的概念. 消息在客户端应用程序和消息传递系统之间异步排队 (2)有两种类型的消息模式可用 a.点对点的方式 b.发布-订阅消息系统(p...

2018-10-25 11:05:27 146 0

原创 Linux下伪分布式搭建zookeeper集群

zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目的一个子项目,并根据google发表的一篇论文来实现的。zookeeper为分布式系统提供了高笑且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。zookee...

2018-10-24 20:13:41 122 0

原创 Linux之安装Docker

docker中文社区[http://www.docker.org.cn/book/docker/what-is-docker-16.html ] 1.在vm中装好好centos后,可能需要更新内核 运行docker需要内核版本为3.8或者更高的版本,内核必须支持一种合适的存储驱动(Drivice ...

2018-10-10 11:03:18 64 0

原创 Linux安装mongoDB

下载解压 cd /usr/local mkdir monogodb wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz tar -zxvf mongodb-linux-x86_64-3.0.6.tgz ...

2018-09-29 17:35:15 46 0

原创 Linux安装RabbitMQ

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法...

2018-09-29 16:13:28 3317 1

原创 SpringMVC 测试 mockMVC案列

编写一个简单案例,各种属性之后在网上查找 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test....

2018-09-19 15:25:12 63 0

原创 导入Maven项目,项目出现红色感叹号,pom.xml并出错(解决)

解决方法: 如果在设置 build path之后,或者project facts 之后还有感叹号,可以尝试以下: 右键项目: Maven—-&gt;maven update 等一会 感叹号消失!

2018-09-17 18:12:36 4124 2

原创 Linux上Redis集群搭建

Redis集群简介 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Re...

2018-09-13 18:39:24 40 0

转载 Nginx讲解(转)

本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流 Nginx能做什么 1.反向代理 2.负载均衡 3.HTTP服务器(包含动静分离) 4.正向...

2018-09-13 10:36:55 20 0

原创 java设计模式(创建型模式)之原型模式prototype

原型模式: 通过产生一个对象需要非常复杂的数据准备或访问权限.则可以使用原型模式 java中的克隆技术,以某个对象为原型,复制出新的对象, 优势:效率高(直接克隆,避免了重复执行构造过程) 克隆类似于new,但是不同于new.new创建新对象属性采用的是默认值,克隆对象的...

2018-09-12 19:16:44 42 0

原创 java设计模式(创建型模式)之建造者模式

1.建造模式的本质 1.实现了对象组件的单独构造和装配这个模式的构建过程复杂情况下使用. 2.实现了构建和装配的解耦,不同构建起,相同的装配,可以做出不同的对象.相同的构建起,不同装配顺序也可以出现不同的对象,试下了构建算法/装配算法的解耦.实现了更好的复用 实例: 1.需要...

2018-09-12 19:14:37 50 0

原创 java设计模式(设计模式介绍/创建型模式)之单列模式

设计模式 创建型模式: 单列模式/工厂模式/抽象工厂模式/建造者模式/原型模式 结构型模式 适配器模式/桥接模式/装饰模式/组合模式/外观模式/代理模式 行为型模式 模板方法莫斯/命令模式/迭代器模式/观察者模式/中介者模式/备忘录模式/解释器模式/状态模式/策略模式/责任链模式/访问者...

2018-09-12 19:02:21 37 0

原创 Linux学习之路之常用命令集合

u 撤销操作 y2w 当前位置开始向右复制2个字 4yb 从当前光标位置开始向左复制4个字 yy或Y 复制当前行 p(小写) 在当前光标位置之后插入复制的内容 P(大写) 在当前光标位置以前插入复制的内容 : 状态行命令的冒号前缀 range 缓冲区有效行的范围指定 / 查找的分隔符 在编辑文...

2018-09-12 16:03:50 44 0

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