变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段,如果没有显式初始化,创建这些变量时,其默认值为0. 方法的局部变量必须在代码中显式初始化,之后才能在语句中使用,如果在初始化之前使用了他的值,报错. 作用域 如果局部变量作用域冲突,报CS0136错. 字段与局部变量冲突,隐藏掉字段,访问被隐藏的实例字段用this关键字,静态字段使用object.f…
1.1 C#与.NET的关系 C#不能孤立地使用,必须与.NET Framework一起使用一起考虑. (1)C#的体系结构和方法论反映了.NET基础方法论. (2)多数情况下,C#的特定语言功能取决于.NET的功能,或依赖于.NET基类. .NET支持的一些特性,C#并不支持.C#语言支持的另一些特性,.NET却不支持. 1.2 公共语言运行库(CLR) 1.2.1 平台无关性 .NET Framework 的核心是其运行库环境,称为公共语言运行库(CLR)或.NET运行库. 通常将CLR控制…
背景 开始时间:2019/09/18 21:30 Spring5高级编程 版次:2019-01-01(第5版) Spring5最新版本:5.1.9 CURRENT GA 官方文档 Spring Framework官网 GitHub地址 目录 第1章 Spring介绍 1.1. 什么是Spring Spring被描述为构建Java应用程序的轻量级框架. 轻量级指的并不是类的数量或发布的大小,而是整体性定义Spring原则:最轻的影响. 1.1.1. Spring框架的演变 Spring 4.0x…
读<C#高级编程>第1章 .Net机构体系笔记 网红的话:爸爸说我将来会是一个牛逼的程序员,因为我有一个梦,虽然脑壳笨但是做事情很能坚持. 本章主要是了解.Net的结构,都是一些概念,并没有可操作的代码.但是这些概念有联系,但深刻理解必须要有全局思维和实践基础. 目录: C#与.Net的关系 公共语言运行库(CLR) 中间语言 程序集 .NET Framework类 名称空间(命名空间):避免类名冲突的一种方式. 用C#创建.Net应用程序(介绍一堆产品概念) C#在.Net企业体系结构中的重…
在应用程序中至少包含一个用来处理应用程序的主UI功能的主界面屏幕.这个主界面一般由多个Fragment组成,并由一组次要Activity支持.要在屏幕之间切换,就必须要启动一个新的Activity.一般的Activity都占据了整个显示屏,但可以创建成半透明或二者浮动的Activity. 一.创建Activity 通过继承Activity类可以创建一个Activity窗口,基本框架如下: 1 public class MyActivity extends Activity { 2 @Overri…
C#高级编程9 第18章 部署 使用 XCopy 进行部署 本主题演示如何通过将应用程序文件从一台计算机复制到另一台计算机来部署应用程序. 1.将项目中生成的程序集复制到目标计算机,生成的程序集位于项目中的bin\debug目录下 2.在开发计算机上找到vcredist_x86.exe复制到目标计算机 3.在目标计算机运行vcredist_x86.exe,安装所需C++运行库 4.应用程序运行 使用ClickOne进行部署 百度经验使用ClickOne发布Windows应用程序 工具/原料  …
C#高级编程9 第17章 使用VS2013 编辑定位到 如果默认勾选了这项,请去掉勾选,因为勾选之后解决方案的目录会根据当前文件选中. 可以设置项目并行生成数 版本控制软件设置 所有文本编辑器行号显示 启用编辑继续 收集调试信息,将影响性能 Code Compare这是扩展与更新里面的插件,安装之后才会显示,用来比较代码是否相同 nuget包源配置,提供了nuget更新的数据源 目标框架的设置影响到项目基础框架的引用,不同目标框架的项目之间不能互相引用. 不安全代码和警告等级可能会影响生成 特定…
C#高级编程9 第16章 错误和异常 了解这章可以学会如何处理系统异常以及错误信息. System.Exception类是.NET运行库抛出的异常,可以继承它定义自己的异常类. try块代码包含的代码是可能发生异常的代码catch块代码包含发生异常之后处理错误情况finally块代码用于清理资源以及无论是否出现异常都需要处理的功能代码 对于系统异常和自定义异常都来自Exception类,可以定义多个catch块,处理不同异常的错误. System.Exception类的Data属性可以提供异常的…
类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型,而结构是存储在栈上的值类型)和它们的一些特征. 语法上,类与结构非常相似,主要区别是结构使用关键字 struct 代替 class 来声明. 3.3 类成员 3.3.1 数据成员 数据成员是包含类数据—字段.常量和事件的成员. 3.3.2 函数成员 函数成员提供了操作类中数据的某些功能,包括方法.属…
一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书,也看过一些,但好像没有留下什么印象,今天再看,依然觉得像新的一样.很大的原因我想是一直以来都在用windows(用windows做开发为什么学不到真正的技术,我想大家都懂的),当然知识结构不完整,学习能力这些就不说了.所以,对于那些致力于想在Linux下做开发的人来说,这本说一定是强推的. 如果你分得清wr…
数学的复习,4^-2即是1/4/4的意思, 4^2是1*2*2的意思,而10^-2为0.01! 7.2运算符 符号 说明 例   ++ 操作数加1 int i=3; j=i++; 运算后i的值为4,j的值为3     int i=3; j=++i; 运算后i的值为4,j的值为4 -- 操作数减1 int i=3; j=i--; 运算后i的值为2,j的值是3     int i=3, j=--; 运算后i的值为2,j的值是2 && 执行逻辑运算,检查两个表达式是否为真 int a=5;(a&…
1.在html中使用JavaScript 1.  <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选,通过src属性指定代码的字符集,大多浏览器会忽略这个值,所以很少人使用 language:已放弃 src:可选,外部脚本的地址 type:可选,现在不推荐用“text/javascript”,考虑到约定俗成和最大限度的浏览器兼容,目前type属性的值还是text/javascript,不过,这个属性并不是必需…
C#高级编程9 内存管理和指针 后台内存管理 1) 值数据类型 在处理器的虚拟内存中有一个区域,称为栈,栈存储变量的浅副本数据,通过进入变量的作用域划分区域,通过离开变量的作用域释放. 栈的指针指向栈保留的内存块的末尾,栈是向下填充的,比如说内存是4g,,那么就从4g开始直至占用0g,每一个区域的划分都由下一个空闲存储单元. 2) 引用数据类型 变量的生存期是互相嵌套的,一般情况下变量的生存期在一个方法中定义会在一个方法外结束,不过有时候需要在方法外数据仍是可用的,这时候需要用到引用类型. 引用…
第12章 使用Spring远程处理 12.4 在Spring中使用JMS 使用面向消息的中间件(通常成为MQ服务器)是另一种支持应用程序间通信的流行方法.消息队列(MQ)服务器的主要优点在于为应用程序集成提供了异步和松耦合的方式.在Java中,JMS是连接到MQ服务器以发送或接收消息的标准.MQ服务器维护应用程序可以连接并发送和接受消息的队列即主题列表. 队列 队列用于支持点对点消息交换模型.当一名生产者向队列发送消息时,MQ服务器会将消息保留在队列中,并在消费者下次连接时将消息传递给一名消费者…
第5章 Spring AOP 面向切面编程(AOP)是面向对象编程(OOP)的补充.AOP通常被称为实施横切关注点的工具.术语横切关注点是指应用程序中无法从应用程序的其余部分分解并且可能导致代码重复和紧密耦合的逻辑.通过使用AOP模块化各个逻辑部分(横切关注点),可以将它们应用于应用程序的多个部分,而无需复制代码或创建硬性依赖关系. 5.1 AOP概念 AOP的核心概念: 连接点 通知 切入点 切面 织入 目标对象 引入 5.2 AOP的类型 AOP分为静态AOP和动态AOP.他们之间的区别在于…
第9章 事务管理 一些名词: 2PC(2 Phase Commit) XA协议 JTS(Java Transaction Service) JCA(Java EE Connector Architecture) JPA(Java Persistence API) JPQL(Java Persistence Query Language) Spring支持声明式和编程式事务管理. 9.1 研究Spring事务抽象层 在使用事务时,必须选择是使用全局事务(分布式事务)还是本地事务.本地事务特定于单个…
第6章 Spring JDBC支持 Spring官方: 位于Spring Framework Project下. 文档: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/data-access.html#jdbc MySQL通常更广泛地用于Web应用程序开发,特别是Linux平台上.PostgreSQL对Oracle开发人员更友好,因为它的过程语言PLpgSQL非常接近Oracle的P…
第16章 Web应用程序 16.3 MVC和Spring MVC介绍 16.3.3 Spring MVC WebApplicationContext层次结构 在Spring MVC中,DispatcherServlet是接受请求并将它们分发给相应控制器的中央servlet.在Spring MVC应用程序中,可以有多种用于不同目的的DispatcherServlet实例,并且每个DispatcherServlet都有自己的WebApplicationContext配置,该配置定义了servlet级…
第11章 任务调度 任务调度由三部分组成: 任务:需要在特定时间运行或定期运行的业务逻辑块: 触发器:指定任务应该执行的条件: 调度程序:根据来自触发器的信息执行任务: 11.2 Spring中的任务调度 在Spring应用程序中可以使用多种方法触发任务的执行. 一种方法是通过已存在于应用程序部署环境中的调度系统从外部触发作业.作业触发可以通过向Spring应用程序发送RESTful-WS请求并让Spring的MVC控制器触发任务来完成. 另一种方法是在Spring中使用任务调度支持.Sprin…
第10章 使用类型转换和格式化进行验证 在应用程序开发中,数据验证通常与转换和格式化一起被提及.因为数据源的格式很可能与应用程序中所使用的格式不同. 名词缩写: SPI(Service Provider Interface):服务提供接口 10.1 依赖项 <!--validation--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…
第4章 详述Spring配置和Spring Boot 4.2 管理bean生命周期 通常,有两个生命周期事件与bean特别相关:post-initialization和pre-destruction. 一旦完成bean的所有属性值设置以及所配置的依赖项检查,就会触发post-initialization事件.在销毁bean实例之前,pre-destruction事件被触发.对于原型作用域的bean来说,不会触发pre-destruction事件. Spring为这两个事件提供了三种机制: 基于接…
第3章 在Spring中引入IoC和DI 依赖注入是IOC的一种特殊形式,尽管这两个术语经常可以互换使用. 3.1 控制反转和依赖注入 IOC的核心是DI,旨在提供一种更简单的机制来设置组件依赖项,并在整个生命周期中管理这些依赖项.需要某些依赖项的组件通常被称为依赖对象,或者在IOC的情况下被称为目标对象. IOC可以分解为两种子类型:依赖注入(DI)和依赖查找. 3.2 控制反转的类型 使用依赖查找时,组件必须获取对依赖项的引用,而是用依赖注入时,依赖项将通过IOC容器注入组件. 依赖查找有两…
11.1.2LINQ语句 LINQ查询表达式以from子句开始,以select或者group子句结束.在这两个子句之间可以跟零个或者多个from.let.where.join或者orderby子句. static void LINQQuery() { //Formula1.GetChampions()返回一个列表,quer变量只是一个赋值语句,只有使用了foreach才会执行查询 var query = from r in Formula1.GetChampions() where r.Coun…
第一次写这玩意,不知道什么时候能写完,今天项目比较近,期望年底能看完吧. 先定个小目标 20201228 完成 第1章 Spring介绍 第2章 入门 第3章 在Spring中引入IoC和DI 第4章 详述Spring配置和Spring Boot 第5章 Spring AOP 第6章 Spring JDBC支持 第7章 在Spring中使用Hibernate 第8章 在Spring中使用JPA 2进行数据访问 第9章 事务管理 第10章 使用类型转换和格式化进行验证 第11章 任务调度 第12章…
(一)身份验证和授权 安全性的两个基本支柱是身份验证和授权.身份验证是标识用户的过程,授权在验证了所标识用户是否可以访问特性资源之后进行的. 1.标识和Principal 使用标识可以验证运行应用程序的用户.Principal是一个包含用户的标识和用户所属角色的对象. AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); var principal = WindowsPrincipal.Curr…
(一)程序集的含义 程序集是.NET用于部署和配置单元的术语. .NET应用程序包含一个或多个程序集.通常扩展名是EXE或DLL的.NET可执行程序称为程序集. 程序集是自我描述的安装单元,由一个或多个文件组成.程序集可以是私有或共享的. 1.程序集的功能 程序集是自描述的. 版本的相互依赖在程序集的清单中进行了记录. 程序集可以并行加载. 应用程序使用应用程序域来确保其独立性. 安装非常简单. 2.程序集的结构 程序集由描述它的程序集元数据.描述导出类型和方法的类型元数据.MSIL代码和资源组…
(一)简介 事务的主要特征是,任务要么全部完成,要么都不完成. (二)概述 事务由事务管理器来管理和协调.每个影响事务结果的资源都由一个资源管理器来管理.事务管理器与资源管理器通信,以定义事务的结果. 1.事务处理阶段 激活阶段:在这个阶段创建事务. 准备阶段:在这个阶段,每个资源管理器都可以定义事务的结果. 提交阶段:当所有的资源管理器都成功准备好了,就开始这个阶段. 2.ACID属性 事务的特征可以用术语ACID来定义: Atomicity(原子性):表示一个工作单元. Consistenc…
(一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByRefObject--这是.NET类中用于远程操作的基对象类,它允许在应用程序域之间编组数据. FileSystemInfo--这是表示任何文件系统对象的基类. FileInfo和File--这些类表示文件系统上的文件. DirectoryInfo和Directory--这些类表示文件系统上的文件夹.…
(一)简介 错误的出现并不总是编写应用程序的人的原因,有时应用程序会因为应用程序的最终用户引发或运行代码的环境而发生错误.C#提供了异常处理机制来处理错误. (二)异常类 在C#中,但刚出现某个特殊的异常错误条件时,就会创建(或抛出)一个异常对象.一般情况下异常没有特定的名称空间,异常类应放在生成异常的类所在的名称空间. (三)捕获异常 .NET Framework提供了大量的预定义基类异常对象.为了在C#代码中处理可能的错误情况,一般要把程序的相关部分分成3种不同类型的代码块. try块包含的…
(一)在运行期间处理和检查代码 自定义特性允许把自定义元数据与程序元素关联起来.反射是一个普通术语,它描述了在运行过程中检查和处理程序元素的功能.例如,反射允许完成的任务: 枚举类型的成员 实例化新对象 执行对象的成员 查找程序集的信息 检查应用于某种类型的自定义特性 创建和编译新程序集 (二)自定义特性 使自定义特性非常强大的因素时使用反射,代码可以读取这些元数据,使用它们在运行期间作出决策. 1.编写自定义特性 定义一个FieldName特性: [AttributeUsage(Attribu…