- 博客(21)
- 收藏
- 关注
原创 关于redis探究2-----分布式部署,io通信模型,分布式锁等内容的学习与研究
前言在之前我有写过关于redis相关数据结构的学习文章,本文接着上文的步骤,来研究一些redis一些其他特性方面的内容,从而更加全面的掌握与了解redis的使用。本文大概会根据个人使用的心得去总结和探讨关于redis的io通信模型,redis相关持久化以及redis在分布式部署情况下的一些注意事项和相关方法与原理。最后再来学习一下redis作为分布式锁等使用场景。文章内容可能稍显杂乱。关于r...
2021-06-03 11:59:34 163
转载 mybatis批量插入语句
@Insert("<script>" + "INSERT INTO cms_portal_menu(name,service_type,index_code) VALUES" + "<foreach collection=\"list\" item=\"item1\" index=\"index\" separator=\",\...
2019-03-21 20:12:34 429
原创 mac安装pyhton3
1,如果电脑上不存在brew命令使用ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"进行安装2.执行brew install python3等待安装完成即可...
2019-03-14 11:33:31 159
原创 对于大文件或者海量数据的处理研究
对于大文件或者海量数据的处理研究处理海量数据和大文件是面试中经常被问到的题目之一,在日常开发中也具有广泛的使用方面因此原因特来研究和总结一下常用的此类问题的描述情形和处理方式,既是为了功利的应付面试也是为了为日后工作遇到该类问题提供思路和解决灵感。本文将参考网上和面试常见的题目给出个人的处理方法。1.海量数据日志,提取出某日访问百度次数最多的ip对于海量数据一般的解决思路是将数据进行分割,将...
2019-01-18 00:07:46 515
原创 关于redis的数据结构总结与深入理解
redis的总结与深入理解什么是redisredis是一款开源的基于内存的数据结构存储系统,在日常开发中他可以具有多种多样的用途,redis经常在开发中作为缓存进行使用,以此来减轻对数据库的压力,另外他也可以作为数据库和消息中间件进行相关的使用。通常数据在redis中以key,value的形式进行存储,类似于java中的hashMap.关于redis的key通常情况下redis的值是二进制...
2019-01-17 00:38:35 227
原创 接口限流二三事
接口限流二三事关于限流的基本概念常见的限流算法漏桶算法令牌桶算法限流工具类Ratelimiter使用信号量进行限流新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UM...
2019-01-09 13:17:14 263
原创 jemeter组成原件和原理
jemeter组成原件和其他的压测工具相同一般由四个方面组成:①负载发生器:用于产生负载,通常以多线程或者多进程的方式模拟用户行为②用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或者进程上,根据脚本需求模拟用户行为。③资源生成器:用于生成测试过程中的服务器,负载机的资源数据④报表生成器:根据测试获得的数据生成报表,提供可视化的数据显示方式。线程组:三个不同的线程组...
2018-09-02 14:01:11 283
转载 关于建立mavenweb项目jdk不匹配以及servlet不匹配的方法
因为写项目用maven管理项目,但是项目建立后总是显示低版本,自己有很懒不愿意从源头去改每次使用下面的方法,为了以后查阅方便特此记录解决这个问题的步骤如下:1. 把Servlet改成3.0,打开项目的web.xmlxml version="1.0" encoding="UTF-8"?>web-app xmlns:xsi="http://www.w3.org/
2018-02-06 18:27:39 251
原创 hashmap源码分析2
首先来看构造方法,这里注释里面有一个专门的分界线,叫做public operations先来看hasMap的基本构造方法 public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity throw new IllegalArgumentExcepti
2018-01-28 17:28:10 136
原创 hashmap源码分析1
之前看过hashmap源码,感觉最近有些遗忘,写一波复习一遍,首先查看hashmap的继承体系,可以发现hashMap实现了map,cloneble,serializable接口这些接口应该都很熟悉了吧,其次hashmap继承自abstractmap查看这个父类,发现他是一个抽象类,因此其中有些方法是可以复写的,具体方法查看源码可以发现包括entrySet其他方法可以看做map这种数据结构都通用的
2018-01-18 22:24:05 187
原创 深入理解java虚拟机之第三章总结(1)
第三章关于虚拟机内部的垃圾收集,在java虚拟机中对象的收集一般基于以下几种算法①引用计数算法最基础的一种对象收集算法,这种算法为对象添加一个引用计数器,每当有地方引用,计数器加一,引用失效计数器减去一,当计数器为0时对象不可用,但是他无法解决对象之间的循环引用,即两个类之间相互引用对方,这会导致虚拟机无法回收这类对象。②可达性分析算法在主流的程序语言一般使用可达性收集算法,通过可
2017-10-23 22:02:53 192
原创 java并发实战第七章
最近忙着看文档所以一直没有怎么写,今天抽空继续看并发实战的第七章第七章主要讲解了关于线程任务的取消与关闭,众所周知启动一个任务和线程很容易但是想要提前结束一个任务并不是那么容易,java没有提供安全终止任务的机制,但是却提供了一种中断协作机制,能够使一个线程终止当前另一个线程的工作。1.任务取消如果外部代码能在某个操作正常完成之前将其植入完成状态,那么这个操作就是可以取消的,通常来说取
2017-10-06 13:44:50 293
原创 虚拟机的OutOfMemoryError异常
java虚拟机中除了程序计数器外其余几块内存区域都会抛出OutOfMemoryError异常的可能java堆溢出java堆用来存储被分配的对象,如果保证对象在不断的创建来消耗内存,并保证虚拟机的垃圾回收机制不可用,那么就会发生堆溢出异常要解决这类异常,首先通过内存分析工具分析内存快照,判断发生的究竟是堆溢出还是堆内存泄漏,进而通过分析工具寻找GC链从而找出究竟是哪部分对象无法被gc回收,如
2017-09-28 22:14:00 1110
原创 java并发实战第六章
最近在看深入理解java虚拟机与java并发实战两本书感觉作者写的还是很好的,奈何水平有限,所以打算继续研究并做好笔记进行总结第六章围绕任务执行来讲述的,通常应用程序把工作分解到多个任务中,这样可以简化程序的组织结构,并提高程序的并发性,围绕任务执行应该先找到清晰地任务边界,理想情况下,各任务之间应该不相互依赖,正常负载下,应用程序应该具有良好的响应性和吞吐量。因此在构造任务策略的时候应尽可能
2017-09-25 21:44:49 217
原创 hotspot虚拟机中java对象的分配与布局和访问
本文是对虚拟机学习的个人总结,参考了深入理解java虚拟机一书,如果有不正确的地方欢迎指正1.对象的在虚拟机中的分配①虚拟中对象的创建,当虚拟机收到一条new指令的时候,会在常量池中找到这个类的引用,并且会检查这个类是否被加载,解析和初始化过,如果没有那会先执行相应的过程。②当类的加载检查通过后,虚拟机接下来会为对象类分配内存,其中类需要的内存大小会在类加载完成后确定,其中对于内存的分
2017-09-20 22:10:26 231
原创 java并发实战读书笔记
第三章关于对象共享java并发实战第三章主要讲述关于对象共享的问题如下:一.失效数据:失效数据可能不会同时出现:一个线程可能获取一个新值另一个线程可能获得一个已经失效的值。失效数据可能导致活跃性问题和安全性问题为了解决失效数据我们可以对变量的get和set方法进行同步。二.最低安全性:线程没有同步的情况下读取变量,可能得到一个失效值,但是这个值可以使有之前某个线程设置的
2017-08-09 22:48:10 306
原创 关于使用hibernate中遇到的问题
最近学习hibernate中遇到了不少问题,就一下:1.配置环境完成进行单元测试是报错InitializationError,解决方式:未导入Junit核心依赖包,需要导入相关的依赖包2.hibernate存入blob类型数据报错V is abstract:解决方式:数据库驱动版本过低,需要更换新的数据库驱动3.读取blob字段只有0kb;解决方式:设置数据编码方式,编码方
2017-07-27 11:15:52 320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人