【extern】【static】】的更多相关文章

[C++自我精讲]基础系列四 static 0 前言 变量的存储类型:存储类型按变量的生存期划分,分动态存储方式和静态存储方式. 1)动态存储方式的变量,生存期为变量所在的作用域.即程序运行到此变量时才为其分配存储空间,作用域结束时,会自动收回为其分配的存储空间. 2)静态存储方式的变量,生存期为整个程序执行的过程.即程序开始时就为其分配存储空间,程序结束时,才会收回为其分配的存储空间. 4种变量的存储类型: 1)自动类型(auto):动态存储方式的变量,局部变量,auto常常省略. 2)寄存器…
day08[String类.static.Arrays类.Math类] String类static关键字Arrays类Math类 教学目标能够使用String类的构造方法创建字符串对象能够明确String类的构造方法创建对象,和直接赋值创建字符串对象的区别能够使用文档查询String类的判断方法能够使用文档查询String类的获取方法能够使用文档查询String类的转换方法能够理解static关键字能够写出静态代码块的格式能够使用Arrays类操作数组能够使用Math类进行数学运算 day08_…
[疯狂造轮子-iOS]JSON转Model系列之一 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 之前一直看别人的源码,虽然对自己提升比较大,但毕竟不是自己写的,很容易遗忘.这段时间准备自己造一些轮子,主要目的还是为了提升自身实力,总不能一遇到问题就Google. 之前写i博客园客户端的时候,经常会遇到JSON数据转Model的功能.一般遇到这种问题我都是自己在对应Model类中定义一个+ (instance)initWithAttributes:(NSDictio…
本文实现了类似电子书首页,用来展示图书或小说的布局页面,书架列表[iPhone6模拟器],屏幕尺寸还没进行适配,只是做个简单的demo[纯代码实现方式] 实现采用的是UICollectionView和UICollectionViewFlowLayout.关于UICollectionView的详细讲解请参考http://blog.csdn.net/meegomeego/article/details/16953489 一.实现layout的DecorationView // // FWBookSh…
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$start adbd 其中setprop是用来设置系统属性的,这里不需要root权限,su即可.可通过adb shell设置,亦可通过手机上安装的Android terminal设置. 2. 电脑端的设置和使用 连接adb,其中phone_ipaddress和portnumber是指手机的ip和前面设置…
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一>实现了一个简陋的JSON转Model的库,不过还存在很多问题.下面我会尝试一个个去解决. 2. 存在问题及解决思路 2.1 没有考虑JSON数据并不一定是NSDictionary类型 有时候JSON并不一定是NSDictionary类型,可能是一个字符串,也可能是NSData类型的数据.不过不管是哪种类型,统…
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还兼容老的方法,但是新的既然出来了,肯定研究新的了.但是网上几乎都是旧的方法,所以,唯有自己看官方的文档,慢慢一步一步研究了.在研究的过程中,发现,他跟微信支付的差别蛮大的.好了废话不多说了,下面直接来干货. 首先,你得去蚂蚁金服开放平台申请一个应用,地址:https://openhome.alipa…
由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库基本全了,现在开放该数据库,目的是为了让可能需要该类型做相关研究准备的,至于实时天气的采集本项目也做了,暂时不公布,如果有需求的,单独好我联系,原因很简单,人家小站也不容易,大家一起拖,容易搞死,主要大家都不能用. .NET开源项目:[目录]本博客其他.NET开源项目文章目录 本文原文地址:分享20…
微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候,可以通过输入对方的微信号,也可以扫一扫对方的二维码.扫码支付,作为,微信支付里面,不可或缺的一个功能,对商品的支付提供了极为方便的体验,用途也非常的多.例如我们在地铁.公交站常见的那些自动售货机(不错,就是那种投硬币,就可以自动出货的那种机器)中都用到.以前,那种机器,只能通过投硬币或…
微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不牛逼吗?现在的社会,人多多少少都有或轻或重的“强迫症”.就是,看到有未读消息,都要去看一下.特别是现在的微信,大部分可以几个小时不看手机QQ有没有新消息来,但是这大部分人绝对做不到一个小时不看微信有没有消息来.现在的微信,真特么是神一样的存在,几乎人人手机上都会有微信.而且,如果你的公众号是服务号的…
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.ArrayList; import java.util.List; public class Ques0105 { public static void main(String[] args) { List<String> list = new ArrayList…
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.HashSet; import java.util.Set; public class Ques0104{ public static void main(String[] args){ Obj obj01 = new Obj("张三"); Obj obj…
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; public class Ques0103 { public static void main(String[] args){ System.out.println(delete("你好", "你").equals("好")); System.out…
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [AutoMapper官方文档]DTO与Domin Model相互转换(下) 未完待续... 本篇目录: Mapping Inheritance-映射继承 Queryable Extensions (LINQ)-扩展查询表达式 Configuration-配置 Conditional Mapping-条件…
在[Java并发编程实战]-–"J.U.C":CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形.其主要从两方面进行了改造:节点的结构与节点等待机制.在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁.入队列.释放锁等实现都与头尾节点相关,并且每个节点都引入前驱节点和后后续节点的引用:在等待机制上由原来的自旋改成阻塞唤醒.其结构如下: 知道其结构了,我们再看看他的实现.在线程获取锁时会调用AQS的acquire()方法,该方法第一次尝试获取锁如果失败,会将…
在上篇博客([Java并发编程实战]----- AQS(二):获取锁.释放锁)中提到,当一个线程加入到CLH队列中时,如果不是头节点是需要判断该节点是否需要挂起:在释放锁后,需要唤醒该线程的继任节点 lock方法,在调用acquireQueued(): if (shouldParkAfterFailedAcquire(p, node) && parkAndCheckInterrupt()) interrupted = true; 在acquireQueued()中调用parkAndChec…
上篇博客稍微介绍了一下AQS,下面我们来关注下AQS的所获取和锁释放. AQS锁获取 AQS包含如下几个方法: acquire(int arg):以独占模式获取对象,忽略中断. acquireInterruptibly(int arg): 以独占模式获取对象,如果被中断则中止. acquireShared(int arg): 以共享模式获取对象,忽略中断. acquireSharedInterruptibly(int arg)以共享模式获取对象,如果被中断则中止. tryAcquire(int…
上篇博文([Java并发编程实战]-----"J.U.C":CyclicBarrier)LZ介绍了CyclicBarrier.CyclicBarrier所描述的是"允许一组线程互相等待,直到到达某个公共屏障点,才会进行后续任务".而CountDownlatch和它也有一点点相似之处:CountDownlatch所描述的是"在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待".在JDK API中是这样阐述的: 用给定的计数 初始化…
在上篇博客([Java并发编程实战]-----"J.U.C":Semaphore)中,LZ介绍了Semaphore,下面LZ介绍CyclicBarrier.在JDK API中是这么介绍的: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用.因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier.…
ReentrantLock实现了标准的互斥操作,也就是说在某一时刻只有有一个线程持有锁.ReentrantLock采用这种独占的保守锁直接,在一定程度上减低了吞吐量.在这种情况下任何的"读/读"."读/写"."写/写"操作都不能同时发生.然而在实际的场景中我们就会遇到这种情况:有些资源并发的访问中,它大部分时间都是执行读操作,写操作比较少,但是读操作并不影响数据的一致性,如果在进行读操作时采用独占的锁机制,这样势必会大大降低吞吐量.所以如果能够做…
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1229 { public static void main(String[] args){ Student stu01 = new Student("001"); Student stu02 = new Student(null); List<Student> students = new ArrayLi…
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1228 { public static void main(String[] arg){ Student stu01 = new Student("001"); Student stu02 = new Student("001 "); // stu02中001后面有个空格 List<Stud…
package Dec2016; public class Ques1227 { public static void main(String[] args){ } { c = 1; } int c = 2; int a = b; int b = 3; } 今日问题: 请问主程序输出结果是什么?(点击以下"[Java每日一题]20161227"查看20161226问题解析) 题目原发布于公众号.简书:[Java每日一题]20161227,[Java每日一题]20161227 注:wek…
package Dec2016; public class Ques1226 { static{ num = 1; } public static int num = 2; public static void main(String[] args) { System.out.println(num); } } 今日问题: 请问主程序输出结果是什么?(点击以下"[Java每日一题]20161226"查看20161223问题解析) 题目原发布于公众号.简书:[Java每日一题]20161…
package Dec2016; public class Ques1223 { public static void main(String[] args){ Integer obj = Integer.valueOf(args[args.length - 1]); int i = obj.intValue(); if (args.length > 1) { System.out.println(i); } if (args.length > 0) { System.out.println(…
前言 不知不觉来百度已有半年之久,这半年是996的半年,是孤军奋战的半年,是跌跌撞撞的半年,一个字:真的是累死人啦! 我所进入的团队相当于公司内部创业团队,人员基本全部是新招的,最初开发时连数据库都没设计,当时评审需求的时候居然有一个产品经理拿了一份他设计的数据库,当时我作为一个前端就惊呆了...... 最初的前端只有我1人,这事实上与我想来学习学习的愿望是背道而驰的,但既然来都来了也只能独挑大梁,马上投入开发,当时涉及的项目有: ① H5站点 ② PC站点 ③ Mis后台管理系统 ④ 各种百度…
[iOS 单例设计模式]底层解析与运用 一.单例设计名词解释: (官方解释)单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例.(形象比喻)程序 — 公司   单例实例 - 管理员   单例设计模式就好比一家公司在创建到垮台  只招一个管理员.并且至始至终不换.当然这个管理员有直属的职责方法  [UIApplication sharedApplication].keyWindow  这里的UIApplication 就是管理员   sharedApplication 就是唯…
信号量Semaphore是一个控制访问多个共享资源的计数器,它本质上是一个"共享锁". Java并发提供了两种加锁模式:共享锁和独占锁.前面LZ介绍的ReentrantLock就是独占锁.对于独占锁而言,它每次只能有一个线程持有,而共享锁则不同,它允许多个线程并行持有锁,并发访问共享资源. 独占锁它所采用的是一种悲观的加锁策略,  对于写而言为了避免冲突独占是必须的,但是对于读就没有必要了,因为它不会影响数据的一致性.如果某个只读线程获取独占锁,则其他读线程都只能等待了,这种情况下就限…
注:由于要介绍ReentrantLock的东西太多了,免得各位客官看累,所以分三篇博客来阐述.本篇博客介绍ReentrantLock基本内容,后两篇博客从源码级别分别阐述ReentrantLock的lock.unlock实现机制. ReentrantLock,可重入的互斥锁,是一种递归无阻塞的同步机制.它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大.灵活的锁机制,可以减少死锁发生的概率. 对于ReentrantLock,官方有详细…
我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角度对Java中强大的容器类库做了一个简单总结而第二篇专门针对容器类库中的Collection部分进行了总结.这篇博文将对容器类库中的Map部分进行一个整理总结. 一.初识Map Map:一组成对的“键值对”对象,允许你使用键来查找值.(注:Map其实是将键与值形成的二元组按照一维线性的方式组织起来,…