jvm
文章平均质量分 88
legendCoder
真正的强者,不是流泪的人,而是含泪奔跑的人
展开
-
在CentOs虚拟机下进行网络配置和vsftpd的ftp文件服务器配置
说明:在CentOs虚拟机下进行网络配置和vsftpd的ftp文件服务器配置前言:最近需要在CentOs虚拟机下搭建文件服务器进行文件管理,但是在配置vsftpd服务的时候出现了很多坑,特别在此记录下从CentOs安装完成—>网络配置—>安装vsftpd组件—>防火墙配置—>设置开机重启的完整过程,以供初学者们进行参考。。(1)安装CentOS虚拟记得过程在这里就不多说了,网上有很多教程都很好,也很原创 2017-03-30 23:13:58 · 2135 阅读 · 3 评论 -
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 · 2946 阅读 · 1 评论 -
Android多线程之线程池Executor详解
前言:前面说过,Android系统延续了Java的单线程设计模型,因此在开发过程中经常会去开辟新的线程,去处理与UI操作无关的任务。线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,不能无限制的产生,它的创建与销毁都会产生较多的系统开销。因此,为了方便线程的管理,Android提供了线程的管理机制-Executor线程池。这里简单复习一下,Android在UI线程进行耗时任务出现A...原创 2018-03-12 12:40:18 · 2605 阅读 · 0 评论 -
Android多线程之IntentService工作机制详解
前言:IntentService在我们平常的开发过程中是非常常见的,我们都习惯于用它去处理一些耗时任务,但是对于它的内部机制,你真的了解?下面我们通过几个常见的面试题,来对IntentService一一剖析。想要了解更多关于Android多线程知识,请移步 Android多线程专栏。常见面试问题:你对IntentService了解么?说一下他的用处和原理?IntentService和S...原创 2018-03-17 16:43:52 · 1246 阅读 · 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 · 796 阅读 · 3 评论 -
Handler消息机制之深入理解Message.obtain()
前言:在我们日常开发工作中,难免经常会在线程间进行消息传递,而这个过程最常用的实现方式就是Handler消息机制。当然,这并不我们今天的重点,今天我们要重点关注的是消息传递的中间体:Message。我们怎么去获取Message对象?可能大多数同学直接通过 new Message() 的方式创建一个新的对象;对性能和效率有了解的同学可能就会通过 handler.obtainMessage() 或 M...原创 2018-03-07 17:20:42 · 14319 阅读 · 1 评论 -
Java虚拟机对象创建管理与垃圾回收知识整理与分析--Jvm虚拟机篇
一.Java framwork基础面试笔试知识整理–java基础篇(1)内存模型以及分区,需要详细到每个区放什么。堆:Java虚拟机管理内存中最大的一块,线程共享区域。所有对象实例和数组都在堆上分配内存空间。栈:线程私有,每个线程都会创建一个虚拟机栈,生命周期与线程相同。每个方法被执行的时候就会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。一个方法执行的过程对应着一个栈帧的入原创 2017-02-25 20:31:02 · 2969 阅读 · 2 评论 -
使用正整数数组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 · 1108 阅读 · 1 评论