自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 一览定时器

转自https://mp.weixin.qq.com/s?__biz=MzU0MzQ5MDA0Mw==&mid=2247485156&idx=2&sn=ae87e871a063a14d0f30551b0d4843ac&chksm=fb0bec70cc7c6566f66a9a6adf03488b2354ff9c4c2e42adeeacc2439e71ec0aa6cbf...

2019-03-29 18:57:49 135

原创 sentinel监控平台

从github下载https://github.com/alibaba/Sentinel/tree/master/sentinel-dashboardmvn clean packet打包jarjava -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-da...

2019-03-28 12:03:30 1318

原创 redis优化之PipeLine管道

首先我们使用普通的redisTemplate进行操作https://blog.csdn.net/weixin_38336658/article/details/79034267配置完之后,思考下为啥PipeLine可以优化redis的性能?什么时候使用?redis是单线程的,io多路复用,它需要在前一个请求处理完成之后,再处理下一个请求。如果说有很多请求忽然发送过来,那么也会影响red...

2019-03-28 00:26:42 566

转载 Spring Bean的生命周期

面试高频题目, 参考:https://www.cnblogs.com/kenshinobiy/p/4652008.html个人再进行总结:spring引入容器概念,大致有BeanFactory还有ApplicationContext进行Bean生命周期管理。初始化流程1.bean创建从 java类加载器可以知道,通过唯一的路径的类以及类加载器来实例化bean2.属性注入...

2019-03-21 17:27:27 106

转载 线上oom如何处理

安装MAT工具https://projects.eclipse.org/projects/tools.mat解压之后双击蓝色的exe即可使用打开xx.hprof文件,即会出现页面点击See stacktrace按钮,即会出现oom错误的地方可以看到test6.main方法导致的,第12行,nice那么如何生成这个xx.hprof?使用idea示...

2019-03-20 23:42:28 1396

转载 java类加载器

参考http://ifeve.com/jvm-classloader/java使用委托机制进行加载,调用父类的加载器来加载子类,先加载父类构造函数,再加载子类构造函数委托机制作用:1.避免重复加载 2.安全问题第一点如果jvm存在这个类,将会从缓存中读取,如果不存在的话,会从包路径找到类文件去加载二进制字节码,读取到内存中,然后会调用本机方法defineClass1解析字节码为J...

2019-03-20 15:46:29 470

转载 可重入锁总结

ReentrantLock与Synchronized都是可重入锁具体什么是可重入锁?当一个线程获取这个锁之后,再次获取锁不会造成死锁,实现原理:每次获得锁之后,记录拥有锁的线程id以及获得锁的次数。再次获取的时候,如果这个锁不是它的则要等待,如果是它的话,总数+1。当释放的时候,拥有锁的个数减一。作用:可重入锁是为了避免死锁。public class Test implement...

2019-03-20 00:16:46 429

转载 B+树与B树的区别?索引为什么选择B+树

参考https://blog.csdn.net/weixin_30531261/article/details/79312676b-树,叶子节点跟非叶子节点都储存数据b+树,只有在叶子节点储存数据区别:B树:有序数组+平衡多叉树;B+树:有序数组链表+平衡多叉树;为啥索引使用 b+树数据库索引采用B+树的主要原因是B树在提高了磁盘IO性能的同时并没有解决元素遍历...

2019-03-19 21:45:41 4174 3

转载 springboot加载过程

springboot采用默认配置简化了配置,有两种加载方式:spring.factories加载classpath下的jar包,以及@Enablexxx,加载制定的配置文件。个人写得很简单,请参考https://blog.csdn.net/Let_me_tell_you/article/details/80951595...

2019-03-19 17:13:53 8045 1

转载 找出数组里面重复两次的数

题目:假如你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000之间(包括1000)、此外,除了一个数字出现两次外,其他的数字只出现了一次。假设你对数组做一次处理,用一种算法找出重复的那个数字,要求不使用大量额外的存储空间(即要求辅助空间为O(1))https://blog.csdn.net/fujunsfzh/article/details/53995...

2019-03-19 00:17:21 1307

原创 大数据去重bitmap以及布隆过滤器

布隆过滤器https://blog.csdn.net/weixin_38336658/article/details/84981204存在误差,而且随着数量的增加,空间复杂度也随着增加bitmapjava使用bitset进行实现具体demopackage com.example.demo.bitmap;import com.google.common.h...

2019-03-18 23:25:26 92297

原创 springboot+thymeleaf实现国际化

thymeleaf常识https://blog.csdn.net/chs007chs/article/details/82497743${}变量引用#{}i18n国际化pom.xml <dependency> <groupId>org.springframework.boot</groupId>...

2019-03-18 15:51:00 939 2

转载 数据库事务以及脏读,不可重复读,幻读

