- NSTimer
超大玉螺旋连丸
NSTimer*timer=[NSTimertimerWithTimeInterval:1repeats:YESblock:^(NSTimer*_Nonnulltimer){}];[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];[[NSRunLoopcurrentRunLoop]run];timer加入ru
- 解决NSTimer的循环引用问题
丶墨墨丶
一、首先介绍NSTimer一些其他注意点1.scheduledTimerWith的函数创建并安排到runloop的defaultmode中。会出现其他mode时timer得不到调度的问题。最常见的问题就是在UITrackingRunLoopMode,即UIScrollView滑动过程中定时器失效。解决方式就是把timeradd到runloop的NSRunLoopCommonModes。2.iOS是
- NSRunLoopCommonModes
啵啵_long_港
1、NSTimer需要设置为NSRunLoopCommonModes模式[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];2、延时方法需要设置NSRunLoopCommonModes模式[selfperformSelector:@selector(method)withObject:nilafterDelay
- iOS runloop 知识点总结
唯忆青语
一:runloop相关知识1.runloop是什么runloop是通过内部维护的时间循环,来对事件/消息进行管理的对象2.runloop特征(1)没有消息处理时休眠,避免资源占用(用户态切换到内核态)(2)有消息处理时立刻被唤醒(内核态切换到用户态)3.runloop有哪几种mode(1)NSDefaultRunLoopMode:默认模式(2)NSRunLoopCommonModes:mode集合
- NSRunLoop
NapoleonY
NSRunLoopModeNSRunLoop可以运行在不同的模式下,每种模式有不同的作用。NSDefaultRunLoopMode(CoreFoundation中为kCFRunLoopDefaultMode)):默认设置,除了NSConnection事件以外。NSRunLoopCommonModes:模式合集,默认包括Default、Modal、EventTracking三大模式,可以处理几乎所有
- RunLoop 应用举例
爱笑的云里看梦
代码在RunLoopDemo中。RunLoop与performSelector第一个ViewController:场景:页面上有一个imageView,一个TextView,将加载图片的过程放到performselector方法中。在滑动TextView时,查看设置NSRunLoopCommonModes和NSDefaultRunLoopMode后的不同。RunLoop解决定时器滑动停止问题第一个
- 内存管理
SeanLink
内存管理计时不准问题NSTimer依赖于RunLoop,如果RunLoop的任务过于繁重,可能会导致NSTimer不准时解决:1.添加到NSRunLoopCommonModes(注意这并不是一个真正的model)2.可以使用GCD计时器(与Runloop没啥关系,直接调用内核函数)。循环引用解决的第三方类:NSProxy内存布局:image.pngTaggedPointer技术从64bit开始,i
- iOS RunLoop总结
Shirly_you
一.RunLoop的基本概念RunLoop是oc底层的一个机制,是运行循环,死循环。当应用程序需要的时候跑起来,不需要的时候处于休眠状态,这种特性可以充分提高CPU资源,提高程序的性能。NSRunLoop三种模式:NSRunLoopCommonModes:占位模式(并不是runloop的一种模式)无论是否操作UI都处理timer事件NSDefaultRunLoopMode:默认模式当不操作UI的时
- NSRunloop跟NSTimer
紫云夕月
NSTimer*timer=[NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(printMessage)userInfo:nilrepeats:YES];[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];NSTimer不
- [Runloop]滑动ScrollView的同时流畅加载页面
码痞
runLoopMode:NSDefaultRunLoopMode:默认的运行模式,用于大部分操作,除了NSConnection对象事件。NSEventTrackingRunLoopMode:用于跟踪触摸事件触发的模式(例如UIScrollView上下滚动)。NSRunLoopCommonModes:是一个模式集合,当绑定一个事件源到这个模式集合的时候就相当于绑定到了集合内的每一个模式。例:NSTi
- 王者之路(钻石)——Runloop 运行循环
iosRn
一、Runloop目的1、保证当前线程不退出。2、负责监听事件,比如网络请求、时钟、触摸事件等。借个图说明一下:1.pngRunloop优先处理UI模式事件,UI模式只能被UI事件唤醒。NSRunLoopCommonModes包括UI模式和默认模式。二、线程例子说明2.png代码中执行结果是只打印了“来了”。原因是当前线程已经退出。也就是线程没有执行不完的任务,所以线程会退出。每一个线程都会默认创
- NSRunLoopCommonModes和NSDefaultRunLoopMode区别(Timer)
a524389222
ui
当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer会被加入到当前线程的RunLoop中,且模式是默认的NSDefaultRunLoopMode。而如果当前线程就是主线程,也就是UI线程时,某些UI事件,比如UIScrollView的拖动操作,会将RunLoop切换成NSEventTrackingRunLoopMode模式,在这个过程中,默
- 定时器
CoderLHC
1:NSTimerUIScrollView拖动时执行的是UITrackingRunLoopMode,会导致暂停定时器,等恢复为NSDefaultRunLoopMode时才恢复定时器。所以如果需要定时器在UIScrollView拖动时也不影响的话,建议添加到UITrackingRunLoopMode或NSRunLoopCommonModes中:1NSTimer*timer=[NSTimertimer
- Runloop
VickyLanLan
模式:RunLoop在同一段时间只能且必须在一种特定的模式下运行。RunLoop有四种模式:•NSDefaultRunLoopMode:默认模式,表示应用程序空闲,绝大多数的事件响应都是在这种模式:定时器•UITrackingRunLoopMode:滚动模式•UIInitializationRunLoopMode:私有的,App启动时•NSRunLoopCommonModes:默认包含1,2两种模
- iOS-GCD定时器的使用
我是何先生
在iOS开发的过程中定时器的使用比较频繁的,比较常见的场景是验证码的发送,或者是倒计时的展示.一般的需求我们直接使用NSTimer就能完成。但是NSTimer的坑也是比较多的,比如在UITableview的时候,需要把NSTimer添加到主循环,并且设置为NSRunLoopCommonModes。但是今天要记录的是:GCD定时器先直接贴代码File:GCDCountDown.h@interface
- iOS中Timer循环引用原因及解决方案
Dezi
一、准备timer的创建第一种:如果在主线程里创建,需要修改下Mode为NSRunLoopCommonModes,不然,当滚动事件发生时,会导致NSTimer不执行,主线程的RunLoop是默认开启的,所以不需要[[NSRunLoopcurrentRunLoop]run]。如果在子线程里创建,且当前线程里无滚动事件,则不需要修改Mode,子线程的RunLoop默认不开启的,需要手动加入Runloo
- runloop的mode作用是什么
SE-Valkyrie
objective-c
一、runloop的modemodel主要是用来指定事件在运行循环中的优先级的,分为:NSDefaultRunLoopMode(kCFRunLoopDefaultMode):默认,空闲状态UITrackingRunLoopMode:ScrollView滑动时UIInitializationRunLoopMode:启动时NSRunLoopCommonModes(kCFRunLoopCommonMod
- Runloop 多线程
小楼一夜听风来
Runloop的使命:1负责程序不退出2负责监听IOS所有的事件,如:触摸,时钟,网络事件3如果没有事件发送,会让程序进入休眠状态Runloop的两种模式:NSDefaultRunLoopMode+NSRunLoopCommonModesNSDefaultRunLoopMode:时钟+网络事件NSRunLoopCommonModes:用户交互来看看这段代码~思考下:以下代码的输出是什么?intma
- 以+scheduledTimerWithTimeInterval... 的方式触发的 timer,在滑动页面上的列表时, timer 会暂定回调,为什么?如何解决?
对酒当歌人生几何1234
runloop
这里强调一点:在主线程中以+scheduledTimerWithTimeInterval...的方式触发的timer默认是运行在NSDefaultRunLoopMode模式下的,当滑动页面上的列表时,进入了UITrackingRunLoopMode模式,这时候timer就会停止可以修改timer的运行模式为NSRunLoopCommonModes,这样定时器就可以一直运行了以下是我的笔记补充:在子
- iOS runloop 详解3 子线程runloop的启动与停止
jeffasd
iOS
//对于子线程UITrackingRunLoopMode参数无效,NSRunLoopCommonModes参数必须在本线程已经被添加过runloop后才有效如:先添加一个NSDefaultRunLoopMode//BOOLisSuccess=[[NSRunLoopcurrentRunLoop]runMode:NSDefaultRunLoopModebeforeDate:[NSDatedistant
- 结合NSRunLoop,NSThread, GCD 认识定时器(NSTimer)与 UIScrollView的冲突
FanChason
1,NSRunLoopCommonModes和Timer1>scheduledTimerWithTimeInterval创建/**scheduledTimerWithTimeInterval*/-(void)timerMethod1{self.timer=[NSTimerscheduledTimerWithTimeInterval:0.5target:selfselector:@selector(
- ios RunLoop笔记
ios小小菜鸟
Timer计时会被scrolView的滑动影响的问题可以通过将timer添加到NSRunLoopCommonModes来解决NSTimer*timer=[NSTimertimerWithTimerInterval:1.0]target:selfselector:@selector(timerTick:)userInfo:nilrepeats:YES];[[NSRunLoopcurrentRunLo
- 使用NSTimer时遇到的问题归类
没有酱帅
1.NSRunLoopCommonModes和Timer当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer会被加入到当前线程的RunLoop中,且模式是默认的NSDefaultRunLoopMode。而如果当前线程就是主线程,也就是UI线程时,某些UI事件,比如UIScrollView的拖动操作,会将RunLoop切换成NSEventTr
- 屏幕帧数检测
点点星尘
屏幕帧数检测首先说下CADisplayLink概念,官方文档中有详细的解析,这边简单的整理下。CADisplayLink:屏幕刷新时进行触发利用CADisplayLink的特性和屏幕一秒刷新60次的概念,就可以利用1秒内刷新次数判断屏幕帧数要点一:///NSRunLoopCommonModes会自动同步所有common模式下的数据[_linkaddToRunLoop:[NSRunLoopmainR
- NSTimer使用小记
阿武_gui
IOS开发学习笔记ios
1.NSRunLoopCommonModes和Timer当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer会被加入到当前线程的RunLoop中,且模式是默认的NSDefaultRunLoopMode。而如果当前线程就是主线程,也就是UI线程时,某些UI事件,比如UIScrollView的拖动操作,会将RunLoop切换成NSEventTr
- iOS-五种定时器总结
船长_
1.CADisplayLink定时器CADisplayLink是一个能让我们以和屏幕刷新率同步的频率将特定的内容画到屏幕上的定时器类。CADisplayLink有两种模式注册到runloopNSDefaultRunLoopMode当进行其他UI刷新操作会停止定时器NSRunLoopCommonModes当进行其他UI刷新操作不会停止定时器所以通常情况下,按照iOS设备屏幕的刷新率60次/秒应用场景
- iOS常用定时器
ylgwhyh
多线程
iOS常用定时器UIScrollView拖动时执行的是UITrackingRunLoopMode,会导致暂停定时器,等恢复为NSDefaultRunLoopMode时才恢复定时器。所以如果需要定时器在UIScrollView拖动时也不影响的话,建议添加到UITrackingRunLoopMode或NSRunLoopCommonModes中:NSTimer*timer=[NSTimertimerWi
- NStimer 和Runloop
Ayaoguai
1、如果是在主线程中运行timer,想要timer在某界面有视图滚动时,依然能正常运转,那么将timer添加到RunLoop中时,就需要设置mode为NSRunLoopCommonModes。2、如果是在子线程中运行timer,那么将timer添加到RunLoop中后,Mode设置为NSDefaultRunLoopMode或NSRunLoopCommonModes均可,但是需要保证RunLoop在
- NSURLConnection文件下载和NSRunLoopCommonModes
WeiHing
传智播客视频学习笔记+个人总结发送请求的步骤:1.设置url2.设置request3.发送请求,同步or异步使用同步方法下载文件在主线程调用同步方法,一直在等待服务器返回数据,代码会卡住,如果服务器,没有返回数据,那么在主线程UI会卡住不能继续执行操作。有返回值NSData//1.urlNSString*urlstr=@"xxxx";urlstr=[urlstrstringByAddingPerc
- iOS 【NSTimer定时器不准的问题和GCD创建定时器】
NJ_墨
一、NSTimer定时器不准:如果在子线程中创建Timer,那么当我们add到RunLoop的时候有NSDefaultRunLoopMode和NSRunLoopCommonModes两种模式可以选择这里不像主线程,子线程需要创建loop并且run起来,不然是不会连续跑任务的不准的原因在于,当我们在NSDefaultRunLoopMode模式下跑的时候,我们滚动例如TableView的时候切换到Tr
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><