02 2019 档案
摘要:关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。 所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): sizeof(s...
阅读全文
摘要:C语言中常用的几种基本数据类型有 基本数据类型的长度 short =2 unsigned short=2 char =1 unsigned char=1 int =4 unsigned int=4 long =8 unsigned long=8 float=4 float没有unsigned double=8 double没有unsigned 占位符的基本介绍 ...
阅读全文
摘要:Java的八种基本类型:(按字节来分)boolean 布尔型 1个字节 8bit(8位)byte 字节类型 1个字节char 字符类型 2个字节short 短整型 2个字节int 整型 4个字节float 浮点型(单精度)4个字节long 长整型 8个字节double 双精度类型 8个字节Java中
阅读全文
摘要:从一个例子说起: int main(void){ union{ int i; struct{ char a : 1; char b : 1; char c : 2; }bits; }n...
阅读全文
摘要:1. TCP Socket编程 TCP是面向连接的,安全可靠的传输层协议。TCP的程序基本框架设计图: TCP的程序基本框架设计图.jpg 注意:Socket通信一定有要服务端和客户端。 1.1 TCP Socket客户端 客户端的工作流程:首先调用socket函数创建一个Socket,然后指定服务端的IP地址和端口号,就可以调用sendto将字符串传送给服务器端,并可以调用recv...
阅读全文
摘要:1. UDP Socket编程 先讲一讲UDP编程,因为比TCP要简单多了。首先,我们需要明白UDP是用户数据报协议,英文名为User Datagram Protocol,它是面向无连接的。 注意:Socket通信一定有要服务端和客户端。 1.1 UDP Socket客户端 客户端的工作流程:首先调用socket函数创建一个Socket,然后指定服务端的IP地址和端口号,就可以调用send...
阅读全文
摘要:1.一些概念 1.浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存。 深Copy:内存的复制,两块内存是完全不同的, 也就是两个对象指针分别指向不同的内存,互不干涉。 2.atomic是Objc使用的一种线程保护技术, 基本上来讲,是防止在写未完成的时候被另外一个线程读取, 造成
阅读全文
摘要:Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务: 群体数据类型 (数组、集合等) 程序包 字符串管理 日期和时间管理 原始数据块管理 偏好管理
阅读全文
摘要:网络通讯三要素 TCP & UDP 三次握手 断开连接的四次握手 Socket套接字 了解了上面的概念,我们开始演练一下Socket
阅读全文
摘要:socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同
阅读全文
摘要:一、网络各个协议:TCP/IP、SOCKET、HTTP等 网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象; 传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议对应于应用层 tcp协议对应于传输层 ip协议对应于网络层 三者本质上没有可比性...
阅读全文
摘要:其实写这个socket一开始我是拒绝的。 因为大家学C 语言和linux基础时肯定都有接触,客户端和服务端的通信也都了解过,加上现在很多开放的第三方库都不需要我们来操作底层的通信。 但是来了!!! 但是!还是想写。底层的东西最好了解下。 好了 正经了!!!! 效果 由于5M的上传限制GIF可能看不清 我再截两张图吧 ...
阅读全文
摘要:多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。 一、线程创建与启动 线程创建主要有三种方式: - (id)init; // designated initializer - (id...
阅读全文
摘要:原文地址:https://www.jianshu.com/p/2d57c72016c6本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲解+总结的文章了。通过本文,您将了解到: 1. GCD 简介 2. GCD 任务和队列 3. GCD
阅读全文
摘要:在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所
阅读全文
摘要:一、概述 代理是一种设计模式,其目的是为其他对象提供一个代理以控制对某个对象的访问,代理类负责为委托类预处理消息,过滤消息并转发消息以及进行消息被委托类执行后的后续处理。为了保持行为的一致性,代理类和委托类通常会实现相同的接口。 按照代理的创建时期,代理类可分为两种: 静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译,也就是说在程序运行前代理类的.class文件就已经...
阅读全文
摘要:Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修
阅读全文
摘要:代理的概念:为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 抽象对象角色:就是代理类和委托类共同的接口,声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。 ...
阅读全文
摘要:预备知识: Java注解基础 Java反射原理 Java动态代理 一、布局文件的注解 我们在Android开发的时候,总是会写到setContentView方法,为了避免每次都写重复的代码,我们需要使用注解来代替我们做这个事情,只需要在类Activity上声明一个ContentView注解和对应的布局文件就可以了。 @ContentView(R.layout.activity_main) p...
阅读全文
摘要:相关类型: java.lang.Class java.lang.reflect.Constructor java.lang.reflect.Field java.lang.reflect.Method java.lang.reflect.Modifier 作用: 1、反编译 .class –> .java 2、通过反射机制访问java对象的属性、方法、构造方法等。这个在android中经常用到...
阅读全文
摘要:一、元注解 元注解的作用就是负责注解其他注解。 1.@Target @Target用来指明注解所修饰的目标,包括packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。 取值(ElementType)有: CONSTRUCTOR:用于描述构造器 FIELD:用于描述域 LOCAL...
阅读全文
摘要:现在市面上很多框架都有使用到注解,比如butterknife库、EventBus库、Retrofit库等等。也是一直好奇他们都是怎么做到的,注解的工作原理是啥。咱们能不能自己去实现一个简单的注解呢。 注解(Annotation)是JDK1.5新增加功能,注解其实就是添加在类、变量、方法、参数等前面的一个修饰符一个标记而已(不要把他想的太复杂)。比如下面的代码里面@Overrid...
阅读全文
摘要:(原标题:搜索引擎百度已死) 本文来自微信公众号:新闻实验室,作者:方可成。 最近半年使用过百度的朋友,可能会注意到一个现象:你在第一页看到的搜索结果,基本上有一半以上会指向百度自家产品,尤其频繁出现的是“百家号”。 百家号是百度的自媒体平台,刚推出的时候曾经主打过优质作者和高品质内容,后来几经调整
阅读全文
摘要:最近看HashMap源码,遇到了这样一段代码: 于是我整理学习了以下知识:1.十进制转二进制 原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。 比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于
阅读全文
摘要:1、AndroidX简介 点击查看Android文档中对androidx的简介 按照官方文档说明 androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。 由于在后续版本中,会逐步放弃对suppo
阅读全文
摘要:什么是反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(注意关键词:运行状态)换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其f...
阅读全文
摘要:今天安装了Android Studio 3.2,打开一个旧工程,编译提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"网上也有解决办法,就是下载旧版的NDK,
阅读全文
摘要:程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架,极大地节省了开发者开发的时间,在这里我进行了一下整理,这样可以使我们在使用到时快速的查找到,希望对大家有所帮助! 1. Retrofit 一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于An
阅读全文
摘要:1、BeautifulRefreshLayout-漂亮的美食下拉刷新https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFood2、Material Design-动画风格的选项卡tab切换功能h
阅读全文
摘要:android官方demo地址都放在了github上: https://github.com/googlesamples
阅读全文
摘要:Arrays.asList() 是将数组作为列表 问题来源于: 期望的输出是 list里面也有4个元素,也就是size为4,然而结果是1. 原因如下: 在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数,但是因为int[] 本身就是一个类型,所以a变量作为参数传递时,编译器认
阅读全文
摘要:常量 Java中: class StaticDemoActivity { public static final String LOAN_TYPE = "loanType"; public static final String LOAN_TITLE = "loanTitle"; } Kotlin中
阅读全文
摘要:之前写了一篇Kotlin中常量和静态方法的文章,最近有人提出一个问题,在companion object中调用外部的成员变量会调用不到,这才意识到问题,本篇文章会带着这个疑问来解决问题。 一、 object关键字 object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明。 1、对象
阅读全文