java
文章平均质量分 84
legendCoder
真正的强者,不是流泪的人,而是含泪奔跑的人
展开
-
Android源码分析之OrientationHelper详解
前言:在Android的日常开发中,经常会与RecycleView打交道,如果你只是进行简单的列表展示,可能你不会用到OrientationHelper工具类。但是,如果你有更深层次的需求,对OrientationHelper和LayoutManager的理解和应用就必不可少了。本文,将从源码的角度,对OrientationHelper各参数及方法进行剖析。OrientationHelper源...原创 2018-06-01 10:15:52 · 3259 阅读 · 0 评论 -
Android消息机制 & Android线程间通信机制
前言:由于Android系统本身决定了其自身的单线程模型结构。在日常的开发过程中,我们又不能把所有的工作都交给主线程去处理(会造成UI卡顿现象)。因此,适当的创建子线程去处理一些耗时任务是非常关键的。同时Android中非UI线程不能对UI组件进行操作,因此,熟练的掌握并应用线程间消息通信是很有必要的。接下来,我们从Android线程间通信机制和Android消息机制两个方面对以上内容进行介绍。...原创 2018-03-06 14:38:05 · 2944 阅读 · 1 评论 -
Android多线程之线程池Executor详解
前言:前面说过,Android系统延续了Java的单线程设计模型,因此在开发过程中经常会去开辟新的线程,去处理与UI操作无关的任务。线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,不能无限制的产生,它的创建与销毁都会产生较多的系统开销。因此,为了方便线程的管理,Android提供了线程的管理机制-Executor线程池。这里简单复习一下,Android在UI线程进行耗时任务出现A...原创 2018-03-12 12:40:18 · 2604 阅读 · 0 评论 -
Android多线程之IntentService工作机制详解
前言:IntentService在我们平常的开发过程中是非常常见的,我们都习惯于用它去处理一些耗时任务,但是对于它的内部机制,你真的了解?下面我们通过几个常见的面试题,来对IntentService一一剖析。想要了解更多关于Android多线程知识,请移步 Android多线程专栏。常见面试问题:你对IntentService了解么?说一下他的用处和原理?IntentService和S...原创 2018-03-17 16:43:52 · 1245 阅读 · 0 评论 -
Java编程中this和static关键字的用法详解
前言:在平时的编码过程中,相信大家都会频繁地使用到this或static关键字。但可能你仅仅是了解它的用法,而对其内部机制知之甚少。今天我们就一起来探讨一下它们的内部机制。一.this关键字的详解 首先我们来总结一下this常见的应用场景,下面我们定义一个User类,基本包含了我们常见的this的用法,如下所示:public class User { private Str...原创 2018-03-02 17:18:24 · 1306 阅读 · 0 评论 -
Android多线程之Java 8中ThreadLocal内部实现机制详解
前言:ThreadLocal是线程内部的存储类,通过它可以实现在每个线程中存储自己的私有数据。即数据存储以后,只能在指定的线程中获取这个存储的对象,而其它线程则不能获取到当前线程存储的这个对象。ThreadLocal有一个典型的应用场景,即我们在前文中说到的Android线程间通信中的Looper。每一个线程都有一个私有的Looper对象去处理当前线程的消息队列,有不清楚的同学,可以去上篇文章查看...原创 2018-03-15 17:01:36 · 795 阅读 · 3 评论 -
Handler消息机制之深入理解Message.obtain()
前言:在我们日常开发工作中,难免经常会在线程间进行消息传递,而这个过程最常用的实现方式就是Handler消息机制。当然,这并不我们今天的重点,今天我们要重点关注的是消息传递的中间体:Message。我们怎么去获取Message对象?可能大多数同学直接通过 new Message() 的方式创建一个新的对象;对性能和效率有了解的同学可能就会通过 handler.obtainMessage() 或 M...原创 2018-03-07 17:20:42 · 14316 阅读 · 1 评论 -
IntelliJ IDEA 创建maven项目
前言:对于J2EE初学者来说,用Idea创建Maven项目可能会有一些困难,也会对项目结构存在大量疑惑。本想写一篇博客来阐述这个过程,但是发现了一篇对Maven项目描述非常清晰的博客,同时可以解决大多数同学对Maven项目不能正常运行的问题。在此记录,和大家共同学习,同时也非常感谢@Angelaboy的分享.博客链接:IntelliJ IDEA 创建maven项目详细步骤解析原创 2018-01-13 09:33:32 · 5390 阅读 · 0 评论 -
Android自定义View之进度条(带进度提示框)
Android自定义水平进度条,带当前进度值的提示框原创 2017-10-21 07:07:47 · 13911 阅读 · 4 评论 -
阿里巴巴Java开发手册-命名规约
Java日常开发规范之命名规范及规则。转载 2017-05-21 21:58:28 · 5023 阅读 · 0 评论 -
MyBatis精通之路之分页功能的实现(数组分页、sql分页、拦截器,RowBounds分页)
前言:学习hibernate & mybatis等持久层框架的时候,不外乎对数据库的增删改查操作。而使用最多的当是数据库的查找操作, 而当数据库数据过多时,符合查找条件的数据可能也会是很庞大的数据。往往在这个时候,我们都不会希望一次性的将所有的数据一起性读取出来,并且显示在UI界面上。常用的操作,就是对查找到的数据进行分页,每次处理小部分数据。这样每次处理的数据量就会在可控的范围,UI的展示也会很协原创 2017-04-27 21:34:48 · 54020 阅读 · 19 评论 -
mybatis精通之路之插件分页(拦截器)进阶
前言:在上一篇博客中,我们讲到了mybatis的四种简单分页方式。分别是基于数组、Sql语句、分页插件和RowBounds的简单分页实现。不清楚的可以移步mybatis四种简单分页方式,这里详细讲解了几种分页方式的原理和优缺点,适合于初学者,很容易理解,不清楚的同学可以回去瞟上几眼。。任务分析:当然,这并不是我们这篇博客讲解的重点。记得在上一篇中,我们只是实现了最简单的插件分页实现,还非常简陋,功能原创 2017-05-15 15:36:58 · 18842 阅读 · 10 评论 -
Java虚拟机对象创建管理与垃圾回收知识整理与分析--Jvm虚拟机篇
一.Java framwork基础面试笔试知识整理–java基础篇(1)内存模型以及分区,需要详细到每个区放什么。堆:Java虚拟机管理内存中最大的一块,线程共享区域。所有对象实例和数组都在堆上分配内存空间。栈:线程私有,每个线程都会创建一个虚拟机栈,生命周期与线程相同。每个方法被执行的时候就会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。一个方法执行的过程对应着一个栈帧的入原创 2017-02-25 20:31:02 · 2968 阅读 · 2 评论 -
Java基础知识和常用数据结构整理与分析--Framwork篇
Java基础知识总结及常见面试笔试题整理--Java基础篇原创 2017-02-25 20:01:49 · 2763 阅读 · 0 评论 -
Android多线程之线程同步机制(synchronized)详解
前言:相信大家在进行Java开发的时候经常会接触到同步的概念,在多线程并发的情况下,为保证同一个时间点只能被一个线程访问到,就需要用到同步机制。想要了解更多关于Java多线程知识,请移步:Android多线程机制专栏对于一段代码片,或者一个方法怎么进行线程同步?这时就会用到我们今天的主角(synchronized)了。我们日常使用synchronized的时候,经常会直接在方法前面加上sync...原创 2017-03-23 15:41:32 · 3473 阅读 · 0 评论 -
Java单例模式的各种写法和最优写法推荐
话不多说,直接上代码: 1.懒汉模式 只适合单线程环境,在需要的时候才去创建对象实例(时间换空间)。 优点:在不要对象实例的时候,节省了内存空间。 缺点:在使用的时候会先判断是否为空,为空的话,才去创建对象。所以获取对象实例相对较慢。 class Singleton{ private static Singleton Instance = null; public Single原创 2017-03-09 21:55:51 · 1525 阅读 · 0 评论 -
使用正整数数组a设计当j>i时的有效算法:a[j]+a[i]的最大值,a[j]-a[i]的最大值,a[j]*a[i]的最大值,a[j]/a[i]的最大值。
问题描述:使用正整数数组a设计有效算法:a[j]+a[i]的最大值,其中j>i;a[j]-a[i]的最大值,其中j>i;a[j]*a[i]的最大值,其中j>i;a[j]/a[i]的最大值,其中j>i;解决问题:解决这些问题的难点在于j>=i的附加条件,代表被加数,被减数,被乘数与被除数都要在数组中加数,减数,乘数与除数的后面。问题一:a[j]+a...原创 2018-06-10 23:03:44 · 1107 阅读 · 1 评论