Java 进阶:异常影响性能吗?

Java 进阶:异常影响性能吗?曾经在给一个业务系统增加限流功能,使用的限流组件在流量超过阈值时,会直接抛异常,异常导致 CPU 占用率飙升。第一次遇到这样的情况,让我们不得不思考,异常怎么会对性能造成这么大的影响?下面我们写几个测试程序观察一下。...
阅读(91) 评论(0)

Java 进阶:如何让线程主动让出 CPU

在 Java 中,有哪些方法可以让线程让出 CPU 呢?...
阅读(24) 评论(0)

深入理解 Java 泛型

泛型的本质是参数化类型,相比于直接使用 Object 的好处是:编译期强类型检查、无需进行显式类型转换。这里介绍一些泛型的用法、特性,以及如何在运行时获取泛型参数类型信息。...
阅读(25) 评论(0)

Java 迭代器介绍

迭代器介绍迭代器模式迭代器模式是一个典型的设计模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。因为屏蔽了细节,可以针对不同实现的容器,提供一致的标准化的访问方法。...
阅读(63) 评论(0)

Java 注解:注解处理器获取泛型真实类型

注解 annotation 是 Java 中的一大特性,是插入代码中的元数据。注解的使用能够大大简化代码的编写,所以在很多框架中得到了使用,比如 spring、hibernate-validator。泛型的真实类型信息会在编译期间擦除,注解处理器正是运行在编译期间,能够用来获取泛型真实信息。...
阅读(153) 评论(0)

降级熔断框架 Hystrix 源码解析:滑动窗口统计

一个滑动窗口统计主要分为两步: 1. bucket 统计,bucket 的大小决定了滑动窗口滚动时间间隔; 2. window 统计,window 的时长决定了包含的 bucket 的数目。 Hystrix 实现滑动窗口利用了 RxJava 这个响应式函数编程框架。...
阅读(169) 评论(0)

Java 线程同步基础类 LockSupport 解析

LockSupport 类提供了基本的线程同步原语,是实现 AbstractQueuedSynchronizer 和 ReentrantLock 的基础。...
阅读(104) 评论(0)

Java 同步框架 AQS 深入分析

AQS 框架提供了先进先出的阻塞锁实现,在此基础上,提供了独占和共享等多种模式供使用方实现。除此之外,还提供了一个条件变量的实现。 锁是一种线程同步机制,用于保护对临界资源的访问。条件变量提供了一个“等待 - 唤醒”的机制,在阻塞队列里起到了生产者和消费者之间的通信的作用。...
阅读(98) 评论(0)

Java 同步原语 synchronized 剖析和锁优化

本文解析了 synchronized 的底层实现,介绍了 JVM 中优化锁的一些方法,以及实际编程中使用的一些锁优化方法。...
阅读(126) 评论(0)

深度剖析 JDK7 ConcurrentHashMap 中的知识点

看源码时候的一点儿总结:锁分离 Lock Stripping、Unsafe、自旋、顺序一致性 Sequential Consistency、权衡 Trade Offs。...
阅读(107) 评论(0)

Hadoop Mapreduce Mapper和Reducer源码

Mapper public class Mapper { /** * The Context passed on to the {@link Mapper} implementations. */ public abstract class Context implements MapContext { } /** * Called once a...
阅读(1348) 评论(0)

利用Java反射机制-访问Android隐藏API

通过类名获取类。 Class serviceManager = Class.forName("android.os.ServiceManager"); 获取方法 Method method = serviceManager.getMethod("getService", String.class); 调用方法 method.invoke(serviceManager.newIns...
阅读(4147) 评论(0)

短网址功能实现

先来看看短网址映射算法的理论(网上找到的资料) 1)将长网址md5生成32位签名串,分为4段, 每段8个字节;  2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;  3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;  4)总的md5串可以获得4个6位串; 取里面的任意...
阅读(1122) 评论(0)

Java:二进制方式读取文件

package hustspy.encrypt; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOper...
阅读(8998) 评论(0)

Android手机开发:初级优化

1.       尽量指定类的final修饰符。 2.       尽量重用对象。 3.       尽量使用局部变量。临时变量存储在栈中,速度快。其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。 4.       不要重复初始化变量。 5.       SQL...
阅读(1102) 评论(0)

Android手机开发:在程序中拨打电话

1. ACTION_DIAL方式,把电话号码复制到拨打页面,并不自动打出 Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(strTelphone)); startActivity(intent); 2. A...
阅读(906) 评论(0)

Android手机开发:从网络上读取图片

程序: /** * 根据图片的网络地址url,获取图片 * 添加权限 * */ public static Bitmap GetNetBitmap(String url) { URL imageUrl = null; Bitmap...
阅读(858) 评论(0)

Android手机开发:SQLite数据库

1. 定义一个类,方便存储和获取数据 package com.eoeAndroid.SQLite; import android.content.ContentValues; import android.content.Context; import android.da...
阅读(1215) 评论(0)

Android手机开发:EditText+DatePicker带日期选择器的编辑框

1. 声明EditText变量,并关联到相应控件上 private EditText sellStartTime; private EditText sellEndTime;sellStartTime = (EditText)findViewById(R.id.editSe...
阅读(13871) 评论(5)

Android手机开发:网络连接-打开Url下载信息

1. 简单版本 /** * 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容 1.创建一个URL对象 * 2.通过URL对象,创建一个HttpURLConnection对象 3.得到InputStram 4.从InputStream当...
阅读(12216) 评论(0)
36条 共2页1 2 下一页 尾页
    个人资料
    • 访问:581630次
    • 积分:6983
    • 等级:
    • 排名:第3403名
    • 原创:165篇
    • 转载:6篇
    • 译文:0篇
    • 评论:95条
    我的推荐
    博客专栏
    最新评论