自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MinggeQingchun的博客

记录就是一种积累,积累就是一种提高,提高就是一种成长!

  • 博客(1092)
  • 资源 (7)
  • 收藏
  • 关注

原创 Docker - Docker详解及使用

在说Docker之前,我们先说说传统服务器传统的独立服务器,它是一个独立的硬件设备,可以理解成是一台放在机房的高配置电脑;有独立的处理器、内存、硬盘、带宽等资源,可根据需求安装各种操作系统以及配置各种环境这种服务器缺点:1、花费成本较高(时间成本,资金成本)2、应用迁移比较麻烦,需要重新购买服务器,安装操作系统,配置运行环境,部署应用因此出现了虚拟化技术,主要分为硬件虚拟化(hardware-level-virtualization)操作系统虚拟化(os-level-virtua

2022-04-08 15:54:46 220

原创 Java--数组和集合区别

博主之前是做移动端iOS开发的发现一直有一个疑问,比如Java中数组

2022-03-05 19:58:12 1137 2

原创 Java--多态;抽象类;接口

一、抽象类1、final关键字 1.1、final修饰的类无法继承。 1.2、final修饰的方法无法覆盖。 1.3、final修饰的变量只能赋一次值。 1.4、final修饰的引用一旦指向某个对象,则不能再重新指向其它对象,但该引用 指向的对象内部的数据是可以修改的。 1.5、final修饰的实例变量必须手动初始化,不能采用系统默认值。 1.6、final修饰的实例变量一般和static联合使用,称为常量。 public ...

2021-11-01 16:26:00 558

原创 iOS-isa指针;objc实例对象、类、元类、根类、根元类

11

2021-10-07 10:53:07 391

原创 iOS-class方法和objc_getClass方法

根据上一篇博客iOS-class、object_getClass、objc_getClass、objc_getMetaClass区别的研究发现,qi's

2021-10-07 10:12:25 671

原创 iOS-class、object_getClass、objc_getClass、objc_getMetaClass区别

对于这几个方法的区别,首先需要了解 OC 类的数据结构,(任何runtime的文章都会介绍的)对于 class 和 object_getClass 和 objc_getClass 三种方法,首先:全部返回 Class 类对象class 方法class 方法无论是类对象还是实例对象都可以调用,可以嵌套,返回永远是自身的类对象。如:Person *p = [[Person alloc]init];Class *pClass == [p class] == [ [p class]class] .

2021-10-07 09:17:30 400

原创 iOS-Runtime之class_addMethod给类动态添加方法

一、简介/** * Adds a new method to a class with a given name and implementation. * * @param cls The class to which to add a method. * @param name A selector that specifies the name of the method being added. * @param imp A function which is the imple

2021-10-05 22:18:13 582

原创 iOS-Runtime消息发送、转发机制

在iOS开发中我们经常会遇到这样的crashunrecognized selector sent to instance 0x******

2021-10-04 22:23:07 258

原创 iOS-Runtime之SEL、IMP、Method

它们之间的关系可以这么解释:一个类(Class)持有一个分发表,在运行期分发消息,表中的每一个实体代表一个方法(Method),它的名字叫做选择子(SEL),对应着一种方法实现(IMP)。具体的分析如下:...

2021-10-04 21:14:40 336

原创 iOS-Runtime之unrecognized selector sent to instance/class 防护Crash

可在GitHub上下载示例源代码Demo,欢迎点赞给星,谢谢!一、报错在iOS开发中我们经常会遇到这样的crashunrecognized selector sent to instance 0x******二、报错原因报错原因就是我们调用了一个不存在的方法。用OC的消息机制来说就是:消息的接收者找不到对应的selector,这样就启动了消息转发机制,我们可以通过代码在消息转发的过程中告诉对象应该如何处理未知的消息,防止程序crash。默认实现是抛出下面的异常,这样也就crash了.

2021-10-04 08:04:45 192

原创 Java--Java版本和JDK版本

对于Java初学者,经常会听到同事,或看到网上Java版本和JDK版本不一的叫法,不明白这两者到底什么关系?其实博主当年初学Java时也有这样的困惑,今天我们就来好好探讨一下,如有不对之处,请加以指正,不喜勿喷,谢谢! Java版本叫法:Java6、Java8、Java11、Java13 (当前最新版本Java17) 等这一类 “Java X” 的Java版本名称同时又会听到,看到 JDK版本叫法:JDK1.6、JDK1.8等这种“J...

2021-10-01 17:23:17 11314 3

原创 Java--HashMap

一、HashMapHashMap 是一个散列表,它存储的内容是键值对(key-value)映射。散列表(哈希表)是一种空间换时间的存储结构,是在算法中提升效率的一种比较常用的方式。散列表,是指可以通过关键字key直接访问到内容value的一种数据结构。可以一个value对应多个key,但是一个key只能对应一个value,其中是通过key映射到一个位置上,来直接访问value。二、HashMap数据结构1、HashMap源码实现HashMap 继承于AbstractMap,实现了 M

2021-07-01 10:31:13 145 1

原创 iOS - iOS8.0 至 iOS15.0 版本变化

本文主要讲述iOS8.0系统至iOS14系统的变化差异,博主踩坑历程,仅为iOS开发提供参考,不包括UI一、iOS8.01.定位功能使用改变// 判断定位操作是否被允许if([CLLocationManager locationServicesEnabled]) { locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; [locationManager start......

2021-06-02 18:03:17 905 3

原创 MacOS-MacAPP通过纯代码不依赖storyboard/xib加载UI主界面

在网上下载了很多MacOS端的APP开源项目和代码,发现基本都是通过storyBoard或xib加载UI;但是我想和iPhone一样在AppDelegate中创建主UIWindow,然后设置自定义的rootViewController,如下图:在网上找了很久,发现可参考的资料太少了,但是功夫不负有心人啊,博主最终解决了我们如何通过纯代码而不依赖storyboard/xib加载UI主界面呢?1、删除项目中的Main.storyboard或者xib文件要在项目Info.plist中删除M

2021-05-06 09:49:21 505 6

原创 MacOS-MacAPP使用Main.storyboard启动视图程序踩坑

由于主做移动端APP的iOS开发,对于Mac端的APP开发较少,我也本以为,简单的以为会和iOS差不多雄赳赳,气昂昂没想到啊,真是没想到啊,帅不过3秒!!!尴尬!!!在程序视图启动入口处就挂了,踩了一些坑,创建macOS项目步骤我就不再介绍了,可参考博文本人使用OC创建的macOS项目,勾选了storyboard,创建好项目之后,界面如下:一、坑一:删除ViewController自定义Controller,运行APP还是空白window默认有ViewController.h和V

2021-05-02 12:30:05 577 2

原创 Java--Tomcat在Eclipse上正常启动服务,但浏览器无法访问,报404!

问题:Tomcat在Eclipse里面能正常启动而在浏览器中访问http://localhost:8080/不能访问,且报404错误;同时其他项目页面也不能访问。关闭Eclipse里面的Tomcat,在tomcat安装目录下双击startup.bat手动启动Tomcat服务器。访问htt://localhost:8080/能正常访问Tomcat管理页面。导致原因: ...

2019-03-19 19:34:45 2095

原创 iOS-symbolicatecrash符号化Crash文件

在我们的app上线了时候,还是会或多或少的存在一些闪退问题,这时候已经无法去调试获取崩溃信息。有些crash日志会传到后台(前提是接口给你提供,你自己也做了这个功能)但是有些crash日志是在用户的iPhone等设备上才能找到的。对于开发人员来说,有些crash日志不需要用户提供就可以找到日志文件,这时候就要看闪退的app的包是不是在你本机Mac上进行打包的:本机: 那就可以直接用Xcode的Or...

2018-06-19 15:30:31 881 1

原创 iOS-iPad强制竖屏

新建项目时我们都会选择“Universal”(同时适用于iPhone和iPad),但是iPad有好几个方向需要适配,在iPad应用开发时如何让设备只支持横屏(landscape)或竖屏模式,设置方法如下:通过Xcode中的plist文件设置“Supported interface orientations (iPad)”,如果只支持横屏的话,只选择横屏左和横屏右,这种方法实质是在xxx_info....

2018-05-22 17:10:36 5825 1

转载 iOS-watchdog看门狗机制

背景应用 100% Loss 时完全无法启动,一直崩溃。彻底切断网络连接正常启动,调试模式状态下等待时间非常久,但可以启动,并伴随 UI 微卡。强烈的预感这是线程阻塞。前一段时间被 Core Data Concurrency 折腾的够呛,看见线程问题就略有些心慌。原因首先看了 crash log,一如猜测,的确是卡在了主线程;意料之外的是,无数次闪退只留下了一份崩溃日志,如下所示:第一次见,读了一...

2018-05-02 13:41:59 1729

原创 Java--Mac安装配置Tomcat

在这里作为新手安装Tomcat,肯定会问:安装tomcat和jdk必须统一版本么?jdk1.7的必须安装tomcat7.0版本么?其实这个答案只能说不一定,但是尽量保持版本一致;因为java向下兼容,也就是说,JDK8配置tomcat7也没问题,但是JDK,eclipse,tomcat的位数 和你电脑系统的位数要统一 比如都是32位 或者都是64位。JDK最好安装1.7以上,有些新出的特性

2017-10-26 16:44:46 552

原创 Java--static关键字,main方法说明

static关键字的特点    * a:随着类的加载而加载 * b:优先于对象存在 * c:被类的所有对象共享  * 举例:咱们班级的学生应该共用同一个班级编号。  * 其实这个特点也是在告诉我们什么时候使用静态?   * 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。  * 举例:   * 饮水机(用静态修饰)   * 水杯(不能用静态修饰)

2017-02-15 21:54:00 625

原创 Java--成员变量和实例变量,静态变量和局部变量

在类中的位置不同* 成员变量:在类中方法外* 局部变量:在方法定义中或者方法声明上在内存中的位置不同* 成员变量:在堆内存(成员变量属于对象,对象进堆内存)* 局部变量:在栈内存(局部变量属于方法,方法进栈内存)生命周期不同* 成员变量:随着对象的创建而存在,随着对象的消失而消失* 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失初始化值不同* 成员

2017-02-15 13:16:52 1017

原创 Java--Mac下JDK的安装路径

苹果的Mac系统已经包含了完整的J2SE(Java SE),其中就有JDK和JVM(苹果叫VM),如果要升级JDK,需要自己下载安装。 在Mac系统中,JDK的安装路径与windows不同,默认目录是:/System/Libray/Frameworks/JavaVM.Framwork/。 在这个目录下有个Versions目录,里面有不同版本的JDK。首先,让我们打开硬盘:Finder-->前往

2017-02-09 11:22:19 3057

原创 Java--javac Hello.java找不到文件

刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,首先来说一个比较常见的错误,如下:一般编写新的程序时,都是从Hello,World开始的,比如在DOS上运行javac Hello.java时,就会报错:找不到文件 遇到这个问题,首先就要从以下几方面排除1、检查环境变量是否配置正确,例如输出一个javac指令,能输出帮助信息,说明配置信息无...

2017-02-08 21:21:18 15236 7

原创 Swift和Objective-C交互

Swift是对OC的一个优雅的包装,所有的底层库、框架都是使用OC来实习的。所以Swift可以无缝的和Cocoa、OC兼容调用。Swift通过和OC兼容,就可以在Swift程序中大量使用OC API函数。尽管Swift和OC可以相互调用,但是在真实项目中,Swift调用C/C++要常见,因为采用Swift开发,必然要采用大量的稳定的OC开源库首先,就先来说说Swift是如何调用OC文件的

2017-01-20 09:38:03 627

转载 iOS前端与后台交互技术实现及技术细节

摘要今天由我给大家进行一场技术分享,分享的主题也是大家还没有工作或者才去工作不久或者是正处于试用期的同学非常关心的一个问题,就是我们做iOS,HTML5,安卓等前端开发的如何跟我们的公司后台进行交互. 面临后台我们应该说些什么? 应该怎么去规避一些不该属于自己的任务而被后台强加于自己?等等问题.目录 1.前端请求数据URL的谁来写? 2.接口文档主要由谁来

2016-05-20 10:40:03 1448 1

原创 iOS-苹果开发者账号类型以及区别

一、苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:1、个人(Individual)2、组织(Organizations)组织类又分为2个小类:(1)公司(Company)(2)企业(Enterprise)3、教育机构(Educational Institutions)苹果官方说明:点击打开链接二、四种账号的区别(Individual,...

2016-04-16 12:31:25 9277 2

原创 Java--web.xml加载过程;文件标签详解

一、web.xml加载过程我们在启动Javaweb项目时,首先需要启动一个容器(如Tomcat,JBoss)WEB加载web.xml过程如下:1、在启动Web项目时,容器(如Tomcat,JBoss)会读web.xml配置文件中的两个节点<listener> 和 <context-param>2、接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能够使用这个上下文3、接着容器以<context-param>的na

2022-08-15 21:14:02 15

原创 Java--SpringMVC概述,运行流程

一、SpringMVC概述MVC 设计模式一般指 MVC 框架,M(Model)指数据模型层,V(View)指视图层,C(Controller)指控制层。使用 MVC 的目的是将 M 和 V 的实现代码分离,使同一个程序可以有不同的表现形式。其中,View 的定义比较清晰,就是用户界面开发Servlet 及 JSP时,JavaBean 相当于 Model,Servlet 相当于 Controller,JSP 相当于 View。视图层(View):负责格式化数据并把它们呈现给用户,包括数据展示、用户

2022-08-14 07:19:52 30

原创 Java--Spring之IoC控制反转;基于注解的DI

基于XML配置文件的DI请参考上文https://blog.csdn.net/MinggeQingchun/article/details/122880488二、基于注解的DI

2022-08-13 10:46:13 68

原创 Java--Spring之AOP面向切面编程

一、JDK动态代理具体可参考之前博文Java--JDK动态代理(AOP)在这里只做简单说明动态代理是指代理类在程序运行时进行创建的代理方式。这种情况下,代理类并不是在Java代码中定义的,而是在运行时根据Java代码中的“指示”动态生成的。(动态代理中的代理类并不要求在编译期就确定,而是可以在运行期动态生成,从而实现对目标对象的代理功能)相比于静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类的函数动态代理又分为两种方式(1)JDK动态代...

2022-08-13 06:58:02 30

原创 Java--Spring之IoC控制反转;基于XML配置文件的DI

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架控制反转(Inversion of Control,缩写IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。通过容器实现对象的创建,属性赋值,依赖的管理。依赖:classA 类中含有 classB 的实例,在 classA 中调用 classB 的方法完成功能,即 classA 对 classB 有依赖Ioc 的实现:1、依赖

2022-08-13 06:49:21 25

原创 SpringCloud - Spring Cloud 之 Stream构建消息驱动微服务框架;Spring Cloud Alibaba集成RocketMQ(二十四)

在微服务的开发过程中,会经常用到消息中间件,通过消息中间件在服务与服务之间传递消息,不管使用哪款消息中间件,如RabbitMQ、Kafka和RocketMQ,那么消息中间件和服务之间都有耦合性(如原来使用RabbitMQ,要替换为RocketMQ,那么微服务都需要修改,变动会比较大),因为这两款消息中间件有一些区别,如果我们Spring Cloud Stream来整合我们的消息中间件,就可以降低微服务和消息中间件的耦合性,做到轻松在不同消息中间件间切换。监听队列,用于消费者的队列的消息接收。......

2022-08-12 22:22:11 80

原创 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务;TCC事务模式机制(二十三)

的分支事务纳入到全局事务的管理中通俗来说,Seata的TCC模式就是手工版本的AT模式,它允许你自定义两阶段的处理逻辑而不需要依赖AT模式的undo_log回滚表。

2022-08-11 22:14:01 50

原创 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务;Seata TC Server集群部署(二十二)

在Spring Boot单体项目中,使用了多数据源,就要保证多个数据源的数据一致性,即产生了分布式事务的问题,采用Seata的AT事务模式来解决该分布式事务问题。-n:Server node,在多个 TC Server 时,需区分各自节点,用于生成不同区间的 transactionId 事务编号,以免冲突;5、启动seata-server;seata-spring-boot-starter 依赖,但是有些配置有问题,需要自己导入和Seata Server 版本相同的依赖。...

2022-08-09 21:01:10 167

转载 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务;AT事务模式机制,读写隔离(二十一)

6、分支事务提交前,向TC注册分支,申请product表中,主键值等于1的记录的全局锁(在当前的同一个全局事务id范围内是可以申请到全局锁的,不同的全局事务id才会排斥);被其他事务持有,则释放本地锁(回滚 SELECT FOR UPDATE 语句的本地执行)并重试,这个过程中,查询是被 block 住的,直到。如果 tx1 的二阶段全局回滚,则 tx1 需要重新获取该数据的本地锁,进行反向补偿的更新操作,实现分支的回滚;5、提交本地事务,并把本地事务的执行结果(即分支事务回滚的结果)上报给 TC;....

2022-08-08 21:10:58 7

原创 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务;AT事务模式(二十)

Seata事务组编号 seata.tx-service-group,用于TC集群名,一般格式为:${spring.application.name}-group。Seata事务组编号 seata.tx-service-group,用于TC集群名,一般格式为:${spring.application.name}-group。Seata虚拟组和分组的映射 seata.service.vgroup-mapping.${seata.tx-service-group}=default。................

2022-08-07 09:00:12 139

原创 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务;集成Nacos配置中心(十九)

2)因Nacos使用mysql持久化,需要先开启 mysql服务(手动安装或者docker启动,docker启动需要先启动docker和挂载mysql服务,不然重启docker或者mysql导致mysql数据丢失)Seata事务组编号 seata.tx-service-group,用于TC集群名,一般格式为:${spring.application.name}-group。中,将配置方式(config.type)修改为 Nacos,并对 Nacos 配置中心的相关信息进行配置。...............

2022-08-06 19:34:55 28

原创 SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务详解;部署(十八)

)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成[由当前业务逻辑多个不同操作构成事务通常由操纵语言或编程语言(如SQL,C++或Java)书写的的执行所引起,并用形如begin transaction和end transaction语句(或)来界定。......

2022-08-06 18:33:31 77

原创 SpringCloud - Spring Cloud Alibaba 之 SkyWalking 分布式链路跟踪;SkyWalking集群(十七)

Skywalking集群是将skywalkingoap作为一个服务注册到nacos上,只要skywalkingoap服务没有全部宕机,保证有一个skywalkingoap在运行,就能进行跟踪(SkyWalking搭建集群是非必须的,生产中不搭集群也是可以的,因为这个只是调用链路跟踪,skywalkingoap跟踪服务如果宕机了,完全不会影响正常业务)搭建一个skywalkingoap集群需要(1)至少一个Nacos(nacos也可集群)...

2022-08-02 11:55:44 49

UILabel的text设置不同颜色、字体

UILabel的text设置不同颜色、字体

2016-09-19

导航栏渐变透明

导航栏渐变透明

2016-09-19

cell自适应高度

cell自适应行高

2016-09-19

Xcode的Targets多版本构建

使用Xcode的Targets进行多版本构建

2016-08-18

Xcode的Targets进行多版本构建

使用Xcode的Targets进行多版本构建

2016-08-17

使用Xcode的Targets进行多版本构建

使用Xcode的Targets进行多版本构建,使用相同的代码,却使用不同的资源文件

2016-08-17

UIlabel根据文本、字体获得label宽度;自适应宽高

UIlabel根据文本、字体获得label宽度;自适应宽高

2004-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除