nwpu_geeker的博客

希望能向大牛学习!

正确理解where和having的使用

以前在学校里学习过SQLserver数据库,发现学习的都是皮毛,今天以正确的姿态谈一下MySQL中where和having的区别。 误区:不要错误的认为having和group by 必须配合使用。 下面以一个例子来具体的讲解: 1. w...

2018-08-26 17:39:51

阅读数:53

评论数:0

java线程之间的通信方式

引言 当多个线程需要协作来完成一件事情的时候,如何去等待其他线程执行,又如何当线程执行完去通知其他线程结束等待。 线程与进程的区别 进程可以独立运行,它是系统进行资源分配和调度的独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,比进程更小的独立单位,它基本上不拥有系统资源...

2018-07-26 14:49:52

阅读数:88

评论数:0

线程池中的线程为什么不会释放而是循环等待任务呢

线程池 之前一直有这个疑问:我们平时使用线程都是各种new Thread(),然后直接在run()方法里面执行我们要做的各种操作,使用完后需要做什么管理吗?线程池为什么能维持住核心线程不释放,一直接收任务进行处...

2018-07-25 23:35:05

阅读数:359

评论数:0

JAVA8之collect总结

JAVA8之collect总结(给自己) 一,collect是一个终端操作,它接收的参数是将流中的元素累积到汇总结果的各种方式(称为收集器) 二,预定义收集器包括将流元素归约和汇总到一个值.如下 工厂方法 返回类型 用于 toList ...

2018-07-23 22:34:45

阅读数:29

评论数:0

缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数...

2018-07-23 16:49:34

阅读数:21

评论数:0

RPC原理解析

1.RPC原理解析 1.1 什么是RPC RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。R...

2018-07-23 10:37:27

阅读数:85

评论数:0

mysql联合索引的理解

命名规则:表名_字段名1、需要加索引的字段,要在where条件中2、数据量少的字段不需要加索引3、如果where条件中是OR关系,加索引不起作用4、符合最左原则 https://segmentfault.com/q/1010000003984016/a-1020000003984281 联合索引又...

2018-07-19 23:19:16

阅读数:60

评论数:0

使用Java8的fuction函数式编程例子

前言 由于这段时间使用SpringBoot的原因,很多东西都用了SpringBoot内部的Template来做,也没关心底层怎么操作的。最近忙里偷闲回答了几个问题,正巧看到一个关于Redis资源释放问题的,引起了我的兴趣,便去看了下官方文档。 Redis推荐的Java客户端是jedis,关于J...

2018-07-12 14:58:18

阅读数:235

评论数:0

MYSQL中的乐观锁实现(MVCC)简析

什么是MVCC MVCC即Multi-Version Concurrency Control,中文翻译过来叫多版本并发控制。 MVCC是解决了什么问题 众所周知,在MYSQL中,MyISAM使用的是表锁,InnoDB使用的是行锁。而InnoDB的事务分为四个隔离级别,其中默认的隔离级别REPEA...

2018-07-09 17:32:59

阅读数:36

评论数:0

分析ReentrantLock的实现原理

Java并发编程源码分析系列: 分析Java线程池的创建 分析Java线程池执行原理 分析Java线程池Callable任务执行原理 前几篇文章分析了线程池的原理,接下来研究锁的方面。显式锁ReentrantLock和同步工具类的实现基础都是AQS,所以合...

2018-07-06 10:53:18

阅读数:91

评论数:0

什么是可重入锁

可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响。 本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。 可重入...

2018-07-06 10:19:00

阅读数:171

评论数:0

Java多线程-线程池ThreadPoolExecutor的submit返回值Future

起 原文地址 http://blog.csdn.net/qq_25806863/article/details/71214033 一般使用线程池执行任务都是调用的execute方法,这个方法定义在Executor接口...

2018-07-05 23:10:45

阅读数:44

评论数:0

Java并发控制:ReentrantLock Condition使用详解

Java并发控制:ReentrantLock Condition使用详解 生产者-消费者(producer-consumer)问题,也称作有界缓冲区...

2018-07-05 22:04:55

阅读数:78

评论数:0

LinkedBlockingDeque源码分析

LinkedBlockingDeque是一个基于链表的双端阻塞队列。和LinkedBlockingQueue类似,区别在于该类实现了Deque接口,而LinkedBlockingQueue实现了Queue接口。该类的继承关...

2018-07-05 21:35:16

阅读数:92

评论数:0

Jdk8 Optional 的使用

在实习过程中,阅读项目源码的时候看到了Optional的用法,将返回的类进行包装,调用Optional类中的一些方法。不禁利用一些业余时间,好好学习一下jdk1.8带给我们强大的用法。总之就是,简化了之前代码的书写,使用函数式编程,不用反复去检验返回值为null的情况,总之,谁用谁知道,好好学吧 ...

2018-07-05 17:52:14

阅读数:138

评论数:0

Lock锁和Condition条件

浅谈Synchronized:   synchronized是Java的一个关键字,也就是Java语言内置的特性,如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,执行代码块时,其他线程 便只能一直等待,等待获取锁的线程释放锁,而获取锁的线程释放锁...

2018-07-05 17:44:39

阅读数:54

评论数:0

java函数式编程之Predicate

描述:Predicate< T>接口接受一个T类型参数,返回一个boolean值。 源码: public interface Predicate<T&a...

2018-07-05 15:30:43

阅读数:23

评论数:0

注解简单理解和原理

前言 在项目中会使用工具类来处理一些通用的业务,而工具类有一部分是通过注解来完成的。比如:对excel的上传与解析。利用pojo封装excel解析出来的数据,动态的实现excel的解析。 什么是注解 注解也叫...

2018-06-17 16:04:46

阅读数:154

评论数:0

Java正则表达式--Matcher.group函数的用法

原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。 最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异。比如Java正则表达式中的“组”概念与《正则表达式必知必会》一书中讲述的“子...

2018-05-22 15:09:10

阅读数:183

评论数:0

使用拦截器记录你的SpringBoot的请求日志

请求日志几乎是所有大型企业级项目的必要的模块,请求日志对于我们来说后期在项目运行上线一段时间用于排除异常、请求分流处理、限制流量等。请求日志一般都会记录请求参数、请求地址、请求状态(Status Code)、SessionId、请求方法方式(Method)、请求时间、客户...

2018-05-21 11:27:15

阅读数:837

评论数:0

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