java 线程方法join的简单总结
摘要:一、作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。具体看代码: 上面程序结果是先打印完小明线程,在打印小东线程; 上面注释也大概说明了join方法的作用:在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。注
阅读全文
posted @
2018-08-31 10:54
爷的眼睛闪亮
阅读(193)
推荐(0) 编辑
链表数据结构图解 和 代码实现
摘要:项目中经常会用到LinkedList集合来存储数据,打算写一篇LinkedList的源码解析,而LinkedList是基于链表结构存储数据的,这篇博文将解析链表数据结构,包括单向链表和双向链表; 1:单向链表: 单向链表的链表对象维护了一个 first 引用,该引用指向节点链表中的第一个节点对象,每
阅读全文
posted @
2018-08-29 16:20
爷的眼睛闪亮
阅读(641)
推荐(0) 编辑
如何合理设置线程池大小
摘要:要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析: 性质不同的任务可以交给不同规模的线程池执行。 对于不同性质的任务来说,CPU密集型任务应配置尽可能小的线程,如配置CPU个数+1的线程数,IO密集型任务应配置尽可能多的线程,因为IO操作不占用CPU,不要让CPU闲下来,应加
阅读全文
posted @
2018-08-29 16:03
爷的眼睛闪亮
阅读(313)
推荐(0) 编辑
Hash算法的讲解
摘要:散列表,又叫哈希表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过
阅读全文
posted @
2018-08-28 16:41
爷的眼睛闪亮
阅读(18563)
推荐(2) 编辑
hash bucket
摘要:什么是bucket bucket的英文解释: Hash table lookup operations are often O(n/m) (where n is the number of objects in the table and m is the number of buckets), w
阅读全文
posted @
2018-08-28 16:38
爷的眼睛闪亮
阅读(301)
推荐(0) 编辑
java 查看线程的信息
摘要:的代码上加上 断点 运行 进入Terminal jps 查看进程号 jstack 进程号 查看线程的信息 jstack pid 此时进去DEBUG 端F9 跑完程序 再回到Terminal 中 就能看到线程的一些信息 jps -lvm 查看堆栈信息
阅读全文
posted @
2018-08-28 11:20
爷的眼睛闪亮
阅读(580)
推荐(0) 编辑
List,Set,Map存取元素各有什么特点
摘要:一丶存放 List存放元素是有序,可重复 Set存放元素无序,不可重复 Map元素键值对形式存放,键无序不可重复,值可重复 二丶取出 List取出元素for循环,foreach循环,Iterator迭代器迭代 Set取出元素foreach循环,Iterator迭代器迭代 Map取出元素需转换为Set
阅读全文
posted @
2018-08-22 10:21
爷的眼睛闪亮
阅读(297)
推荐(0) 编辑
java 让图片变黑白
摘要:import java.awt.Image;import java.awt.color.ColorSpace;import java.awt.image.BufferedImage;import java.awt.image.ColorConvertOp;import java.io.File;im
阅读全文
posted @
2018-08-16 10:41
爷的眼睛闪亮
阅读(830)
推荐(0) 编辑
springMVC 防重校验(拦截器)
摘要:<mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.bitspace.bourse.core.interceptor.NoRepeatInterceptor"></bean></mvc:interceptor> import co
阅读全文
posted @
2018-08-15 14:29
爷的眼睛闪亮
阅读(244)
推荐(0) 编辑
BigDecimal 的幂次方运算
摘要:public static void main(String[] args){ BigDecimal bg1, bg2; bg1 = new BigDecimal("200000.45"); bg2 = bg1.multiply(new BigDecimal(10).pow(18)); String
阅读全文
posted @
2018-08-15 11:57
爷的眼睛闪亮
阅读(6640)
推荐(0) 编辑
springboot 中使用事务
摘要:直接在service 层的方法上加上@Transactional 注解就ok。 注意事项: 1、Spring 基于注解的声明式事物 @Transactional 默认情况下只会对运行期异常(java.lang.RuntimeException及其子类)和 Error 进行回滚。 2、数据库引擎要支持
阅读全文
posted @
2018-08-14 15:17
爷的眼睛闪亮
阅读(347)
推荐(0) 编辑
MySQL表级锁和行级锁
摘要:一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情
阅读全文
posted @
2018-08-08 16:21
爷的眼睛闪亮
阅读(214)
推荐(0) 编辑
MySQL表级锁和行级锁
摘要:一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情
阅读全文
posted @
2018-08-08 16:21
爷的眼睛闪亮
阅读(209)
推荐(0) 编辑
MySQL中的锁(表锁、行锁)
摘要:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。 MySQL大致可归纳为以下3种锁: 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并
阅读全文
posted @
2018-08-08 16:18
爷的眼睛闪亮
阅读(533)
推荐(0) 编辑
RateLimiter 限流
摘要:@RestControllerpublic class RateLimiterController { private RateLimiter rateLimiter = RateLimiter.create(10); @RequestMapping("/test") public void tes
阅读全文
posted @
2018-08-07 16:12
爷的眼睛闪亮
阅读(159)
推荐(0) 编辑
dubbo 提示No such extension Filter for filter/com.alibaba.dubbo.rpc.Filter
摘要:配置时 <dubbo:provider filter="DubboExceptionFilter"></dubbo:provider> DubboExceptionFilter 这个值不是spring的bean. 而需要在META-INF/dubbo/com.alibaba.dubbo.rpc.Fi
阅读全文
posted @
2018-08-07 15:13
爷的眼睛闪亮
阅读(3862)
推荐(1) 编辑
每秒处理请求数和并发的关系
摘要:设平均响应时间为t(单位为毫秒), 并发量为c,每秒处理请求数为q,则: q = (1000/t) * c 就是这个关系; 想要升高q,就只有两条路:1) 降低t 2) 升高c 对于'1', 只能靠优化代码实现,只能尽量做,往往提升有限; 对于'2', 通常c与你服务器程序的请求处理模型有关,如果你
阅读全文
posted @
2018-08-03 15:37
爷的眼睛闪亮
阅读(2448)
推荐(0) 编辑
java 上传图片压缩图片
摘要:package com.bitspace.flame.util; import java.io.File; import java.awt.Image;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;i
阅读全文
posted @
2018-08-02 17:28
爷的眼睛闪亮
阅读(229)
推荐(0) 编辑
java 上传图片压缩
摘要:public static void uploadFile(MultipartFile multfile, String filePath) throws Exception { File targetFile = new File(filePath); if (!targetFile.exists
阅读全文
posted @
2018-08-02 17:27
爷的眼睛闪亮
阅读(192)
推荐(0) 编辑