自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis面试知识

1、Redis有哪些数据结构​ 字符串String、字典Hash、列表List、集合Set、有序集合SortSet。2、Redis分布式锁​ 先拿setnx来争抢锁,抢到之后,再到expire给锁加一个过期时间防止锁忘记了释放。可以同时把setnx和expire合成一条指令来使用。3、在1亿个key上面找出某个已知前缀开头​ 使用keys指令可以扫除指定模式的key列表4、如果这个re...

2019-12-05 14:20:46 168

原创 RocketMQ 详解

RocketMQ 详解1、 安装步骤​ 1、下载并解压安装包​ 2、进入安装目录​ 建议在 /usr/local 下创建 rocketmq 目录。并将rocketmq拷贝到该目录下面。2、目录介绍- bin: 启动脚本,包括 shell 脚本和 CMD 命令。- conf: 实例配置文件,包括 broker 配置文件,logback 配置文件等。- lib:依赖 jar 包,包括 ...

2019-12-05 14:17:05 333

原创 Java 并发编程阅读笔记(上)

Java 并发编程阅读笔记(上)1、同步(Synchronous)和异步(Asynchronous):同步方法调用必须等到方法调用返回。而异步则更像一个消息传递,无需等待结果返回。如去商场买东西,和网购东西2、并发(Concurrency)和并行(Parallelism):并发偏重于多个任务交替执行,而多个任务之间有可能还是串行。并行是真正意义上的“同时执行”。对于并发来说,执行的过程是交替的...

2019-12-05 14:10:38 185

转载 分布式协调技术

分布式协调技术1、分布式协调技术主要用来解决分布式环境中多个进场之间的同步控制,让他们有序的去访问某种临界资源,方式早餐"脏数据的后果"。2、为了防止分布式系统中各个进程之间相互干扰,我们需要一种分布式协调技术进行调度,这个分布式协调的核心是分布式锁技术。分布式锁应该具有的特性1、在分布式环境中应该能保证一个方法在同一时间只能被一个线程执行。2、高可用的获取和释放锁。3、高性能的获取和...

2019-07-17 14:12:31 754

原创 Centos7 docker安装MySQL

Docker MySQL安装 MySQL 镜像# docker pull mysql:5.7运行 mysqldocker run --restart=always --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1...

2019-07-17 14:10:46 312

转载 注解的基本原理

注解的基本原理​ 自从技术架构从原本的繁杂 XML 配置式转成如今的微服务架构,其中大量使用的注解实现的配置让我产生了极大的兴趣。因为当我们点击进入注解的内部,哪怕是下载了源码,也都看不见具体实现的代码,但是确实的产生了作用。哪么注解在Java中是如何实现的呢?1、注解是什么?​ 注解是一种标记式配置的语法糖,其主要的作用是解耦,使各个模块之间实现松耦合,最早在JDK 1.5的时候被提出。...

2019-07-17 14:06:29 1746

原创 linux安装redis

1、下载http://redis.io/download2、解压到任意目录tar -zxvf redis-3.0.0.tar.gz3、编译并安装#安装编译环境# yum install -y gcc#查看是否安装成功# rpm -qa|grep gcc#编译并安装# cd redis-3.0.0# make# cd src# make install PRIFIX=...

2019-06-17 17:29:01 130

转载 Centos7搭建Redis 3.X 集群

客户端分片不会共享数据,容易造成数据丢失,使用 Redis 集群构建分布式缓存时很好的选择。1、搭建集群建立 redis 集群,至少需要 3 个 mastar 实例,使用一个服务器使用 7000~7005 6个端口来模拟有 6 个 redis 实例,后将这 6 个实例组成三主三从的集群。使用的 Redis 版本是 3.2.6.将下载好的 redis-3.2.6.tar.gz 复制到 19...

2019-06-17 17:28:31 267

原创 搭建注册中心Consul集群

1、安装Consul# 下载Consul# wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip -O consul.zip# cd /opt/# unzip consul_0.7.2_linux_amd64.zip# 将解压的二进制文件Consul移动到 /usr/bin/# mv ...

2019-06-17 17:27:39 490

原创 FastJson常用方法

FastJSON List 转 JSONArrayList<T> list = new ArrayList<T>();JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));# null值也返回String jsonStr = JSON.toJSONString(slipTaskList,...

2019-06-17 17:26:22 297

原创 Shiro原理

功能简介Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,及权限验证,验证某个已认证的用户是否是拥有某个权限;即判断用户是否能进行什么操作,如:验证用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,他的所有信息都在...

2019-06-17 17:25:08 856

原创 windows10下oracle安装(完整)

由于工作需要在本地安装oracle,踩了一些坑,整理了一下。为了避免遇到各种报错的坑,需要提前准备。安装过程中可能会遇到以下几种问题提示找不到WFMLRSVCApp.ear文件[INS-13001]环境下不满足最低要求没有安装NET Framework 3.5验证密码是出现“ora-28000”的错误。1.oracle 11下载地址:http://download.o...

2019-06-17 17:23:28 1949

原创 Java环境变量配置

