前言 业务开发中经常使用 ThreadLocal 来存储用户信息等线程私有对象... ThreadLocal 内部构造是什么样子的?为什么可以线程私有?常说的内存泄露又是怎么回事? 公众号:liuzhihangs ,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻感悟.欢迎大佬来指导! 介绍 ThreadLocal 类提供了线程局部变量.和正常对象不同的是,每个线程都可以访问 get().set() 方法,获取独属于自己的副本. ThreadLocal 实例通常是类中的私有静态字…
adb 是 Android Debug Bridge ,Android 调试桥的意思 ddms 是 Dalvik Debug Monitor Service,dalvik 调试监视服务. aapt 即 Android Asset Packaging Tool,在 SDK 的 build-tools 目录下.该工具可以查看,创建, 更新 ZIP 格式的文档附件(zip, jar, apk).也可将资源文件编译成二进制文件,尽管我们没有直接使用过该工具,但是开发工具会使用这个工具打包 apk 文件构…
问题:请讲下对mysql的理解 分析:该问题主要考察对mysql的理解,基本概念及sql的执行流程 回答要点: 主要从以下几点去考虑, 1.mysql的整体架构? 2.mysql中每一个组件的作用? 3.对mysql的自己的见解? 从网上拷贝一张图,来说明mysql的整体架构 个人认为这张图画的很好, 连接器 一条sql经过网络传输到达mysql服务器,第一个要经过的就是连接器,负责连接的建立及权限的判定,例如经常看到的下面的错误, ERROR 1045 (28000): Access deni…
为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大. 2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的. 3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用. 下面就介绍下Android NDK的入门学习过程: 入门的最好办法就是学习Android自带的例子, 这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的. 一…
Yonghong Z-Suite 除了提供优秀的前端BI工具之外,Yonghong Z-Suite让用户可以选购分布式数据集市来支持实时大数据分析. 对于这种百亿级的大数据案例,Yonghong Z-Suite有哪些技术可以保证大数据的实时响应呢?下面大致从技术上介绍下: 库内计算(In-Database Computing) Z-Suite支持各种常见的汇总,还支持几乎全部的专业统计函数.得益于库内计算技术,Z-Suite数据分析引擎将找寻出最优化的计算方案,继而把所有开销较大的.昂贵的计算都…
如何使用开源库,吐在VS2013发布之前,顺便介绍下VS2013的新特性"Bootstrap" 刚看到Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看 看了下VS2013带来的"新特性",直觉上看,除了引入"Bootstrap"库以外,最大的变化就是.net Framework 4.5以下的都不支持了.也就是说,如果不把.net库升级成.net Framework4.5, 那…
本节我也介绍下sizeof与strlen的区别,很简单,就几条: 1. sizeof是C++中的一个关键字,而strlen是C语言中的一个函数:2. sizeof求的是系统分配的内存总量,而strlen通常遇到'\0'时即结束求值计算3. sizeof可以用在任何类.结构体.对象.变量.类型等身上,strlen通常用于求字符串长度;4. sizeof在计算一个类类型或类对象的的大小时,需要考虑其数据成员的内存布局(编译器可能会保持内存对齐):5. sizeof是在编译期计算的,而strlen是在…
7,请描述下cookies,sessionStorage和localStorage的区别 首先,cookie是网站为了标识用户身份而储存在用户本地终端(client side,百科: 本地终端指与计算机地理位置相距较近,不需要经过调制解调器而与主计算机直接相连的一种终端: 调制解调器:~是调制器和解调器的缩写,一种计算机硬件,可以把计算机的数字信号翻译成可以沿着普通电话线传送的模拟信号,这些模拟信号又可以被线路另一端的另一个调制解调器接收并翻译成计算机可懂的语言.这一简单的过程完成了两台计算机之…
介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果.假设定义了一个变量为:代码如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#*.}:删掉第一个 . 及其左边的字符串:file.txt${file##*.}:删…
介绍下Java内存区域(运行时数据区) Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域.JDK 1.8 和之前的版本略有不同. 下图是 JDK 1.8 对JVM做的改动,把方法区的具体实现----元空间已到了本地内存中. 各线程共享的:堆.方法区(元空间).直接内存: 各线程私有的:程序计数器.虚拟机栈.本地方法栈: 1️⃣ 程序计数器 它是个什么? 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器.字节码解释器工作时通过改变…