自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aierbude的博客

词不达意,事与愿违。

  • 博客(100)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql数据库各种join的使用结果展示

这里只包含了常用的几种;user表:user_1011表:select * from user u0 left join user_1011 u1 on u1.name = u0.name;select * from user u0 left join user_1011 u1 on u1.name = u0.name where u1.name is not null;select * from...

2018-03-22 14:56:43 1415

原创 关于git中cherry-pick的使用,选择一部分提交的代码合并到另一个分支

是这样的,我有一个这样子的经历:本人一开始在A分支开发代码,体测的时候恰好B分支的代码也在提测,测试环境只能构建一个分支。于是我们就把两个人的代码合到同一个分支C分支去了。构建了C分支之后,我们两个人的代码都可以提测了,有问题了我们两个人就直接在C分支上修改,再构建。美滋滋~后来上线的时候,问题来了,C分支包含了两个人的代码,可是我的代码要后上线,他的代码先上线,怎么办呢,我们就在想,在A

2017-11-24 15:33:21 21994 6

原创 数据库 EXISTS的用法

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或FalseEXISTS 指定一个子查询,检测 行 的存在。语法: EXISTS subquery参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。结果类型: Boolean 如果子查询包含行,则返回 TRUE

2017-10-23 09:37:08 42825

原创 springboot初步使用RocketMQ

