博客园 - 卡卡西sir
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=175592
2019-03-07T02:21:55Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
feed.cnblogs.com
https://www.cnblogs.com/kakaxisir/p/10487901.html
gocache学习1 - 卡卡西sir
初衷:之前是java工程师,最近在转go,简单学习了go的相关语言知识,想通过看些简单的源代码来提升下。go-cache是一套go语言实现的单机本地缓存的package,可以方便的构建内存缓存,代码也比较简单。 基本的介绍:下面这些都有一些详细的使用示例,可以去参考使用:github代码地址:htt
2019-03-07T02:22:00Z
2019-03-07T02:22:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】初衷:之前是java工程师,最近在转go,简单学习了go的相关语言知识,想通过看些简单的源代码来提升下。go-cache是一套go语言实现的单机本地缓存的package,可以方便的构建内存缓存,代码也比较简单。 基本的介绍:下面这些都有一些详细的使用示例,可以去参考使用:github代码地址:htt <a href="https://www.cnblogs.com/kakaxisir/p/10487901.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/10469701.html
【读书笔记】为什么精英都是时间控 - 卡卡西sir
![](https://img2018.cnblogs.com/blog/682666/201903/682666-20190304113019050-1860910752.png)
2019-03-04T03:31:00Z
2019-03-04T03:31:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】![](https://img2018.cnblogs.com/blog/682666/201903/682666-20190304113019050-1860910752.png) <a href="https://www.cnblogs.com/kakaxisir/p/10469701.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/10100359.html
ibatis实现动态sql处理 - 卡卡西sir
package base; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.util
2018-12-11T01:09:00Z
2018-12-11T01:09:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】package base; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.util <a href="https://www.cnblogs.com/kakaxisir/p/10100359.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/8250698.html
Docker常见命令 - 卡卡西sir
容器相关操作 + docker create 创建一个容器但是不启动它 + docker run 创建并启动一个容器 + docker stop 停止容器运行,发送信号SIGTERM + docker start 启动一个停止状态的容器 + docker restart 重启一个容器 + docke
2018-01-09T03:51:00Z
2018-01-09T03:51:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】容器相关操作 + docker create 创建一个容器但是不启动它 + docker run 创建并启动一个容器 + docker stop 停止容器运行,发送信号SIGTERM + docker start 启动一个停止状态的容器 + docker restart 重启一个容器 + docke <a href="https://www.cnblogs.com/kakaxisir/p/8250698.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/8149723.html
window docker TensorFlow环境搭建 - 卡卡西sir
安装docker 之前只写过docker file,没怎么接触过docker的环境安装,这次也算尝试一下吧,首先下载DockerToolbox.exe 安装完成以后,启动脚本start.sh ,会默认去检查版本,如果是同时安装了virtualBox,建议重新启动一下,这块卡了很久,一直报启动vbox
2017-12-30T05:42:00Z
2017-12-30T05:42:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】安装docker 之前只写过docker file,没怎么接触过docker的环境安装,这次也算尝试一下吧,首先下载DockerToolbox.exe 安装完成以后,启动脚本start.sh ,会默认去检查版本,如果是同时安装了virtualBox,建议重新启动一下,这块卡了很久,一直报启动vbox <a href="https://www.cnblogs.com/kakaxisir/p/8149723.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/7426332.html
缓存优化过程中的一些思考 - 卡卡西sir
最近一段时间在做双十一的优化,对于缓存的使用和改造渐渐有了一些思考,记录一下 缓存的使用、选择 读简单,写复杂的业务最好放在写入端 读复杂,写简单的业务逻辑放在读取端 根据业务的类型,选择是使用集中式缓存还是分布式的 key value的规则 基础的cache需要关注的事:替换策略等等。。。 缓存导
2017-08-25T00:39:00Z
2017-08-25T00:39:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】最近一段时间在做双十一的优化,对于缓存的使用和改造渐渐有了一些思考,记录一下 缓存的使用、选择 读简单,写复杂的业务最好放在写入端 读复杂,写简单的业务逻辑放在读取端 根据业务的类型,选择是使用集中式缓存还是分布式的 key value的规则 基础的cache需要关注的事:替换策略等等。。。 缓存导 <a href="https://www.cnblogs.com/kakaxisir/p/7426332.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/7409871.html
Guava Cache源码解析 - 卡卡西sir
[TOC] 概述: 本次主要是分析cache的源码,基本概念官方简介即可。 基本类图: 在官方的文档说明中,Guava Cache实现了三种加载缓存的方式: LoadingCache在构建缓存的时候,使用build方法内部调用CacheLoader方法加载数据 在使用get方法的时候,如果缓存不存在
2017-08-22T01:07:00Z
2017-08-22T01:07:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】[TOC] 概述: 本次主要是分析cache的源码,基本概念官方简介即可。 基本类图: 在官方的文档说明中,Guava Cache实现了三种加载缓存的方式: LoadingCache在构建缓存的时候,使用build方法内部调用CacheLoader方法加载数据 在使用get方法的时候,如果缓存不存在 <a href="https://www.cnblogs.com/kakaxisir/p/7409871.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/7259241.html
Guava学习记录 - 卡卡西sir
![](http://images2017.cnblogs.com/blog/682666/201707/682666-20170730151455224-1508921139.png)
2017-07-30T07:15:00Z
2017-07-30T07:15:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】![](http://images2017.cnblogs.com/blog/682666/201707/682666-20170730151455224-1508921139.png) <a href="https://www.cnblogs.com/kakaxisir/p/7259241.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/7248421.html
Guava Maps 用法示例 - 卡卡西sir
Guava Maps 用法 不定期更新 1. 初始化 @Test public void test_init(){ Map map = Maps.newHashMap(); } 2. 将List转为Map,这个特性主要针对的场景是有一组对象,它们在某个属性上分别有独一无二的值,而我们希望能够按照这个
2017-07-28T01:20:00Z
2017-07-28T01:20:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】Guava Maps 用法 不定期更新 1. 初始化 @Test public void test_init(){ Map map = Maps.newHashMap(); } 2. 将List转为Map,这个特性主要针对的场景是有一组对象,它们在某个属性上分别有独一无二的值,而我们希望能够按照这个 <a href="https://www.cnblogs.com/kakaxisir/p/7248421.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6949621.html
zk选举流程分析 - 卡卡西sir
zk集群运行过程中,服务器选举的源码剖析 在zk服务器集群启动过程中,经QuorumPeerMain中,不光会创建ZooKeeperServer对象,同时会生成QuorumPeer对象,代表了ZooKeeper集群中的一台机器。在整个机器运行期间,负责维护该机器的运行状态,同时会根据情况发起Lead
2017-06-06T00:50:00Z
2017-06-06T00:50:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】zk集群运行过程中,服务器选举的源码剖析 在zk服务器集群启动过程中,经QuorumPeerMain中,不光会创建ZooKeeperServer对象,同时会生成QuorumPeer对象,代表了ZooKeeper集群中的一台机器。在整个机器运行期间,负责维护该机器的运行状态,同时会根据情况发起Lead <a href="https://www.cnblogs.com/kakaxisir/p/6949621.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6805150.html
zookeeper客户端Watcher管理 - 卡卡西sir
zookeeper客户端Watcher管理 在zookeeper的设计中,有分布式通知的功能点,方式则是通过Watcher机制。基本的模式和回调一致,但是其中有些设计巧妙的地方。回调的方式,大部分流程都是如下: + 客户端向服务端注册一个Watcher监听 + 当服务端的一些执行事件发生后,触发这个
2017-05-04T00:38:00Z
2017-05-04T00:38:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】zookeeper客户端Watcher管理 在zookeeper的设计中,有分布式通知的功能点,方式则是通过Watcher机制。基本的模式和回调一致,但是其中有些设计巧妙的地方。回调的方式,大部分流程都是如下: + 客户端向服务端注册一个Watcher监听 + 当服务端的一些执行事件发生后,触发这个 <a href="https://www.cnblogs.com/kakaxisir/p/6805150.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6701408.html
设置ZooKeeper服务器地址列表源码解析及扩展 - 卡卡西sir
设置ZooKeeper服务器地址列表源码解析及扩展 ZooKeeper zooKeeper = new ZooKeeper("192.168.109.130:2181",SESSION_TIMEOUT,new ZooKeeperFirstBlood()); 在创建zk连接的时候,必须要获取到zk服务
2017-04-12T13:15:00Z
2017-04-12T13:15:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】设置ZooKeeper服务器地址列表源码解析及扩展 ZooKeeper zooKeeper = new ZooKeeper("192.168.109.130:2181",SESSION_TIMEOUT,new ZooKeeperFirstBlood()); 在创建zk连接的时候,必须要获取到zk服务 <a href="https://www.cnblogs.com/kakaxisir/p/6701408.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6667279.html
利用zookeeper实现发布订阅模式 - 卡卡西sir
zookeeper应用 发布订阅 zk实现的方式是推拉结合,Client想服务端注册自己需要关注的节点,一旦节点的数据发生变更,那么Server会向对应的客户端发送Watcher事件通知,客户端接收到这个消息后,需要主动到服务端获取最新的数据。 目前很多应用使用发布订阅都不是用zk的这种方式,比较典
2017-04-05T01:12:00Z
2017-04-05T01:12:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】zookeeper应用 发布订阅 zk实现的方式是推拉结合,Client想服务端注册自己需要关注的节点,一旦节点的数据发生变更,那么Server会向对应的客户端发送Watcher事件通知,客户端接收到这个消息后,需要主动到服务端获取最新的数据。 目前很多应用使用发布订阅都不是用zk的这种方式,比较典 <a href="https://www.cnblogs.com/kakaxisir/p/6667279.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6527487.html
maven依赖错误排查经验 - 卡卡西sir
maven错误排查经验 maven依赖的仲裁原则 + 有parent的情况先合并parent中的dependencies和dependencyManagement,到当前pom的dependencies和dependencyManagement,依照上层覆盖下层原则 + 不同路径深度,短路径优先;
2017-03-09T11:59:00Z
2017-03-09T11:59:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】maven错误排查经验 maven依赖的仲裁原则 + 有parent的情况先合并parent中的dependencies和dependencyManagement,到当前pom的dependencies和dependencyManagement,依照上层覆盖下层原则 + 不同路径深度,短路径优先; <a href="https://www.cnblogs.com/kakaxisir/p/6527487.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/6209266.html
理解CMS GC日志 - 卡卡西sir
本文翻译自: https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs 准备工作 JVM的GC日志的主要参数包括如下几个: XX:+PrintGC 输出GC日志 XX:+PrintGCDetails 输出GC的详细日志 XX:+P
2016-12-21T14:01:00Z
2016-12-21T14:01:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】本文翻译自: https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs 准备工作 JVM的GC日志的主要参数包括如下几个: XX:+PrintGC 输出GC日志 XX:+PrintGCDetails 输出GC的详细日志 XX:+P <a href="https://www.cnblogs.com/kakaxisir/p/6209266.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/5989941.html
深入分析ThreadLocal - 卡卡西sir
转载请注明出处,团队缺人,有意者私信哈 ThreadLocal 源码解读 基本概念 当访问共享的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭Thread Confinement。当某个对象封闭在一个线程中时,这种用
2016-10-23T06:09:00Z
2016-10-23T06:09:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】转载请注明出处,团队缺人,有意者私信哈 ThreadLocal 源码解读 基本概念 当访问共享的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭Thread Confinement。当某个对象封闭在一个线程中时,这种用 <a href="https://www.cnblogs.com/kakaxisir/p/5989941.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/5967727.html
Fail-Fast分析 - 卡卡西sir
起因 在分析并发问题的时候,想写一个错误的示例,就在for遍历的时候,调用list.remove(),此时应该抛出ConcurrentModificationException异常,但是奇怪的是它并没有抛出,我表示惊呆了。。。当时的代码如下: @Test public void test_for_r
2016-10-16T13:07:00Z
2016-10-16T13:07:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】起因 在分析并发问题的时候,想写一个错误的示例,就在for遍历的时候,调用list.remove(),此时应该抛出ConcurrentModificationException异常,但是奇怪的是它并没有抛出,我表示惊呆了。。。当时的代码如下: @Test public void test_for_r <a href="https://www.cnblogs.com/kakaxisir/p/5967727.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/5755507.html
Stream学习过程中遇到的一个问题记录 - 卡卡西sir
Stream学习过程中遇到的一个问题记录 @Test public void stream_modifiedV2(){ List strings = Arrays.asList("aaa","bb","cc","dddddddddddddddddddddddddddddddd"); Stream s
2016-08-10T01:45:00Z
2016-08-10T01:45:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】Stream学习过程中遇到的一个问题记录 @Test public void stream_modifiedV2(){ List strings = Arrays.asList("aaa","bb","cc","dddddddddddddddddddddddddddddddd"); Stream s <a href="https://www.cnblogs.com/kakaxisir/p/5755507.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/5723260.html
ClassLoader 学习笔记 - 卡卡西sir
概述 在经过编译后.java文件会生成对应的.class文件,但需要执行的时候,虚拟机首先会从class文件中读取必要的信息,而这个过程则成为类加载。 类加载时类的生命周期的一部分,也是它的初始步骤。 对应于C语言等,这个过程其实就是装载的过程,但稍有不同的是,C语言装载的是经过编译连接后的文件,而
2016-07-31T08:16:00Z
2016-07-31T08:16:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】概述 在经过编译后.java文件会生成对应的.class文件,但需要执行的时候,虚拟机首先会从class文件中读取必要的信息,而这个过程则成为类加载。 类加载时类的生命周期的一部分,也是它的初始步骤。 对应于C语言等,这个过程其实就是装载的过程,但稍有不同的是,C语言装载的是经过编译连接后的文件,而 <a href="https://www.cnblogs.com/kakaxisir/p/5723260.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/kakaxisir/p/4987532.html
Kali下安装Wiznote - 卡卡西sir
折腾了好长时间,记录一下:因为是使用了Kali2.0的原因,网上很少由教程说具体怎么安装。1.尝试了下载QT,对源码进行编译,结果报错一直找不到原因,如下图所示:/root/桌面/WizQTClient-master/lib/cryptopp/cryptlib.cpp: In member func...
2015-11-23T01:57:00Z
2015-11-23T01:57:00Z
卡卡西sir
https://www.cnblogs.com/kakaxisir/
【摘要】折腾了好长时间,记录一下:因为是使用了Kali2.0的原因,网上很少由教程说具体怎么安装。1.尝试了下载QT,对源码进行编译,结果报错一直找不到原因,如下图所示:/root/桌面/WizQTClient-master/lib/cryptopp/cryptlib.cpp: In member func... <a href="https://www.cnblogs.com/kakaxisir/p/4987532.html" target="_blank">阅读全文</a>