深入浅出

深入迁出mybatis系列

血红的双手。 提交于 2020-03-30 20:48:12
本系列教程均源于 南柯梦 ,经 好库文摘 转发,感谢南柯梦的辛苦整理。 深入迁出mybatis系列 深入浅出Mybatis系列(一)---Mybatis入门 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇) 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇) 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇) 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇) 深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap 深入浅出Mybatis系列(九)---强大的动态SQL 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇) 来源: https://www.cnblogs.com/huntdream/p/6014652.html

深入浅出Java(Android )线程池ThreadPoolExecutor

血红的双手。 提交于 2020-03-30 15:26:01
前言 关于线程池 在Java/Android开发中,设计到并发的请求,那基本上是离不开线程池了。用线程池的好处: 1、减少线程频繁创建、销毁的开销; 2、好控制并发量,降低OOM的可能,至于原因文中会说; 3、提高程序的响应速度,因为可以省去部分创建的过程; 要不要深度学习线程池 对于服务端的同学来说应该会比较重视这一块,因为需要做高并发;而移动端的同学可能比较容易忽略这一块。有些人觉得平时也用不到,移动端没有那么大并发量,或者说第三方框架中已经完成了,比如 OkHtttp ; 其实只能说有这种想法的同学还没有遇到大一点的项目或者说没有太多多线程优化的经验。 如果你真的遇到了这种项目瓶颈,你连线程池的运行原理都不知道,那又如何解决项目问题呢? 如果你要寻求一份中高级开发工程师的工作,那线程池是基本是必问题目之一,而且还要有一定深度。 如何深度学习线程池 这也是我们今天的重点,本文将从下面几点带大家快速掌握线程池的要点: 1、从API使用到原码解析,基于JDK1.8版本; 2、从源码阅读(深入)中总结出(浅出)线程池工作原理; 3、对应用场景的分析以及异常处理 预览 线程池类图.png 先对线程池的部分核心类/接口做个简介,大家有个印象就好。 Executor接口 public interface Executor { /** * 就一个方法,用来执行线程任务的

《深入浅出WPF》学习笔记之深入浅出话资源

喜欢而已 提交于 2020-03-23 09:28:23
资源的使用 每个继承自FrameworkElement的类都有一个Resources的字段属性,用来存放自己的资源对象,Resources的类型为SourceDictionary,可以指定Source属性为一个文件路径而引用整个文件的资源。 <Window.Resources> <sys:String x:Key="title">资源示例</sys:String> </Window.Resources> //引用外部资源文件 <Window.Resources> <ResourceDictionary Source="skin.xaml"></ResourceDictionary> </Window.Resources> //通过代码查找 Object obj1 = Resources["key1"]; Object obj2 = FindResource("key2"); 当在XAML中通过标记扩展引用资源时会自动向对象上层寻找,直到找到Application.Resources,还未找到时抛出异常。通过代码调用方法FindResource的效果与在XAML中通过标记扩展应用相同,即会自动向上层对象查找,未找到时抛出异常。通过具体对象的引用Resources["key"]只会查找该字典中的资源,并且未找到时不会抛出异常。

《深入浅出WPF》笔记——资源篇

若如初见. 提交于 2020-03-23 09:26:59
原文: 《深入浅出WPF》笔记——资源篇   前面的记录有的地方已经用到了资源,本文就来详细的记录一下WPF中的资源。我们平时的“资源”一词是指“资财之源”,是创造人类社会财富的源泉。在计算机程序中,只要是对程序有用的对象都可以统称资源。不过本文只记录WPF对象级资源和二进制资源。 一、WPF对象级资源的定义与查找   在WPF中,每一个界面元素都是一个对象,并且都有一个名为Resources的属性,这个属性继承于FrameworkElement类,其类型为ResourceDictionary。由于元素的属性名是复数形式,所以每一个对象可以拥有多个资源,由于资源的多样化,获取到的资源的类型为object类型,所以在获取到资源时,必要时要进行转化成符合自己要求的类型;由其类型可以知对象资源是以键值对的形式来存储的,当需要某个资源时,可以通过key索引来获取。下面看一个小实例: <Window x:Class="Chapter_08.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly

《深入浅出WPF》笔记——绑定篇(二)

*爱你&永不变心* 提交于 2020-03-23 09:24:59
一、Binding对数据的校验与转化   在上一篇中有提到过绑定像是一座桥梁,在桥梁两端要有源和目标以及在桥梁上面我们可以设立关卡对数据进行验证,除此之外,源提供的数据有时不一定是目标想要的类型,但是可以通过转化成为目标需要的类型。 1.1Binding的数据验证   在软件设计过程中,数据的验证是经常要实现的。要实现Binding的数据验证,主要通过Binding的ValidationRoles属性来实现。下面让我们认识一下ValidationRoles(验证条件):可以看到ValidationRoles是复数形式,应该可以想到他是一个Collection<ValidationRole>类型的的属性,而ValidationRole是一个抽象类,所以我们要向验证条件集合里面添加的应该是继承自ValidationRole的一个实例,既然要继承抽象类,那么就要实现Validate方法,其形式为public abstract ValidationResult Validate(object value, CultureInfo cultureInfo),其中Value是要验证的值,cultureInfo暂不用理会,方法的返回值为ValidationResult类型的,Validate具有两个形参(一个是否通过验证,一个是错误信息)。为什么验证条件要用集合类型的呢

深入浅出之委托

拜拜、爱过 提交于 2020-03-13 13:18:45
一、什么是委托 源码下载 1.委托是面向对象的、类型安全的,是引用类型。使用delegate关键字进行定义。委托的本质就是一个类,继承自System.MulticastDelegate,而它又派生自System.Delegate。里面内置了几个方法 ,可以在类的外面声明委托,也可以在类的内部声明委托。 对委托的使用:先定义,后声明和实例化委托,然后作为参数传递给方法。 二、委托定义 1.委托就是一个类,别把它想成了方法,所以不能重载。委托也不能继承因为是密封类。 namespace MyDelegation { /// <summary> /// 委托 /// </summary> //定义来了一个全局的委托 无参无返回值 //特点就是在本类的所有方法调用 public delegate void MyDelegate(); /// <summary> /// 1:这里的无参,无返回值,表示传递的方法是一个没有参数,没有返回值的方法。 /// 2:委托就是一个类,别把它想成了方法,所以不能重载。委托也不能继承因为是密封类。 /// 3:不要在方法使用委托,委托在传递此方法。 /// </summary> public class MyDelegationDeom { /// <summary> /// 无参无返回值 /// </summary> public delegate

深入浅出 JavaScript 变量、作用域和内存 v 0.5

时光怂恿深爱的人放手 提交于 2020-03-04 16:25:05
本文主要从原理入手分享变量和作用域的相关知识,最后结合本文所分享知识,再次深入了解下闭包的运行原理。 主要参考《JS高级程序设计》 《JS权威指南》 《高性能 JS》 三本书。 目录 1 变量 1.1 变量的声明 1.2 变量类型的特点 2 执行环境和作用域 3 再谈谈闭包 变量 对 JavaScript 稍微有点了解的同学都知道,JavaScript 中的 变量 与其他语言的变量有很大区别。 JS 的弱类型的特性决定了变量只是在特定时间( 生命周期 , 作用域 中)用于保存特定值的一个名字而已。 一个变量可以在生命周期内任意改变类型。(太灵活了以至于好复杂) JavaScript 变量可以用来保存两种类型的值: 基本类型值 和 引用类型值 。 变量的声明 在JavaScript 程序中,使用一个变量之前应该先声明它。变量使用 var 关键字声明的。 如果在声明的时候没有进行初始化,那么默认初始化为undefined。 重复声明和遗漏声明 使用 var 关键字重复声明变量时合法的而且无害的,如果重复声明带有初始化,那么该声明和一条普通的赋值语句没什么两样。 在非严格模式下,给未声明的变量赋值,JS 会在全局作用域中创建一个同名变量,并赋值。(这会造成很多bug,因此应该使用 var 来声明变量。) 保存引用类型值的变量我们可以为其添加、改变和删除其属性和方法 。 var

Android深入浅出之Binder机制

旧城冷巷雨未停 提交于 2020-02-29 17:07:08
Android 深入浅出之 Binder 机制 一 说明 Android 系统最常见也是初学者最难搞明白的就是 Binder 了,很多很多的 Service 就是通过 Binder 机制来和客户端通讯交互的。所以搞明白 Binder 的话,在很大程度上就能理解程序运行的流程。 我们这里将以 MediaService 的例子来分析 Binder 的使用: <!--[if !supportLists]--> l <!--[endif]--> ServiceManager ,这是 Android OS 的整个服务的管理程序 <!--[if !supportLists]--> l <!--[endif]--> MediaService ,这个程序里边注册了提供媒体播放的服务程序 MediaPlayerService ,我们最后只分析这个 <!--[if !supportLists]--> l <!--[endif]--> MediaPlayerClient ,这个是与 MediaPlayerService 交互的客户端程序 下面先讲讲 MediaService 应用程序。 二 MediaService 的诞生 MediaService 是一个应用程序,虽然 Android 搞了七七八八的 JAVA 之类的东西,但是在本质上,它还是一个完整的 Linux 操作系统

Android深入浅出之Binder机制

て烟熏妆下的殇ゞ 提交于 2020-02-28 22:04:31
Android 深入浅出之 Binder 机制 一 说明 Android 系统最常见也是初学者最难搞明白的就是 Binder 了,很多很多的 Service 就是通过 Binder 机制来和客户端通讯交互的。所以搞明白 Binder 的话,在很大程度上就能理解程序运行的流程。 我们这里将以 MediaService 的例子来分析 Binder 的使用: l ServiceManager ,这是 Android OS 的整个服务的管理程序 l MediaService ,这个程序里边注册了提供媒体播放的服务程序 MediaPlayerService ,我们最后只分析这个 l MediaPlayerClient ,这个是与 MediaPlayerService 交互的客户端程序 下面先讲讲 MediaService 应用程序。 二 MediaService 的诞生 MediaService 是一个应用程序,虽然 Android 搞了七七八八的 JAVA 之类的东西,但是在本质上,它还是一个完整的 Linux 操作系统,也还没有牛到什么应用程序都是 JAVA 写。所以, MS(MediaService) 就是一个和普通的 C++ 应用程序一样的东西。 MediaService 的源码文件在: framework\base\Media\MediaServer\Main

侯捷去哪了?

こ雲淡風輕ζ 提交于 2020-02-22 09:56:37
我学习C++和MFC一直都看侯捷老师的书,比如他的译作《Essential C++》和《C++ Primer》(繁体版)、他的著作《深入浅出MFC》,而且特别喜欢看他的《无责任书评》,内心中十分之崇拜他(我很少崇拜人,但他确实是我发自内心崇拜的人),曾经有过一段时间只要在书店看到他的书就会买。 后来我转做.NET了,而他老人家也开始研究Java了(出于对他的好感,我仍然仔细拜读了他的译作《Java编程思想》,此书当时在书店里共有两种版本——第二版和第三版——我毫不犹豫的选择了他翻译的第二版),于是也就很少关注他了,而让我差异的是,他不光是淡出了我的视线,也谈出了大家的视线。不仅没有新作上市,连 网站 也不更新了(现在已经停了),于是我不禁要问:侯捷去哪了? 如果哪位同仁有侯老师的近况还请不吝告知,谢谢! 附:侯捷在大陆的著、译作 深入浅出MFC 深度探索C++对象模型 C++标准程序库 Effective C++ More Effective C++ C++ Primer题解 泛型编程与STL C++设计新思维 STL源码剖析 Essential C++ 重构 Win32多线程程序设计 内存受限系统之软件开发 C# Primer .NET大局观 Practical Java Java编程思想 Word排版艺术 来源: https://www.cnblogs.com/xuyzh