Welcome 微信登录

首页 / 操作系统 / Linux

JAX London:使用Java飞行记录器实现生产环境的性能分析

JAX London:使用Java飞行记录器实现生产环境的性能分析

在今年的JAX London上,来自甲骨文Java平台组的Ola Westin介绍了Java任务控制(Java Mission Control,JMC)和Java飞行记录器(Java Flight Recorder,JFR)的功能。Westin首先在整体上介绍了JMC和JFR,然后为观众展示了如何创建和分析记录(recording)并为观众提供了一个样例。在本文中,InfoQ将会带领读者回顾Westin的演讲。Java任务控制概览Java任务控制是一个图形...
Java守护线程的理解笔记

Java守护线程的理解笔记

为了体会守护线程的作用,我做了一个下载文件的demo,可以没事用来测测网速什么的,其特性如下1、一共有三个线程,分别是主线程,下载线程,守护线程2、主线程启动下载线程和守护线程3、下载线程连续下载100个文件,如果出现异常自动捕获并进入下一个文件的下载4、如果下载线程下载某个文件超过了30秒,就认为是超时,而这个超时的检测由守护线程执行5、如果守护线程发现某个文件下载超时,就停掉下载线程,并想办法另起一个新的下载线程继续下载首先我们不使用Java设置的守护...
Android图片框架Picasso LRU缓存详解

Android图片框架Picasso LRU缓存详解

Picasso这个图片框架默认实现了内存中的LRU缓存,但是没有默认实现磁盘缓存(关于磁盘缓存的配置可以看我之前写的一篇博客),我在使用Picasso替换原来的xUtils框架的时候发现内存开销要比之前高好多,于是着手分析Picasso的LRU缓存策略,代码比较好读,下面简单的分析一下。Picasso加载一个图片的流程一般是这样的:url->检查LRU缓存中有没有对应的bitmap->调用HTTP框架准备下载该图片资源->http框架检查...
Android Picasso加载webp格式图片节省流量

Android Picasso加载webp格式图片节省流量

最近产品经理一直抱怨图片加载慢,为此客户端开发这边也做了许多努力,比如重定向到CDN,使用webp减小图片大小,使用降低图片压缩质量,更换图片加载框架等等动作。现在讲一下webp格式图片这个方案。WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。但WebP是一种有损压缩。相较编码JPEG...
Facebook Android SDK 4.14使用详解

Facebook Android SDK 4.14使用详解

作为一名东南亚APP开发者,Facebook登录和分享是绕不过去的一个功能,最近将APP里的Facebook登录和分享SDK升级到2016年8月的版本,代码改动挺大,现在把具体的代码贴出来供后来者升级SDK方便首先看一下实现效果: Facebook SDK 的部署方法:首先,你需要去注册一个开发账号,然后用app的包名和SHA1获得一个app_id好了现在可以开始正式部署了,首先引用官网的初始化方案:(以下内容来自https://developers.f...
算法学习之快速排序原理及实现

算法学习之快速排序原理及实现

快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这...
哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算

哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算

哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题中一个考哈希表的题。Question1:将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的...
多级反馈队列调度算法

多级反馈队列调度算法

多级反馈队列调度算法是一种CPU处理机调度算法,UNIX操作系统采取的便是这种调度算法。 多级反馈队列调度算法即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。(对比一下FCFS与高优先响应比调度算法的缺陷)。 多级(假设为N级)反馈队列调度算法可以如下原理: 1、设有N个队列(Q1,Q2….QN),其中各个队列对于处理机的优先级是不一样的,也就是说位于各个队列中的作业(进程)的优先级也是不一样的。一般来说,优先级Priorit...
在C语言中*p++与(*p)++的区别

在C语言中*p++与(*p)++的区别

在C语言中*p++与(*p)++的区别首先*p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在第二级别的优先级运算符是结合方向是从右到左,所以当出现*p++这样的表达式的时候,根据优先级别相同,并且结合方向是从右到左,所以就等价于*(p++)了。那么也就是,先将p指针移动到下个p指针所指向元素的地址的下一个地址,然后再对那个地址取值。(*p)++是取p所指向地址的值,然后再将...
Java中的单例模式详解

Java中的单例模式详解

概念:Java中的单例模式是一种常见的设计模式,单例模式的写法有好几种这里主要介绍三种:懒汉式单例,饿汉式单例,登记式单例(这种最好)。单例模式的特点:1.单例类只有一个实例2.单例类必须自己创建自己的唯一实例3.单例类必须给其他的对象提供这一实例单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机...
Java的接口和抽象类

Java的接口和抽象类

抽象类与接口是Java语言中对抽象概念进行定义的两种机制。1.抽象类在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。abstract void Test();抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。但是不能用他实例化对象,因为它含有抽象的方法。在《Java编程思想》一书中,将抽象类定义为“包含抽象方法的...
浅谈Java中的锁

浅谈Java中的锁

锁在并发编程中的重要性不言而喻, 但是如何更好地选择, 下面借几个问答来开始吧! 后续我会再写一篇有关于无锁队列的Blog1. synchonrize如何更好地使用?谈到这个问题, 主要先从这几个方面来入手:线程的几种状态synchonrize的几种使用方法比较synchonrize和volatile比较synchonrize和juc中的锁比较用了锁就真的没有并发问题了么?1.1 线程的几种状态不熟悉线程的生命周期和相互的转换控制, 是无法写好并发代码的....
Android中Toolbar的基本使用

Android中Toolbar的基本使用

Android的标题栏是很重要的一个模块,App是否易用很大一部分要看标题栏。写这个博客的时候刚发现谷歌推出了一种新的标题栏实现方式。 它相对于以前的ActionBar来说,最大的变化是开发者可以在标题栏上增加自定义的view。同时在最左端添加了一个导航按钮。将Activity的默认标题栏禁用。 这个实现有两中方式,代码控制和xml文件里配置 代码 如果是继承 AppCompatActivity调用 supportRequestWindowFeature(...
关于js闭包的经典实例的学习笔记

关于js闭包的经典实例的学习笔记

在最近在js的学习中,我接触到了js之中一个比较难的模块:闭包。但是这个模块却可以在js程序中发挥巨大的作用,本文以学习过程中的一个经典实例作为例子讲述对闭包作用的收获。实例代码1在下列的代码里,我想实现的是,当点击 <ol> 中各个<li> 时,页面会弹窗显示四个不同的数字<!DOCTYPE html><html><head><title>test</title><...
<< 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 >>