读书笔记_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 读书笔记 >>列表
· java并发编程实战 读书笔记发布时间:2018-10-28
原文请参考微信公众号:https://mp.weixin.qq.com/s/RWYeM-n0k7IPVzqMH8vBIw原创:后端技术笔记后端技术笔记前天1、double和long是64位数值变量,JVM允许(非volatile类型的double和long)将64位的读操作或写操作分解为两个32位的操作。当读取一个非volatile类型的long变量时,如果对该变量的读操作和写操作在不同的线程中执行,name很可能读取到某个值的高32位和另一个值得低32位;因此在多线程情况下... 查看全文
· CLR via C# 读书笔记-26.线程基础发布时间:2017-12-01
前言这俩个月没怎么写文章做记录分享,一直在忙项目上线的事情,但是学习这件事情,停下来就感觉难受,clr线程这章也是反复看了好多遍,书读百遍其义自见,今天我们来聊下线程基础1.进程是什么,以及线程起源2.线程开销,以及上线文切换3.使用线程的理由4.线程调度和优先级5.前台线程和后台线程一、进程是什么,以及线程起源在计算机的早期岁月,os没有线程的概念,整个系统只运行者一个执行线程,其中包含操作系统和应用程序的代码。这意味着长时间运行的任务会阻止其他任务的运行。在16位windows的那些日子... 查看全文
【重构:改善既有代码的设计】读书笔记总目录1、重构原则2、代码的坏味道【1】3、代码的坏味道【2】4、代码的坏味道【3】5、代码的坏味道【4】6、重构手法之ExtrctMethod(提炼函数)、InlineMethod(内联函数)、InlineTemp(内联临时变量)7、重构手法之ReplaceTempWithQuery(以查询取代临时变量)边写边更新吧。。。。。。背景介绍重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。重构不只可以改善既有的设计... 查看全文
<NETCLRviac#第4版>个别章节虽读过多次,但始终没有完整读过这本书.即使看过的那些,时间一长,也忘记了大部分.趁着最近不忙,想把这本书好好读一遍,顺便记下笔记,方便随时查看.真的只是笔记,因为能力有限,并不能很好地讲解一个知识点,只是把我认为比较重要的地方,划个重点,记录到这里.我所追求的,只是尽量别抄错.所以,如果没看原书,只看这里的话,会比较晕.目录:<NETCLRviac#第4版>笔记第5章基元类型、引用类型和值类型<... 查看全文
(一)身份验证和授权安全性的两个基本支柱是身份验证和授权。身份验证是标识用户的过程,授权在验证了所标识用户是否可以访问特性资源之后进行的。1、标识和Principal使用标识可以验证运行应用程序的用户。Principal是一个包含用户的标识和用户所属角色的对象。AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);varprincipal=WindowsPrincipal... 查看全文
(一)诊断概述名称空间System.Diagnostics提供了用于跟踪、事件日志、性能测量以及代码协定的类。System.Diagnostics.Contracts名称空间中的类可以定义前提条件、后置条件和常量,它们不仅可以在运行期间检查,还可以使用静态的协定分析器检查。(二)代码协定前置条件列出了参数必须满足的要求,后置条件定义了返回数据必须满足的要求,常量定义了方法中变量必须满足的要求。(三)跟踪参考:http://962410314.blog.51cto... 查看全文
《EffectiveC#》读书笔记(二)-.NET资源托管简介续《EffectiveC#》读书笔记(一)-C#语言习惯。.NET中,GC会帮助我们管理内存,我们并不需要去担心内存泄漏,资源分配和指针初始化等问题。不过,它也并非万能,因为非托管资源需要我们自己进行清理,如文件句柄、数据库连接、GDI+对象和COM对象等。目录十二、推荐使用成员初始化器而不是赋值语句十三、正确地初始化静态成员变量十四、尽量减少重复的初始化逻辑十五、使用using和try/finally清理资源十六... 查看全文
(一)异步编程的重要性使用异步编程,方法调用是在后台运行(通常在线程或任务的帮助下),并不会阻塞调用线程。有3中不同的异步编程模式:异步模式、基于事件的异步模式和新增加的基于任务的异步模式(TAP,可利用async和await关键字来实现)。(二)异步模式1、C#1的APM异步编程模型(AsynchronousProgrammingModel)。2、C#2的EAP基于事件的异步模式(Event-basedAsynchronousPattern)。3、TAP基于任务的异步模式(Task... 查看全文
(一)LINQ概述语言集成查询(LanguageIntegratedQuery,LINQ)在C#编程语言中继承了查询语法,可以用相同的语法访问不同的数据源。1、LINQ查询varquery=fromrinFormula1.GetChampions()wherer.Country=="Brazil"orderbyr.Winsdescendingselectr;这是一个LINQ查询,子句from、where、orderby、descending和select都是这个查询中预定义的关键字。2... 查看全文
(一)概述数组的大小是固定的。如果元素个数是动态的,就应使用集合类。List<T>是与数组相当的集合类。还有其它类型的集合:队列、栈、链表、字典和集。(二)列表1、创建列表调用默认的构造函数,就可以创建列表对象。在泛型类List<T>中,必须为声明为列表的值指定类型。使用默认构造函数创建一个空列表。元素添加到列表后,列表的容量会扩大,每次添加元素达到容量上限后,容量将重新设置为原来的2倍。例子:List<string>strList=newList<... 查看全文
组合模式:允许将对象组合成树形结构来表现“整体/部分”的结构,让用户可以用一致的方式处理个别对象以及组合对象。publicabstractclassNode{protectedStringname;protectedStringdesc;publicNode(Stringdesc,Stringname){this.name=name;this.desc=desc;}publicvoidaddChild(Nodenode)... 查看全文
状态模式:允许对象在内部状态改变的时候改变它的行为。例如:我们在12306上买票,行为是卖票,状态有两个,有余票则出票成功,余票不足就出票失败。publicclassStation{publicStatestate;privateinttickets=0;publicStation(inttickets){this.tickets=tickets;if(tickets>0){state=newHasTicketState(this);}}publicvoidsoldTickets()... 查看全文
(一)引用方法委托是寻址方法的.NET版本。委托是类型安全的类,它定义了返回类型和参数的类型。委托不仅包含对方法的引用,也可以包含对多个方法的引用。Lambda表达式与委托直接相关。当参数是委托类型时,就可以使用lambda表达式实现委托引用的方法。(二)委托当要把方法传递给其它方法时,需要使用委托。委托是一种特殊类型的对象,其特殊之处在于,我们以前定义的所有对象都包含数据,而委托包含的只是一个或多个方法的地址。1、声明委托委托使用关键字delegate进行定义。例子... 查看全文
外观模式:提供了一个统一的接口,用来访问子系统中的一群接口或者一个很大的接口,总之外观模式的目的是简化并统一其他的接口。与适配器不同的是,它不会修改其他的接口,只是将客户从一个复杂的子系统中解耦出来。publicclassAirconditioner{inttempture;publicvoidturnOn(){System.out.println("开空调");}publicvoidturnOff(){System.out.println("关掉空调");... 查看全文
模板方法模式:在一个方法中定义了一个算法的骨架,而将实现延迟到子类中。模板方法使得子类在不改变算法结构的同时提供自己的特定实现。publicabstractclassTemplet{publicvoidprepareDinner(){buyGroceries();washgroceries();choppingVegetables();cook();}abstractvoidbuyGroceries();publicvoidwashgroceries(){System.out.println... 查看全文
适配器模式:将一个类的接口装换成另一个客户期望的接口,让原本两个不同的类使用起来像是一个类。分为类的适配器和对象的适配器。对象的适配器:使用组合的方式达到适配的效果。publicinterfaceTarget{publicvoidrun();}publicclassDogimplementsTarget{@Overridepublicvoidrun(){System.out.println("狗狗在地上跑");}}publicclassFish{publicvoidswim(){System... 查看全文
命令模式:允许将发出请求的对象和接受并执行这些请求的对象分割开来,即实现请求调用者和请求接受者之间的解耦。定义:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。调用命令的是Invoker,执行命令的实际上是Receiver。通过命令模式,将各种动作封装成Command,实现了Invoker和Receiver的彻底解耦。Invoker只管发出命令,Receiver只管执行相应的操作。publicinterfaceCommand{publicvoidexecute();... 查看全文
单例模式:确保一个类只有一个实例,并提供一个全局访问点。通常被用来管理公共资源。例如,数据库连接池或是线程池。publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){System.out.println("ThereisonlyonSingleton");}publicstaticSingletongetInstance(){if(instance==null){instance=newSingleton()... 查看全文
(一)同一类型和不同类型的多个对象如果需要使用同一类型的多个对象,就可以使用数组或集合(后面章讲)。如果需要使用不同类型的多个对象,可以使用Tuple(元组)类型。(二)简单数组如果需要使用同一类型的多个对象,可以使用数组。数组是一种结构,它可以包含同一类型的多个元素。1、数组的声明在声明数组时,应先定义数组总元素的类型,其后是一堆空方括号和一个变量名。例子:以下代码声明了一个包含整形类型的数组int[]intArray;2、数组的初始化声明了数组后,就必须为数组分配内存,以保存数组的所有元素... 查看全文
(一)运算符类别运算符算术运算符+-*/%逻辑运算符&|^~&&||!字符串连接运算符+增量和减量运算符++--移位运算符<<>>比较运算符==!=<><=>=赋值运算符=+=-=*=/=%=&=|=^=<<=>>=成员访问运算符(用于对象和结构).索引运算符(用于数组和索引器)[]类型转换运算符()条件运算符(三元运算符)?:委托连接和删除运算符+... 查看全文