摘要:
在 sudo -u tomcat 状态下执行1. jstackjstack pid >> file : 打印当前 thread stack 状态CPU 高分析流程使用jstack分析步骤1) top 查看java进程2) top -p -H 查看消耗cpu的线程3) 转为 十六进制4) sudo... 阅读全文
摘要:
1. 取消 merge1) 先用 git reflog 查看操作日志2) 使用 git reset --hard HEAD@{x} 强制回到你需要的分值2. 创建新分支git checkout -b newBranch3. 提交到远程分支git push origin newBranch4. 将本地... 阅读全文
摘要:
1. 对于重复类的问题依然不太明确 记得当时上课的时候说过一些,但是不太记得了,是否是这样?如下:当我们有两个不同的jar包 test-1.0.jar test-2.0.jar, 而这两个jar包定义了相同的全限定类,并且两个jar同时存在与classpath时,jvm在使用哪个jar包的同名类上是不确定的,可能因不同的JVM而异,例如会使用先加载的那个jar包 而这样造成的问题就是不确定性,有可能test-1.0里的类与test-2.0里的同名类存在不兼容的问题,例如类内的方法可能实现已经不一样了 而我们在实现项目的时候实际上也有重复类的现象,例如qsso和jcl-over-slf4... 阅读全文
摘要:
1. 创建项目1) 创建父目录mvn archetype:generate -DgroupId=com.qunar.training -DartifactId=training -Dversion=1.0.0 -DinteractiveMode=false -DarchetypeGroupId=or... 阅读全文
摘要:
1. Spring MVC 双请求问题viewresolver一定要放在servlet-dispatcher.xml里,否则会导致在请求成功后以后渲染页面,然后又发一次请求的状况,最后导致页面无法显示.例如以下Controller方法@RequestMapping("loginPage")public String loginPage() { return "loginView"; }会造成如下log输出00:31:30.836 [http-bio-8080-exec-8] DEBUG o.s.web.servlet.DispatcherServlet 阅读全文
摘要:
系统参数系列show table status where name = "film": 显示某个表的属性show status : 显示mysql状态show processlist : 显示mysql连接状态show index from user : 显示user表索引show profiles : 显示查询执行时间状况,使用前先设置参数 set profiling=1;show profile for query 1: 查看第一条sql的具体执行情况PAGER cat > /dev/null : 将输出转到垃圾黑洞TRUNCATE TABLE: 清空table 阅读全文
摘要:
配置篇修改.vimrc文件set number "显示行号filetype on "显示文件类型set fileformat=unix "将文件格式设为unixset ts=4 "将tab长度设为4set expandtab "将tab设为使用空格set autoindent "使用自动缩进set ... 阅读全文
摘要:
ls: 查看文件夹下文件和文件夹列表 ls -lah -l: 列表形式显示 -a: 查看所有目录,包括隐藏目录 -h: 以易读的方式显示文件大小 -s: 显示文件占用的data block空间大小 -S: 按文件大小降序排列 -t: 按文件m/a/ctime降序排列 -r: 逆序排列 -R: 递归遍 阅读全文
摘要:
先看一个例子.有一个简单 Serverpublic class SimpleServer { public static void main(String[] args) throws Exception { EventLoopGroup bossGroup = new NioE... 阅读全文
摘要:
Trie (字典树)"A", "to", "tea", "ted", "ten", "i", "in", "inn" 这些单词组成的字典树.Radix Tree (基数树)基数树与字典树的区别在于基数树将单词压缩了, 节点变得更少Suffix Tree (后缀树)单词 "BANANA" 的后缀树. ... 阅读全文
摘要:
参照 :http://billmill.org/bloomfilter-tutorial/简介布隆过滤器是一个用来判断某元素是否在全集中的工具.实际上它是一个有 m 个槽的位图, 他拥有 k 个 hash 函数, 每个元素进来的时候会通过 k 个 hash 函数映射到任意 k 个槽中, 并将槽置为 ... 阅读全文
摘要:
http 缓存分为客户端缓存和服务端缓存1. 客户端缓存客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加快请求速度2. 服务器缓存服务器缓存指的是反向代理服务器或 cdn 缓存, 他的作用是用于减轻实际的 w... 阅读全文
摘要:
edit file "/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources"add Custom ShortCut Duplicate Line selectLine:,... 阅读全文
摘要:
1. 为什么需要 CopyOnWriteArrayListArrayList 的内部实现是一个数组, 并且是动态扩容的, 当插入数据时, 先判断数组是否需要扩容, 如果需要扩容, 则先扩容, 再插入数据, 也就说插入由三步组成1) 检查是否需要扩容2) 扩容/不扩容3) 数据加入到数组代码如下 ... 阅读全文
摘要:
找到jre/lib/security/java.security将jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048改为jdk.certpath.disabledAlgorithms= 阅读全文
摘要:
Netty 4 的 Channel 多了一个 autoread 参数, 它的用处是在让 channel 在触发某些事件以后(例如 channelActive, channelReadComplete)以后还会自动调用一次 read(), 代码:DefaultChannelPipeline.java ... 阅读全文
摘要:
TDDL DataSource 分为 AtomDataSource GroupDatasource他们两者没有依赖关系, 都实现了 JDBC 规范, 可以作为独立的 datasource 单独使用AtomDataSourceAtomDataSource 负责 diamond 动态配置, 它可以通过 ... 阅读全文