4种事务:串行读:事务串行执行,效率最低可重复读:一个事务不会去修改已经读取但未提交的数据。也就是说它没有提交前,怎么读都是那个数值。避免不了幻读读未提交:即使没有提交,也可以被别人读到。会造成脏读,幻读,不可重复。读已提交:读取已经提交的数据。避免不了幻读以及不可重复读,比如现在a读到b为1,在它操作前,c把b+1了,那么现在a读到的b为2,这就乱套了。脏读:一个事务读...

2019-03-18 00:06:18 111

转载 RocketMQ总结(持久化,重发机制,分布式事务,监控机制,顺序消息,重复消费等等)

官网http://rocketmq.apache.org/docs/code-guidelines/windows安装RocketMQ在官网下载二进制包http://rocketmq.apache.org/release_notes/release-notes-4.2.0/解压配置环境变量启动RocketMQ在bin目录下,D:\RocketMQ\bi...

2019-03-16 22:31:40 2787

原创 redis总结

1.原理:单线程,基于内存的数据库2.单线程为啥会速度快?1)单线程2)多路IO复用3)基于内存3.redis持久化https://www.cnblogs.com/chenliangcl/p/7240350.html从内存里面写到硬件2种模式:RDB(默认)和AOF从图直观的看到RDB:全量持久化,原理:定时进行全量更新,到指定文件优点:效率高缺点:...

2019-03-14 23:55:31 302

原创 LongAdder与Atomic*

Atomic类https://blog.csdn.net/weixin_38336658/article/details/86708083采用CAS模式来控制安全性LongAdder类似与ConcurrentHashMap,可以将热点数据分离,相应的速度,性能比Atomic类会好它有2个方法,add(long x),increment(),sum()increment()调用的是s...

2019-03-14 20:31:58 277

原创 java策略模式