Java环境变量配置变量一:变量名: JAVA_HOME变量值:D:\Program Files\Java\jdk1.8.0_144变量二:变量名:Path变量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;变量三:变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar...

2019-06-17 17:21:05 99

转载 Oracle 常用SQL

1、创建表格时添加:create table tablename(id int auto_increment primary key,...) 2、创建表格后添加: alter table tablename add id int auto_increment primary key3、设置主键:alter table tablename add primary key(...

2019-06-17 17:20:07 156

原创 Linux 下安装Zookeeper-3.4.10

Linux 下安装Zookeeper-3.4.101、创建 /usr/local/services/zookeeper 文件夹。mkdir -p /usr/local/services/zookeeper2、进入到 /usr/local/services/zookeeper 目录中。cd /usr/local/services/zookeeper3、下载 zookeeper-3.4.10...

2019-06-17 17:18:43 2933 3

原创 Oracle提示资源正忙, 但指定以 NOWAIT

问题描述有时候 oracle 数据的某些表由于频繁操作,而且比较大,会导致锁表。(2)查询锁方法以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句:select t2.username,t2.sid,t2.serial#,t2.logon_time fromv$locked_object t1,v$session t2 where t1.session_id=t2.sidor...

2019-06-17 17:15:26 1885

原创 Centos7安装Maven

1.下载安装文件[root@zengrui kotlin]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz2.解压安装tar -zxvf apache-maven-3.3.9-bin.tar.gzmv a...

2018-06-03 16:31:15 156

原创 centos7下安装mysql(完整配置)

1. 下载并安装MySQL官方的Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令直接安装Yum Repository[root@localhost ~]# yum -y install m...

2018-06-03 16:27:43 58279 37

原创 windows10下oracle安装

由于工作需要在本地安装oracle,踩了一些坑,整理了一下。为了避免遇到各种报错的坑,需要提前准备。 - 安装过程中可能会遇到以下几种问题 1. 提示找不到WFMLRSVCApp.ear文件 2. [INS-13001]环境下不满足最低要求 3. 没有安装NET Framework 3.5 4. 验证密码是出现“ora-28000”的错误。* 1.oracle 11下载地址:...

2018-06-03 16:26:24 2720 1

原创 HashMap的工作原理

在之前接触了一个问题,题目是如何判断并消除链表中重复节点,给出的参考答案中用到了HashTable这个数据结构。HashMap和HashTable的区别:HashMap可以接收null键值和值,而HashTable则不能;HashMap是非synchronized;HashMap很快。 HashMap的工作原理:HashMap是基于hashing原理,我们使用put(key

2017-10-12 14:03:42 188

原创 CountdownLatch 类分析

之前看过一个视频,讲的主要是如何通过多线程模拟高并发访问。当时还没接触CountdownLatch这个类,之前有了解过进程间的通信方式,例如信号量、消息队列等。这篇文章主要研究 CountdownLatch 这个类的基本用法,以及如何实现多个线程同时运行。CountdownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,他允许一个或多个线程一直等待。主要方法

2017-10-09 16:59:48 331

原创 SpringMVC ModelMap用法

作用相当于 Javaweb中的 request.setAttribute()方法,即将将要保存的数据存入 request 域中具体用法model.addAtrribute("key", value);另外 SpringMVC分为 dao 、serivce 和 controller其中 dao是一个接口、service层包括其接口和实现类、在serviceImpl中注入dao的对

2017-10-08 16:59:03 2118 1

原创 StringUtils的两个方法比较

Commons包下的 StringUtils下提供了两个方法,isNotBlank()、isNotEmpty()用途:用于判断传进来的名称是否为 null 并且还要判断是否为空串isNotBlank:顾名思义,判断是否为空白 “”  和 “  ”两个都算是空串,返回 falseisNotEmpty:判断“”算是空串,但“  ”不为空串,返回 true例如在判

2017-10-08 16:52:05 1908

转载 Springmvc注解@initbinder解决类型转换问题

在使用SpringMVC的时候,经常会遇到表单中的日期字符和JavaBean的 Date类型的转换,而SpringMVC默认不支持这个转换,所以需要手动设置,自定义数据的绑定才能解决这个问题。在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBinder类来操作。 WebDateBinder是用来绑定请求参

2017-10-08 16:48:08 225

转载 SpringMVC处理模型数据

• Spring MVC提供了以下几种途径输出模型数据:§ ModelAndView:□ 处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据。§ Map及 Model:□ 入参为 org.springframework.ui.Model、org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中

2017-10-08 16:45:02 275

原创 Range Query-代价模型

总代价模型- COST = CPU COST + IO COSTCPU COST-MYSQL 上层,处理返回记录所花开销=CPU COST = RECORDS / TIME_FOR_COMPARE = RECORD / 5-每五条记录的处理时间,作为 1 COST-IO COST-存储引擎层面,读取页面的IO开销-以下 Innodb为例-

2017-10-08 16:43:41 438

转载 MYSQL自带工具使用介绍

MySQL数据库不仅仅提供了数据库的服务器端的应用程序,同事还提供了大量的客户端工具程序,如mysql,mysqladmin,mysqldump等等。mysqladmin,顾名思义,提供的功能都是与mysql管理相关的各种功能,如mysql server状态检查,各种统计信息的flush,创建/删除数据库,关闭 mysql server等等。myisamchk,功能有点类似

2017-10-08 16:41:21 2439

原创 redis常用命令集合

判断键值是否存在exists key存在 返回1 , 不存在返回 0(Integer)删除键值del key [key1...]可以删除一个,也可以同时删除多个键值,但不支持通配符匹配删除获得键值的数据类型type key返回key的数据类型,类型可以是(string、hash、list、set、zset(有序集合类型))赋值与取值s

2017-10-08 16:08:23 176

原创 Redis持久化方式RBD和AOF对比

Redis的持久化机制包括RBD和AOF两种,对于这两种持久化方式各有优势,本文将对此进行介绍。RDB机制的策略RDB持久化是指在指定的时间间隔内将内存中的数据和操作通过快照的方式保存到redis bin目录下的一个默认名为 dump.rdb的文件,可以通过配置设置自动的快照持久化的方式,我们可以配置redis在n秒内进行快照的时间,如果超过这个时间节点,将会自动执行快照操作。虽然

2017-10-08 13:03:49 1949

转载 Hibernate中使用离线条件查询

Hibernate提供了Criteria对象,用户动态加入查询条件,使在跟根据指定查询条件查询更加灵活。package cn.itcast.shop.product.dao;import java.util.List;import org.hibernate.criterion.DetachedCriteria;import org.hibernate.criterion.Order

2017-09-27 11:11:51 1257 2

转载 商城购物设计和购物项对象设计

购物车的设计:package com.shop.cart.vo;import java.util.Collection;import java.util.LinkedHashMap;import java.util.Map;/** * 购物车对象 * * @author Charlotte * */public class Cart { // 购物项:key:商品

2017-09-27 11:07:52 411

转载 Java实现邮箱发送

package cn.itcast.shop.user.utils;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.Message.RecipientType;import javax.mail.MessagingExcept

2017-09-27 11:06:00 370

转载 Ajax完成用户名的异步校验

function checkUsername() { var username = document.getElementById("username").value; //1. 创建异步对象 var xhr = CreateXHR(); //2. 设置监听 xhr.onreadystatechange = function() { if (xhr.readyState

2017-09-27 11:03:35 308

原创 Java常用集合类型总结

1. Set:集合中的元素不按照某一指定的方法排序,并且不存在重复的独享。Set 的一些实现类能对集合中的元素按指定的方式排序。     2. List:集合中的元素按照索引位置排序,可以有重复对象,支持按照元素在集合中的索引来查询元素。     3. Map:集合中的每一个元素包含了一对键对象和值对象,集合中没有重复的键对象,而值对象可以重复。对Java中3种集合类详

2017-09-27 10:57:04 242

原创 Hibernate中GET和LOAD方法的区别

Get vs load :1. 执行 get 方法: 会立即加载对象。a. 执行load,若不适用该对象,则不会立即执行插叙操作,而是返回一个代理对象get 是立即检索 load是延迟检索2. 若数据表中没有对应的记录.a. Get 返回nullb. Load 抛出异常3. Load方法会抛出懒加载异常 LazyInitializationException

2017-09-27 10:54:28 207

原创 表单的重复提交与解决办法

重复提交的情况:①.在表单提交到一个Servlet,而Servlet又通过请求转发的方式响应了一个JSP(HTML)页面,此时地址栏还保留着Servlet那个路径在响应页面点击刷新。 ②.在响应也难没有到达时重复点击“提交按钮”。 ③.点击“返回”,再点击“提交” 2). 不算重复提交的情况:点击“返回”,“刷新”原表单页面,再“提交”。

2017-09-27 10:50:27 499

原创 JSP属性范围

在 JSP中提供了 4 中属性范围: 他们分别是 page、request、session和application。对这几个作用范围的说明如下: page范围:指所设置的属性尽在当前页面内有效。使用pageContext的 setAttribute()方法可以设置属性值,使用 pageContext的getAttribute()方法可以获得属性值。 request范

2017-09-27 10:46:55 190

原创 Java重定向与转发

重定向:作用是停止当前 JSP 页面的执行,而将客户端请求转交给另一个 JSP 页面。 要注意转发与重定向的区别。        转发: 在服务器端进行的,不会引起客户端的二次请求,因此浏览器的地址不会发生任何变化,效率也比重定向要高。         同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request 内的对象将无法使用。(参数和结果丢失,引起客户端

2017-09-27 10:46:11 351

转载 Java常用排序算法

选择排序法/*** @Method 选择排序法**/private int[] array = new int[10];protected void selected_sort(){ int index; for(int i=0; i < array.length; i++){ index = 0; for(int j=0; j < array.length - i;

2017-09-24 11:01:06 211

转载 Equals方法重写

为什么equals() 方法需要重写?判断连个对象在逻辑上是否相等,如果根据类成员变量来判断两个的实力是否相等,而继承Object中的 equals 方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写 equals()方法我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,我们呢需要先判断集合中是否存在怎样重写equals()方法?重写eq

2017-09-24 10:56:28 316

空空如也

空空如也

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

TA关注的人

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