Consumer类:/**RocketMQ消费者类,在web容器启动时启动一个消费线程,详见MyListenerOnServlet * Created by chenhaitao on 2017/9/28. */public class Consumer { public void testConsume(){ DefaultMQPushConsumer con

2017-09-28 14:45:21 3483

原创 springboot结合redis实现redis订阅发布模式

redis订阅发布模式:Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。实现功能

2017-09-27 09:54:38 4049 1

原创 Java中CountDownLatch的使用

CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数co

2017-09-25 17:52:56 163

转载 Redis消息系统——发布/订阅

发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向redis serve

2017-09-25 16:13:13 429

转载 HashMap的实现

JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entry我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中static class Entry implements Map.Entry { final K key; V value;

2017-09-22 14:14:31 98

转载 HashMap为什么线程不安全

hash碰撞与扩容导致通过Entry内部的next变量可以知道使用的是链表,这时候我们可以知道,如果多个线程,在某一时刻同时操作HashMap并执行put操作,而有大于两个key的hash值相同,如图中a1、a2,这个时候需要解决碰撞冲突,而解决冲突的办法上面已经说过,对于链表的结构在这里不再赘述,暂且不讨论是从链表头部插入还是从尾部初入,这个时候两个线程如果恰好都取到了对应位置的头结

2017-09-22 13:55:41 297

转载 利用HandlerExceptionResolver对SpringMVC进行统一异常处理

要解决Controller的异常问题,当然也不能在每个处理请求的方法中加上异常处理,那样太繁琐。Spring MVC提供了一个HandlerExceptionResolver接口,可用于统一异常处理。HandlerExceptionResolver接口public interface HandlerExceptionResolver { ModelAndView resol

2017-09-11 15:35:28 1473

原创 mac下如何安装并启动关闭zookeeper和redis

单纯的记个笔记补充一下密码相关信息上面两张图片是启动zookeeper和redis的样子。然后说一下安装:mac安装redis:http://www.jianshu.com/p/6b5eca8d908bmac安装zookeeper:http://www.jianshu.com/p/0ba61bf7149f...

2017-08-24 09:15:34 3867

转载 spring学习 一 <context:component-scan>使用说明

在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的Java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean注意:如果配置了那么标签就可以不用再xml中配置了,因为前者包含了后者。另外还提供了两个子标签1.        2.       在说明这两个子标签前,先说一下有一

2017-08-19 14:33:34 93

原创 Thread与ThreadLocal同步机制的比较

public class SequenceNumber { private Integer integer = new Integer(0); private static ThreadLocal safeInteger = new ThreadLocal(){ public Integer initialValue(){ return

2017-08-18 16:08:14 319

原创 学习java中的filter(过滤器)

filetr简介:Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。它主要用于对用户请求进行预处理,也可以对HttpServl

2017-08-12 14:51:23 474

原创 Springmvc 生成并且下载文件--直接在浏览器下载。

首先,我有一个jsp页面: Title function download(){ var url="http://localhost:8080/wdxend/excelexport/testDownload"; window.open(url); }很久不玩,都不记得jsp怎么配得了。<bean id="jspV

2017-08-11 20:30:08 8278 1

原创 关于客户端下载文件而不是在服务器生成文件

今天在公司开发时,遇到这样一个需求:可以让客户下载excel文件。我写了代码之后,忽然意识到我这样的生成文件是本地的,也就是说是保存在服务器的。有这样一个解决方案:先看Service层:@Override public String downloadPieceCost(PieceCostParam pieceCostParam) { XMLExcel e = n

2017-08-11 11:40:00 1105

原创 maven学习笔记一

一:定制库到Maven本地资源库。这里有一个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库。要使用的 jar 不存在于 Maven 的中心储存库中。您创建了一个自定义的 jar ,而另一个 Maven 项目需要使用。PS,还是有很多 jar 不支持 Maven 的。例如,kaptcha,它是一个流行的第三方Java库,它被用来生成 “验证码”

2017-08-07 09:58:24 231

转载 Spring+Mybatis配置事务管理

一共有两种事物的配置方式:声明式和注解式。声明式:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sche

2017-08-03 10:27:30 1923

原创 java Lock读写锁测试

当我们设计到读写操作时,需要实现读与写的互斥,写与写的互斥,但不需要维护读与读的互斥。但是使用synchronized无法实现排除读与读的互斥,这时候就需要Lock来实现。访问测试类:public class ReadWriteLockTest { public static void main(String[] args) { Datetest datetes

2017-07-27 17:11:18 762

原创 java多线程实现生产者与消费者

只是自己的理解有错误还请指出:工厂类:public class MyFactory { private int foodNum = 0; public int getFoodNum() { return foodNum; } public void setFoodNum(int foodNum) { this.foodN

2017-07-27 14:50:47 510

原创 java使用轮询和wait()/notify()实现多线程之间的通信

使用轮询方式实现通信:public class MyList { private static int i = 0; public int getI() { return i; } public void setI(int i) { MyList.i = i; } private volatile List

2017-07-24 16:06:22 2305 1

原创 synchronized初步

首先观察如下代码public class NameAndPsw { private String name = "name"; private String psw = "psw"; synchronized public void setsth (String n,String p){ this.name = n; try {

2017-07-24 15:03:31 251

原创 volatile关键字的初步理解

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchr

2017-07-24 11:27:18 307

原创 java多线程学习——同步

Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java同步块用来避免竞争。Java 同步关键字(synchronized)Java中的同步块用synchronized标记。同步块在Java中是同步在某个对象上。所有同步在一个对象上的同步块在同时只能被一个线程进入并执行操作。所有其他等待进入该同步块的线程将被阻塞,直到执行该同步块中的线程退出。

2017-07-21 15:48:27 95

原创 在mybatis查询时使用map以及list参数

当传入的参数为一个map时,可以使用test=""> 数据库关键字=map值当时用的参数为list时,可以使用AND bp.id INcollection="list" item="item" index="index" open="(" separator="," close=")"> #{item,

2017-07-12 20:06:37 1219

原创 在spring boot中使用@WebFilter配置filter(包括排除URL)

@WebFilter(urlPatterns = "/*")@Order(value = 1)public class TestFilter implements Filter { private static final Set ALLOWED_PATHS = Collections.unmodifiableSet(new HashSet<>( Arrays

2017-07-03 19:40:42 42606 7

原创 Java网络编程学习

Java网络编程学习:socket:创建Socket:下面的示例代码是连接到IP地址为78.64.84.171服务器上的80端口,这台服务器就是我们的Web服务器(www.jenkov.com),而80端口就是Web服务端口。Socket socket = new Socket("78.46.84.171", 80);Socket发送数据:要通过Socket

2017-06-27 15:21:23 233

原创 关于java反射机制的学习

package day05;import day04.NioTest;import java.lang.annotation.Annotation;import java.lang.reflect.*;import java.util.Arrays;class Reflect { public Reflect(String s){ System.out

2017-06-27 15:08:28 71

原创 java通过poi包操作excel

不要把问题想得太复杂,目前没有什么具体应用,就先看了一点简单的操作。往excel里面写内容:public static void main(String[] args) { try { HSSFWorkbook workbook= new HSSFWorkbook(); HSSFSheet sheet

2017-06-26 15:45:28 262

原创 hashmap和hashset的理解,关于hashcode和equals。

这只是我的个人笔记,想要看详细的可以去Java中的equals和hashCode方法详解和java提高篇(二三)-----HashMapJava中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍一些这两个方法的作用。equals()和hashCode()方法是用来在同一类中做比

2017-06-18 17:01:04 380

原创 关于maven+dubbo+springboot环境的搭建

大概流程是这样的:项目A有一个接口Ainterface,想一个接口实现类Aimpl;项目B要用到Aimpl,但是通过dubbo和maven,可以在只知道接口的情况下实现。A需要将接口上传到maven私服,通过zookeeper注册实现类。B导入maven的接口类之后,通过注册zookeeper可以调用Aimpl。具体代码如下:A项目的接口public interface T

2017-06-14 22:05:26 363

原创 利用TreeMap对map进行排序

Treemap是可以根据键对map进行排序的,注意:是根据键。一般来讲,键可以使Integer或者是String,但是也可以是对象,但是该对象的实现类必须实现Comparable接口。class mycompare implements Comparable{ private int age; private String name; public mycompa

2017-06-12 15:13:04 1218

原创 java关于多态的一些理解

多态是指程序中定义的定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用并不确定,而是在程序确定期间才确定,即一个引用变量到底会指向那个类的实例对象,该引用对象发出的方法调用到底是哪个类中实现的方法,必须在程序运行期间才能确定。因为是程序在运行时才确定具体的类,这样,不用修改原程序代码,就可以让引用变量绑定到各种不同的实现类上,从而导致该引用调用的具体方法随之改变,即不修改原程序的代码就可

2017-06-12 12:36:26 262

原创 两个具有相同属性的对象之间属性的拷贝

在处理业务逻辑时,偶尔会有这样的需求:对象A已经实例化,但是有一些格式上的不符合标准,对象B没有具体的属性值但是格式却符合标准。一般这样的情况会出现在DTO对象与VO对象之间。DTO需要实现序列化才可以传输。这时候就需要对象属性的拷贝:public static void copyProperties(Object source, Object target) throws BeansEx

2017-06-07 18:41:58 3687

原创 Spring boot结合swagger自动生成api文档

首先需要在工程中加入以下依赖: io.springfox springfox-swagger2 2.2.2 io.springfox springfox-swagger-ui 2.2.2版本随意。然后创建自己的swagger类:@Configuration@EnableSwagger2public class Swagger2 {

2017-05-31 16:19:53 543

原创 spring boot中定时任务的使用

主要用到两个注解:@Scheduled(fixedDelay = 5000)@EnableScheduling其中@Scheduled有参数fixedDelay和fixedRate前者是以当前任务执行完之后延迟的时间会再次执行定时任务,后者是以当前任务的开始时间延迟响应时间再次执行定时任务。例子:package com.myweb.task;import org

2017-05-31 10:17:57 1278

原创 基于Timer和TimerTask的定时任务

class MyTimerTask extends TimerTask{ private String name; public MyTimerTask(String inputname){ this.name=inputname; } public void run(){ Calendar calendar = Calendar.g

2017-05-30 11:45:05 381

原创 java中正则表达式以及Pattern和Matcher

正则匹配// 反斜杠/t 间隔 ('/u0009')/n 换行 ('/u000A')/r 回车 ('/u000D')/d 数字 等价于[0-9]/D 非数字 等价于[^0-9]/s 空白符号 [/t/n/x0B/f/r]/S 非空白符号 [^/t/n/x0B/f/r]/w 单独字符 [a-zA-Z_0-9]/W 非单独字符 [^a-zA-Z_0-9]/f

2017-05-29 10:21:45 882

原创 java多线程初步学习

start()线程在调用该方法后,该线程会处于Runable状态,当该线程获取到cpu资源的时候就可以执行,与直接调用run不同,直接调用run函数其实就是函数的调用。sleep()调用该方法使当前线程暂停一段时间,让其他线程有机会得到执行,但该方法不会释放掉当前线程所拥有的对象锁,意思是其他线程的到运行机会时,也不能访问该线程的加锁内容,该方法需要捕获异常。yield()与s

2017-05-27 12:53:57 225

原创 java编程思想阅读笔记之对象克隆

普通的对象赋值例如:对象A=对象B,是指用不同的句柄指向同一个内存空间。我们有时候需要进行深层复制,即指向不同的内存空间,可以实现接口:Cloneable例一:import java.util.*; class MyObject implements Cloneable { int i; 354 MyObject(int ii) { i = ii; } public Ob

2017-05-26 10:37:36 331

redis-desktop-manager for mac

redis图形化操作工具,mac版!

2017-07-18

空空如也

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

TA关注的人

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