- 安卓笔记本 - Handler Message MessageQueue Looper
SocialException
不爱写字,一张图解决。Handler,Message,MessageQueue,Looper工作原理
- Android学习之道
sweetying
前言Android学习渠道分享,国内外最值得花时间去学习的资源,很全面,成为Android资深工程师必备1.技术公众号一些经过检测,确属干货的技术(android为主)公众号(注:搜索公众号名称关注即可)鸿洋郭霖玉刚说HenCoder刘望舒ASCE1885code小生承香墨影安卓笔记侠伯特说CodeKK安卓杂货铺安卓进化论Android那些事吴小龙同学何俊林技术视界涉及其它技术的公众号(提升眼界的
- 【安卓笔记】安卓13编译系统大包选择脚本的shell编程代码解读,巩固shell编程的知识
小李不背锅
AndroidLinuxandroid笔记
1、locala创建一个局部变量a,作用在function内。export:Shell的export命令用于将变量声明为全局变量,使其在子进程中可用。在Shell中,可以使用export命令将变量或环境变量声明为全局变量,以便在子进程中访问。例如,以下命令将变量"VAR"声明为全局变量:exportVAR=value2、echo该命令一般是输出字符串到界面,echo-e“字符串”,-e命令可以在“
- 【安卓笔记】android申请储存权限,读写文件
九狼JIULANG
安卓笔记androidjava
首先在AndroidManifest.xml中注册读取USB存储设备中的内容检查权限privatevoidcheckPermission(){try{String[]PERMISSIONS_STORAGE={Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};intpermiss
- 【安卓笔记】解决ViewPager2嵌套RecyclerView,上下滑动冲突
九狼JIULANG
安卓笔记androidandroid-studiojava
当ViewPager2嵌套RecyclerView上下滑动的事件会被RecyclerView分发下去到ViewPager2,这样就会造成卡顿。解决办法就是重写RecyclerView的dispatchTouchEvent函数,将上滑事件拦截下来选择不分发给下一层的View自己处理。Java代码//用于标记滑动的坐标privateintdownX=0;privateintdownY=0;@Overr
- 安利一些有趣的软件和网页给你使用
Nightowls__
经验分享
分享一:学科网这是一个专门提供试卷、课件、教案等资源的网站。该网站有免费和付费资源。在这里您可以找到从小学到高中各个学科的不同版本教材的备课资料。分享二:纯纯写作纯纯写作是一款非常特别的安卓笔记应用。主打永不丢失和安全,界面简洁,使用舒适。只要你写了东西,它就永远不会丢失。无论您使用不当还是手机没电,所有历史记录都会被保存,并可以随时恢复。舒适的界面、流畅的鼠标、滑动隐藏键盘、重新调整的行距和字距
- 安卓笔记
遇见我是你最大的运气
1.即使是现在这份代码,常常也会感叹,自己没有前人做得好,有一些积累确实没有别人好,前人做的一些代码方面做得真的非常不错,跟本比不上。2.另外一个就是安卓上界面实现问题、使用什么控件、什么技术去实现(是一个积累问题,而且正常的安卓应该是展示方面做得特别多的,所以积累特别重要,这一点我非常不喜欢,靠记忆,还有就是几个布局的各种特性也要比较熟悉,总之不想这样弄。)
- 安卓笔记_1
张艾艾艾
今日收获1:判断String类型变量是否为空的方法:变量名==null||变量名.isEmpty();若为空则返回1,非空则返回0原帖:https://blog.csdn.net/qq_31939617/article/details/80629979今日收获2:如何跳出if语句?使用break语句,但是需要一个标签比如:if(buf==null||buf.isEmpty())empty:{bre
- 万安卓笔记
RichardLee123
万安卓知识点OOM如何避免OOM总结减小对象内存的占用使用更轻量级的数据结构如使用SplashArray或ArrayMap替代HashMap减少使用枚举因为枚举会默认至少占用两个静态变量的空间优化Bitmap对象的内存占用Bitmap是一个极容易消耗内存的大胖子,减小创建出来的Bitmap的内存占用可谓是重中之重,通常来说有以下2个措施:`inSampleSize`:缩放比例,在把图片载入内存之前
- 安卓笔记
luckyShan_95
设计模式:https://www.jianshu.com/p/35f76e87ac45java基础:https://xiaozhuanlan.com/topic/7548023169jvm:创建对象:https://blog.csdn.net/xiha_zhu/article/details/83614985jvm面试:https://blog.csdn.net/HarderXin/article
- 安卓笔记
天问101
一、基础控件imageTextView控件用于显示文本信息Button控件表示按钮,它继承自TextView控件,既可以显示文本,又可以显示图片,同时也允许用户通过点击来执行操作,当Button控件被点击时,被按下与弹起的背景会有一个动态的切换效果,这个效果就是点击效果。EditText表示编辑框,它是TextView的子类,用户可在此控件中输入信息。属性名功能描述android:hint控件中内
- 安卓笔记——沉浸式状态栏
_23_
安卓笔记安卓android
目录标题去掉标题栏效果步骤图片的沉浸式效果步骤去掉标题栏效果步骤1、引入依赖包implementation'com.jaeger.statusbarutil:library:1.5.1'2、去掉标题栏(轮播图那篇),设置头部颜色3、写逻辑代码,设置状态栏颜色与头部颜色相同packagecom.hnucm.chenjingshi_ztl;importandroidx.annotation.Requi
- 安卓笔记
zhj12399
安卓
安卓笔记智能手机应用类型按钮菜单右上角小菜单上下文菜单文本框拨打电话显示弹窗消息弹框界面弹框界面布局显示过长的文本实现水平居中实现水平和垂直居中使用LinearLayout使用ConstrainLayout模块集中方法实现北南中布局控件隐藏与显示ConstraintLayout动画界面的动态替换使用ViewStub动态实例化控件CountDown倒计时按钮动画设置按钮集合XXOO游戏新建另一个页面
- 【安卓笔记】热修复_addAssetPath不同版本区别原因
DrogoZhang
在做热修复功能时Java层通过反射调用addAssetPath在Android5.0及以上系统没有问题,在Android4.x版本找不到资源。addAssetPath方法:/***Addanadditionalsetofassetstotheassetmanager.Thiscanbe*eitheradirectoryorZIPfile.Notforusebyapplications.Return
- 韩老师安卓笔记
穆穆不惊左右
android
#Android教程这是一个基于Android平台开发的基础案例集。旨在用于给初学者快速了解Android平台的开发。开发工具和平台*AndroidStudio2.0以上*java语言*androidsdk*gradle2.0以上*git*github##问答####案例集面向谁?主要是面对高校以及一些对Android开发零基础的人群。##目录1.LayoutDemo关于android中布局相关案
- 安卓笔记:webView唤起QQ聊天窗口问题
宇文濠
安卓笔记
概述:今天任务给了我一串url,在浏览器中输入,可以自动唤起QQ聊天窗口,类似于客服,但是放到webView,显示网页打不开原因:url已经打开,并且实现了跳转,但是跳转在老的webview里面,并且是新的url,url可以查看图片里位于mqqwpa://xxxx,导致网页加载不出来解决方案:通过获取新的url,并且截取特性字段,在shouldOverrideUrlLoading函数里通过判断,选
- 安卓笔记-封装的HttpUtils
codes_
Android
最近项目用到了XUtils,然而由于时间紧迫一直没有进行网络请求的封装处理,导致后台返回数据方式更改后简直是灾难!于是趁着下一个项目准备之前,花点时间做下简单的封装处理,没试过性能如何,希望大家多指点指点,好了废话不多说,开始进入正题!封装类***XUtisl帮助类*@authorAdministrator**/publicclassXUtilsHelper{privatestaticContex
- 【安卓笔记】四大核心组件
看不尽的尘埃
安卓开发
Activity活动代表了一个具有用户界面的单一屏幕。三个状态:运行、停止、暂停;生命周期:回调描述onCreate()这是第一个回调,在活动第一次创建是调用onStart()这个回调在活动为用户可见时被调用onResume()这个回调在应用程序与用户开始可交互的时候调用onPause()被暂停的活动无法接受用户输入,不能执行任何代码。当当前活动将要被暂停,上一个活动将要被恢复是调用onStop(
- 安卓笔记之隐式启动Activity篇
易水南风
android基础
之前聊的关于启动Activtiy的都是在Intent对象中指明要启动哪一个Activtiy(Intent对象的构造中传参数或者Intent对象的setClass方法),这时一种显式的启动方式。其实还有一种隐式的启动方式,它不指明要开启的Activity类,而是通过匹配一些数据信息来寻找Activity。打个踢球叫人守门的比方,显式启动方式就是“xxx,你快去守门!”,隐式启动就是类似“谁以前守过门
- 安卓笔记 7.0后的 图片裁剪和拾取和相机拾取图片和裁剪 适配
丿裸奔的蜗牛
//打开相册privatevoidopenAlbum(){IntentselectIntent=newIntent(Intent.ACTION_PICK,null);selectIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");OnActivityForResultUtils.startAct
- 安卓笔记 TabLayout下划线长度 修改和自定义 TabLayout的tab按钮
丿裸奔的蜗牛
工具类代码:publicclassTabLayoutUtils{/***此方法必须在这个属性下生效app:tabGravity="center"*@paramtabLayout*/publicstaticvoidreflex(finalTabLayouttabLayout){tabLayout.post(newRunnable(){@Overridepublicvoidrun(){try{//拿到
- 安卓开发中难免引入很多第三方库,当你的sdk版本COMPILESDKVERSION和引入库的版本 需要的 v4或者v7库不一样时会出现奇怪的错误
丿裸奔的蜗牛
安卓笔记:安卓开发中难免引入很多第三方库,当你的sdk版本COMPILESDKVERSION和引入库的版本需要的v4或者v7库不一样和你的编译版本COMPILESDKVERSION不匹配时会出现奇怪的错误当然大部分时候不会有这个错误但是也会影响打包速度毕竟你重复引入了很多包.这里有2种解决方式:一,升级安卓COMPILESDKVERSION的SDK版本到最新,可以向下兼容v4和v7随便啥版本都没问
- 安卓笔记---对话框中输入,判断是否符合号码规范,是--跳转拨号盘,否--提示号码不正确
Lee-Chris
安卓备忘录
新建项目后,添加一个输入框和按钮编辑activity_main.xml编辑MainActivity.javapackagecom.example.chris.telnum;importandroid.content.Intent;importandroid.net.Uri;importandroid.support.v7.app.ActionBarActivity;importandroid.os
- 安卓笔记:多媒体应用开发
欸嘿嘿嘿
音频和视频的播放Android提供了简单的API来播放音频视频,支持的音频格式有MP3,WAV,3GP等,支持的视频格式有MP4,3GP等安卓9增强的MediaPlayer略音乐特效控制使用AudioEffect及其子类略SoundPool播放音效主要用于播放一些短的声音片段。使用音效池的概念来管理多个短促的音效。与MediaPlayer相比,SoundPool的优势在于CPU资源占用量低,反映延
- 【安卓笔记】使用ViewPager+Fragment实现选项卡切换效果
rowandjj
androidandroid学习笔记
显示效果:实现过程:1.创建3个选项卡中的内容,即三个Fragment。这里仅贴出其中一个:Tab2:packagecom.example.viewpagerdemo3;importandroid.os.Bundle;importandroid.support.v4.app.Fragment;importandroid.view.LayoutInflater;importandroid.view.
- 安卓笔记之自定义广播事件发送自定义广播以及接受者优先级
皇朝青城
1.自定义广播①编写一个类继承BroadcastReciever,重写onRecieve方法。②在AndroidManifest配置文件中的application结点下配置reciever节点://优先级(优先级高的先执行)//自己定义的广播动作2.发送广播事件①创建新的工程在类中写如下关键代码Intentintent=newIntent();intent.setAction("com.wq.xx
- 【安卓笔记】—— 最基础的页面导航 Navigation
萌宅鹿
#Android笔记
安卓之页面导航Navigation实现基础的页面导航(Navigation)功能:点击按钮,从Home页面切换到Detail页面首先用AndroidStudio创建一个工程,进入工程创建两个Fragment,HomeFragment和DetailFragement创建一个名为HomeFragment的布局同理,再创建一个DetailFragment然后搭建HomeFragment的界面然后搭建De
- 【安卓笔记】—— 页面导航 Navigation(3)
萌宅鹿
#Android笔记
ViewModel、LiveData、DataBinding和Navigation的结合搭建界面创建ViewModelDataBinding绑定数据ViewModel核心作用:管理Activity中的数据使用ViewModel管理Navigation导航当中的数据,可以实现切换页面数据不丢失,架构更加清晰关于安卓搭建界面:是用图形化方式还是用代码:ConstraintLayout布局的出现,使得图
- 【安卓笔记】—— 页面导航 Navigation(2)
萌宅鹿
#Android笔记
Navigation中的数据传递和过渡动画创建一个简单的页面导航传递静态数据传递动态数据自定义动画transalate:移动scale:缩放rotate:旋转创建一个简单的页面导航首先创建两个Fragment创建HomeFragment的页面创建DetailFragment的页面创建navigation资源文件连接页面导航的逻辑在Activity_main.xml中添加NavHostFragmen
- 安卓笔记:LaunchMode
KingsonLM
Android开发
安卓中有四种加载模式:standardsingleTopsingleTasksingleInstance在AndroidManifest.xml文件中activity元素的launchMode属性中可以修改standard:standard模式,也就是默认模式,不需要配置launchMode。就是每次跳转时都需要创建该Activity的新实例,点击返回键,可以看到的是按照刚才创建Activity实
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,