Wesley13 Wesley13
4年前
volatile 关键字的使用场景及其原理
一、 Java线程的内存工作模型在当前的Java内存模型下(JVM1.2之后),线程(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fbaike.baidu.com%2Fitem%2F%25E7%25BA%25BF%25E7%25A8%258B)可以把变量保存在本地内存(
御弟哥哥 御弟哥哥
4年前
完美解决Android RyclerView嵌套滑动事件冲突
在Android项目开发中,为了实现需求和兼并用户体验,相信很多人都碰到滑动事件冲突的问题。在Android系统中事件分发机制是一个很重要的组成部分,由于这事件分发机制不是本文重点,故不在此多述,如果有想详细了解的可以自己搜下,网上有很多相关资料详细描述了Android事件分发机制。一、问题场景由于RecyclerView自身的优点,使得它已经基本
Stella981 Stella981
4年前
JVM(6):JVM 调优
JVM(6):JVM调优从Eclipse开始来源:纯洁的微笑,www.cnblogs.com/ityouknow/p/5647513.html概述什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来
Stella981 Stella981
4年前
HikariCP
数据库连接池技术数据库连接池负责分配、管理和释放数据库的连接。1.数据库连接复用。重复使用现有的数据库连接,可以避免连接频繁建立、关闭的开销。2.统一的连接管理。释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起的数据库连接泄漏。HikariCP字节码精简:优化代码,直到编译后的字节码最少
Stella981 Stella981
4年前
Android4.4的init进程
Android4.4的init进程侯亮1背景前些日子需要在科室内做关于Android系统启动流程的培训。为此,我在几年前的技术手记的基础上,重新改了一份培训文档。在重新整理文档期间,我也重读了一下Android4.4的相关代码,发现还有一些东西是我以前一直没重视过的,所以打算写下来总结一二。我以前之所以没有把
Stella981 Stella981
4年前
ButterKnife使用
1、BuildScripts,添加红色部分buildscript{repositories{jcenter()google()}dependencies{classpath'com.android.tools
Wesley13 Wesley13
4年前
Android应用程序架构
src/ java原代码存放目录gen/自动生成目录gen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R
记一次老商家端应用内存突然飚高原因分析 | 京东物流技术团队
一、排查过程问题发现是因为当时接到了内存UMP报警信息,如下:通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势:当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。随即查看故障分析,并没
记一次老商家端应用内存突然飚高原因分析
作者:京东物流刘邓忠一、排查过程问题发现是因为当时接到了内存UMP报警信息,如下:通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势:当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。随
京东云开发者 京东云开发者
11个月前
spark为什么比mapreduce快?
作者:京东零售吴化斌spark为什么比mapreduce快?首先澄清几个误区:1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的2;DAG计算模型减少的是磁盘I/O次数(相比于mapredu