3 CoderZS

尚未进行身份认证

多年Java开发经验,并对Python、iOS、C++等技术领域涉足,参与多个大型项目包括CRM,WMS,P2P等项目,现就职于中国电信研究院从事电信重大项目开发。欢迎关注,本人简书CoderZS(http://www.jianshu.com/u/c4982487cf3f)

等级
TA的排名 11w+

SpringBoot日志框架logback

目录一,简单日志配置1.1配置控制台日志的debug级别1.2在生产环境环境下,你可以通过命令行进行配置日志的debug级别1.3配置logging.level来具体输出哪些包的日志级别1.4将日志输出到文件中二,logback的介绍及配置2.1,Logback介绍2.2,Logback优点2.3,Logback优点Logback的配置介绍三、Logback的使用3.1,Logback...

2019-06-18 17:21:41

ConcurrentHashMap底层实现原理((JDK1.7&1.8))

目录前言ConcurrentHashMap(JDK1.7的实现)初始化put操作get操作size操作ConcurrentHashMap(JDK1.8的实现)NodeTreeNodeTreeBinput操作get操作size操作总结与思考前言我们都知道HashMap在多线程情况下,在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原...

2019-06-18 17:10:18

ThreadLocal 深度解析

目录一,对ThreadLocal的理解二,深入解析ThreadLocal类get()方法:set()方法remove()方法ThreadLocalMap类Hash冲突怎么解决ThreadLocalMap的问题三.ThreadLocal的应用场景四,总结一,对ThreadLocal的理解ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个...

2019-06-18 17:03:52

使用邮件通知方式实现异常报警功能

目录邮件的发送接收过程一,开通SMTP协议二,代码实现1.引入依赖2.代码编写邮件的发送接收过程1.开通SMTP协议二,代码实现1.引入依赖2.代码编写首先我们需要了解一下邮件发送(SMTP)和邮件接收(POP3)的协议:SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制邮件的中转方式。SMTP协...

2019-06-18 16:57:42

Redis 几种数据类型及应用场景

Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset:有序集合)。何时使用Redis呢?先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个val...

2019-04-30 09:01:54

使用python写一个线程安全的单例

单例在各种编程语言开发中都很常见,前面我们使用JavaOCswift分别对单例进行了探讨,下面我们使用python写一个线程安全的单例。importthreadingdefsynchronized(func):func.__lock__=threading.Lock()deflock_func(*args,**kwargs):wit...

2019-04-30 09:01:04

MyBatis中$和#的区别

动态SQL是mybatis的强大特性之一,也是它优于其他ORM框架的一个重要原因。mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态SQL进行处理的。在动态SQL解析阶段,#{}和会有不同的表现1.都可以获取对象中的属性值,{}会有不同的表现1.都可以获取对象中的属性值,会有不同的表现...

2019-04-13 23:15:23

java反射机制

####一、概述Java反射机制定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。枚举除外**反射机制的功能**在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具...

2019-04-13 23:13:38

python 定时任务框架APScheduler

1、简介APScheduler的全称是AdvancedPythonScheduler。它是一个轻量级的Python定时任务调度框架。APScheduler支持三种调度任务:固定时间间隔,固定时间点(日期),Linux下的Crontab命令。同时,它还支持异步执行、后台执行调度任务。2、安装使用pip包管理工具安装APScheduler是最方便快捷的。pipi...

2019-04-08 16:37:52

基于python实现FTP文件上传与下载(ftp&sftp协议)

前言FTP(File Transfer Protocol)是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是...

2019-04-03 15:33:15

Kafka实战

1.Kafka介绍1.1主要功能根据官网的介绍,ApacheKafka是一个分布式流媒体平台,它主要有3种功能:1:Itletsyoupublishandsubscribetostreamsofrecords.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因2:Itletsyoustorestreamsofrecords...

2019-04-03 15:30:20

分布式消息最终一致性解决方案

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题;尽管很早之前就有基于两阶段提交的XA分...

2019-03-22 13:59:41

ElasticSearch 批量处理 API

es里面提供了两种批量建索引的方法:1,使用BulkApi特点是:使用比较简单,但控制不够灵活2,使用BulkProcessor特点是:使用稍麻烦,控制非常灵活使用BulkProcessor处理也比较简单,注意参数的设置,会影响索引的性能:BulkProcessor实例初始化之后,就可以直接游标读取添加就行application.properties...

2019-03-22 13:58:23

Kafka实战

1.Kafka介绍1.1主要功能根据官网的介绍,ApacheKafka是一个分布式流媒体平台,它主要有3种功能:1:Itletsyoupublishandsubscribetostreamsofrecords.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因2:Itletsyoustorestreamsofrecords...

2019-03-22 13:57:11

利用runtime为系统类添加属性、成员变量.......

1️⃣runtime介绍:runtime是一套比较底层的纯C语言API,包含了很多底层的C语言API。在我们平时编写的OC代码中,程序运行过程时,其实最终都是转成了runtime的C语言代码.比如说,下面一个创建对象的方法:1.[[ZSPersonalloc]init]2.runtime:objc_msgSend(objc_msgSend(“ZSPerson”,“all...

2019-01-02 14:17:05

OC与JS之间的互调

一、JavaScriptCore常用的类JavaScriptCore作用:JavaScriptCore是苹果原生API,用来JS和OC交互的。JSContext:JS运行环境,用它去执行JS代码,并且通过它去获取JS里的数据JSValue:用于接收JS中获取的数据类型,可以是任一对象,方法。二、OC调用JS本质:JS代码中已经定义好变量和方法,通过OC去获取,并且调用步骤:1.创...

2019-01-02 14:16:21

APNS苹果远程推送

什么是APNS?苹果推送通知服务(APNs)是推送通知的网关,iPhoneipad对于应用程序在后台运行有诸多限制,考虑到手机电池电量,应用不允许在后台进行过多的操作。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息。推送是解决轮询所造成的流量消耗和电量消耗的一个比较好的解决方案为解决这一限制,苹果推...

2019-01-02 14:15:20

iOS八种内存泄漏问题

循环引用(RetainCycle)先简单说一下什么是循环引用(retaincycle)​假设我们有两个实例A和B,B是A的一个strong型的property,则B的引用计数是1,当A的需要释放的时候,A则会调用[Brelease]来释放B,B的引用计数则减为0,释放。​可如果这时候将B的一个strong型property指向A,则A与B互相为强引用,问题就来了。因为B强引用A,A的引...

2019-01-02 14:13:46

SpringMVC执行流程及工作原理

图解SpringMVC执行流程:SpringMVC执行流程:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServ...

2019-01-02 14:12:04

SpringMVC开发流程

要点SpringMVC简介搭建环境入门程序全注解J2EE三层使用的注解使用步骤对静态资源的处理传参方式原始方式request.getParameter()方法形参与前台参数同名对象传参地址栏传参中文乱码处理传值方式通过request.setAttribute()addObject()的方式直接返回对象配置视图解析器forward方式red...

2019-01-02 14:09:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。