根据不同策略来执行不同的操作例如:接口的实现,可以通过调用不同的实现类,来完成相应的操作接口public interface ChildClass { public void a(); public static void main(String[] args) { List<ChildClass> list=new ArrayList&...

2019-03-14 14:10:19 575

原创 阿里开源限流神器Sentinel以及个人对限流总结

官网:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D总结:1.Semaphone信号量限流 2.在spring cloud +RateLimite你可以发现没有一个框架是直接限流的,Sentinel哨兵框架很棒它包括限流,熔断,统计等等功能原理我看不下那个源码,个人能力有限,打扰了,网址:https://gi...

2019-03-14 12:01:42 18472 3

转载 spring4种注入方式

控制反转,依赖注入一开始我还以为依赖注入有点像父类和子类继承那种,先加载父类的,再加载子类下面总结一下依赖注入的方式1.set方法注入public void setAge(int age) { this.age = age; }2.构造方法注入private boolean flag; public static MyThread(bo...

2019-03-11 17:14:47 172

原创 cookie与session区别?如果客户端cookie被禁用了咋办?

session把sessionid储存到cookie中,客户端用过cookie拿到sessionid去取sessioncookie是不安全的,储存在客户端,如果没有设置过期时候,默认关闭的时候就会过期session储存在服务端,一般也会设置过期时间。如果客户端cookie被禁用了咋办?通过url夹带sessionid进行传递...

2019-03-11 13:41:49 584

转载 死锁以及如何解决死锁

转自https://www.cnblogs.com/aflyun/p/9194104.html,真的很详细。包括我之前总结的cpu100%如何解决也有。死锁4大要素:互斥,持有并请求,不可剥夺,持续等待那么如何避免死锁?破坏其中一个条件说是这么说,代码撸起来。写一个死锁:public class TheBackLock { public static String ob...

2019-03-10 21:42:02 4085

转载 为啥不能使用Exectors创建线程池?还有如何自定义线程名称

转自https://blog.csdn.net/ken1583096683/article/details/86537966总结得很到位:首先Excutors会很耗系统资源,线程最大值比较大,或者堆积的请求队列对系统的系统资源的消耗,容易出现OOM那么如何创建呢?使用ThreadPoolExecutor我直接介绍里面比较熟悉的写法:基于jdk1.8/*ExecutorServ...

2019-03-10 00:03:00 601

原创 Set源码分析(HashSet,TreeSet)

Set不允许重复的,HashSet无序,TreeSet有序的HashSet变量private transient HashMap<E,Object> map;本质就是使用hashmap进行实现的。add()添加public boolean add(E e) { return map.put(e, PRESENT)==null; }...

2019-03-09 18:03:39 123

原创 LinkedList源码分析

1.有双链表组成,哪两个?first,last。添加last链表void linkLast(E e) { final Node<E> l = last; final Node<E> newNode = new Node<>(l, e, null); last = newNode; if (...

2019-03-09 15:15:34 119

原创 java源码之路

个人总结,能力有限,仅供个人总结,他人参考1.String源码分析2.Integer源码分析3.BigDecimal使用4.ArrayList源码分析5.HashMap源码分析6.LinkedList源码分析7.Set源码分析(HashSet,TreeSet)...

2019-03-09 11:25:00 299

原创 HashMap源码分析

本质:数组+链表,key-value结构。存储的时候先计算key的hash值,然后查看是否hash冲突,如果hash冲突,判断是否key值相等,如果相等则代替原来的key的值,如果不同的话接在原来key值下面。初始16个扩容条件:发生hash冲突并且个数达到阈值时,以2倍速度增长。如何增长?复制到一个新的数组,计算原来的key的hash,可能是原来的位置或者2倍位置,然后扩大数量,将旧...

2019-03-09 11:21:17 82

原创 三七互娱笔试总结

1.按照分数分组SELECT sum(CASE when point>=0 and point<10 then 1 ELSE 0 end ),sum(CASE when point>=50 and point<60 then 1 ELSE 0 end ) from t1; 2.linux命令du查看某个文件和目录的使用情况df查看linux文件系统磁盘占用...

2019-03-07 22:57:15 5567

转载 java内存模型之年轻代总结(一)

https://blog.csdn.net/weixin_38336658/article/details/86719305这是jvm内存模型,有点简陋。最近面试,逐渐总结遗漏点转自https://blog.csdn.net/qq_35181209/article/details/78033329从这副图可以看出新生代由Eden还survivor命名也有点意思,Eden翻...

2019-03-07 11:37:59 527

原创 凡科面试

1.LongLong.valueOf如果在<128的时候从缓存里面获取返回,如果大于的话new一个,和Integer很像2.jvm参数-Xmx堆最大内存-Xms堆初始内存-Xmn年轻代大小-XX:SurvivorRatio=4设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与...

2019-03-07 00:55:30 2166

原创 cvte面试查漏补缺

1.tcp3次握手第一次客户端发送syn包,第二次服务端发送syn+ack包,第3次客户端接收syn+ack之后再发送ACK确认包2.jvm算法介绍1)复制算法,新生代采用的,复制一个一样的空间,然后把要清理的对象清理掉,这样很快捷,但是浪费了一半的内存2)标记清理算法 标记之后进行清理3)标记整理算法 标记之后清理,然后再对对象进行整理https://blog.csd...

2019-03-06 22:00:03 192

原创 mysql索引类型

索引类型1.普通索引 Index indexName ('')2.唯一索引 UNIQUE KEY indexName ('')3.组合索引失效:like %xx%4.全文索引,只有MyISAM引擎支持5.主键索引 PRIMARY KEY ('')聚集索引和非聚集索引区别:聚集索引:物理地址以及逻辑地址都是同一个。优势在于查询上,主键就是聚集索引,不适合经...

2019-03-04 21:23:35 438

转载 ArrayList源码分析

ArrayListextends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializablCloneable实现clone方法进行对象复制,这里ArrayList是浅复制,复制值而已RandomAccess,随机访问,其实里面啥都没有,但是...

2019-03-04 17:58:37 548 1

转载 BigDecimal使用

https://blog.csdn.net/jackiehff/article/details/8582449一般使用String的构造方法,不然得出的double精度是不能保证的double转换public static BigDecimal valueOf(double val) { // Reminder: a zero double returns '0.0'...

2019-03-03 23:41:15 142

转载 Integer源码分析

Integerpublic final class Integer不可被继承其次继承了Number,实现了ComparableNumber类包括将数转换成各种类型的方法,longValue等等参数private final int value;保持数值的构造方法public Integer(int value) { this.v...

2019-03-03 16:54:44 117

转载 String源码分析

String实现Serializable,Comparable,CharSequence接口Serializable是序列化实现接口Comparable:重写compareTo()函数进行排序CharSequence:只读的字符序列,包括很多函数,如charAt,length()变量有char[] value,hashvalue是将String拆成char数组hash...

2019-03-03 15:16:04 128

原创 重新equals有必要重写hashCode吗

答案是有的,为啥?因为equlas一样的时候,hashCode一定一样当hashCode一样的时候,equals不一定一样如果你不重写的话如何保证hashCode也一样?是吧下面举个栗子public class People { private int id; private String name; public int getId() {...

2019-03-01 02:22:28 124

原创 Objects工具类

Objects方法hashCode获得对象的HasCode,其中的参数可以有多个 @Override public int hashCode() { return Objects.hash(getId()); }toString()获得对象的toStringrequireNonNull当对象不是null的时候返回对象本身,如果是null的...

2019-03-01 02:15:56 248

spring boot和mybatis整合小项目

spring boot和mybatis整合小项目,仅供参考..............................................................................................

2018-01-08

基于dwr的java推送小项目

基于dwr的java推送小项目,做了部分修改,可以发送文字以及英文,网页直接访问jsp资源即可,打开多个网页查看推送的效果,部分摘自网络,仅供参考和学习

2017-10-07

基于dwr的java推送慕课小项目

基于dwr的java推送慕课小项目,修改部分代码,使得可以发送文字,英文字母,仅供参考,学习

2017-10-07

基于dwr的java推送消息慕课小项目

基于dwr的java推送消息慕课小项目,部分jar包,代码摘自网络,供参考,一起学习

2017-10-07

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

TA关注的人

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