ICode9

精准搜索请尝试: 精确搜索
  • iOS开发——Block内存管理实例分析2020-05-08 16:08:58

    说道block大家都不陌生,内存管理问题也是开发者最头疼的问题,网上很多讲block的博客,但大都是理论性多点,今天结合一些实例来讲解下。 存储域 首先和大家聊聊block的存储域,根据block在内存中的位置,block被分为三种类型: NSGlobalBlock NSStackBlock NSMallocBlock 从字面意思上大家也

  • 是时候了解Java Socket底层实现了2020-03-24 17:05:31

    在Java中,提供了一系列Socket API,可以轻松建立两个主机之间的连接、读取数据,那底层到底怎么实现,很少人去关心。这其实最终还是通过调用操作系统提供得Socket接口完成(TCP/IP是由操作系统来实现)。 在这里不讨论TCP的三次握手四次挥手等,只讨论一下操作系统提供的接口,以及这些接口的

  • SpringBoot三分钟整合Kaptcha图形验证码2020-02-29 14:02:24

      Kaptcha介绍 介绍摘自:https://www.jianshu.com/p/a3525990cd82 Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的

  • Bridge桥接模式2020-02-28 16:44:23

    文章目录Bridge patternStructureExampleSummary Bridge pattern The bridge pattern is a design pattern used in software engineering that is meant to “decouple an abstraction from its implementation so that the two can vary independently”, introduced by

  • Lock接口及其实现2020-01-27 15:40:30

    Locks包层次结构: Lock接口: 总结: 1.lock()最常用 2.lockInterruptibly()方法一般更加昂贵,有的impl可能没有实现lockInterruptibly(),只有真的需要效应中断时才使用,使用之前看看impl对该方法的描述。 Condition: ReentrantLock: 重入 count!=0 说明锁被占用 判断owner是否

  • iOS 技术篇:从使用到了解block底层原理 (二)2019-11-27 20:56:45

    block实质 序言 上篇文章中主要通过简单的demo展示了block的使用场景,本篇将基于上篇文章iOS 技术篇:从使用到了解block底层原理 (一)进一步了解block底层的实现原理。 block作为一种"带有自动变量值的匿名函数",在实际编译时,我们无法转换成我们能够理解的源代码,但clang(LLVM编译器)

  • 【原】iOS开发进阶(唐巧)读书笔记(二)2019-10-31 16:50:32

    第三部分:iOS开发底层原理 1、Objective-C对象模型 1.1 isa指针 NSObject.h部分代码: NS_ROOT_CLASS @interface NSObject <NSObject> { Class isa; } objc.h部分代码: typedef struct objc_class *Class; typedet struct objc_object { Class isa; } *id; 每个对象都有一个

  • 由一次线上故障来理解下 TCP 三握、四挥 & Java 堆栈分析到源码的探秘2019-10-19 15:54:52

    本文导读: 生产故障场景介绍 TCP 建连三次握手过程 TCP 断连四次挥手过程 结合 Java 堆栈剖析源码 再从堆栈中找到"罪魁祸首" 问题优化方案总结 1、生产故障场景介绍 业务简介: 该服务主要是提供对外的代理接口,大部分接口都会调用第三方接口,获取数据后做聚合处理后,提供给客户端使

  • InteliJ idea兼容性问题2019-10-11 23:56:08

    最近在win10机器上安装InteliJ idea2006.2版本时,发现pom文件总是创建失败。 idea的报错日志如下: 2019-10-11 14:40:23,125 [ 137608] ERROR - Templates.impl.DefaultTemplate - IntelliJ IDEA 2016.2.1 Build #IU-162.1447.26 2019-10-11 14:40:23,125 [ 137608] ERROR - Tem

  • Runtime05Block原理2019-09-14 21:43:19

    例子1 main.m文件的代码如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { int age = 1; void (^myBlock)(int, int) = ^(int a, int b) { NSLog(@"a = %d, b = %d", a, b);

  • rocketmq源码解析请求处理从client获取消费者状态2019-08-25 16:43:39

    说在前面 请求处理 从client获取消费者状态 源码解析 进入这个方法,org.apache.rocketmq.client.impl.ClientRemotingProcessor#getConsumeStatus public Map<MessageQueue, Long> getConsumerStatus(String topic, String group) { MQConsumerInner impl = this.co

  • 从jMeter连接website超时报出的error callstack看它的HTTP通信原理2019-08-25 09:40:46

    Response Body Response headers FindCase sensitive Regular exp.|org.apache.http.conn.HttpHostConnectException: Connect to hybris.com:443 [hybris.com/169.145.|97.197] failed: Connection timed out: connect at org.apache.http.impl.conn.DefaultHttpClientCon

  • SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-o2019-08-02 13:37:52

    项目中配置了新的日志框架log4j2之后启动项目报错并且没有生成日志文件 解决办法 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> 3.

  • 参数类型 (Service层) impl2019-07-25 14:54:51

      @Override public List<Map<String, Object>> selectAdvListByPosition(String adStructure, Page<AdvAdInfo> page, String area) { return this.baseMapper.selectAdvListByPosition(adStructure, page, area); } public UserAddre

  • how to get bsp view page by generated class name2019-07-22 22:03:15

    REPORT ZPAGENAME. PARAMETERS: name TYPE trdir-unam OBLIGATORY, date TYPE trdir-udat OBLIGATORY. DATA: lt_trdir TYPE STANDARD TABLE OF trdir, lt_page TYPE STANDARD TABLE OF o2pagdir. TYPES: BEGIN OF ty_impl, name TYPE o2

  • NIO 源码分析(02-2) BIO 源码分析 Socket2019-07-06 22:00:47

    目录 一、BIO 最简使用姿势 二、connect 方法 2.1 Socket.connect 方法 2.2 AbstractPlainSocketImpl.connect 方法 2.3 DualStackPlainSocketImpl.socketConnect 方法 三、SocketInputStream 3.1 构造方法 3.2 read 方法 四、SocketInputStream NIO 源码分析(02-2) BIO 源

  • 【疑难系列】 一个看起来是数据库死锁的问题2019-06-15 10:03:06

    起因 周六,7:10,闹钟还没响,客户电话过来了。 “彬哥,我们XX平台XX功能导致数据库死锁了,上次某某上去看过,把死锁的sqlserver进程杀过,但还是出现这个问题,麻烦你看一下” “...” 起床,嗽口,吃个西红柿当早餐,出门(家里没网) 经过 连接服务器,重现问题 问题是: 某功能,点击之后等啊等,等啊等,等死

  • 无法加载或实例化TagLibraryValidator类的问题2019-05-13 13:48:48

    今天在使用maven整合ssm框架展示页面遇到的org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: [org.apache.taglibs.standard.tlv.JstlCoreTLV]的问题: 下面是我的代码: `<%@ page language=“java” contentType=“text/html; cha

  • test2019-04-17 09:43:44

    Error: Couldn't connect to DB com.sap.sql.log.OpenSQLException: Exception of type com.sap.db.jdbc.exceptions.SQLInvalidAuthorizationSpecExceptionSapDB caught: [1 0]: authentication failed. QASPISAP01:ispadm 90> more JdbcCon.log Start: Tue Apr 16 2

  • block探究一2019-02-21 23:41:33

    简介 声明方式 无参数且无返回值 无参数但有返回值 有参数但无返回值 有参数且有返回值 block的参数为block block的返回值为block 一个更复杂的block声明 优雅的写法: 变量捕捉 只读变量 __main_block_impl_0说明 __main_block_func_0说明 __block_impl说明 总结 读写

  • 在Oracle12C数据库创建wm_concat函数2019-01-18 14:55:07

    当我们的程序需要连接12C数据库时,原本使用wm_concat函数的地方会出现报错,这是由于12C已经摒弃了wm_concat这个函数,可以采取的办法有使用listagg函数代替wm_concat函数,但是程序中所有涉及wm_concat函数的地方都得改成listagg函数的写法,所以为了减小修改程序的工作量,可以通过手工创

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有