- 博客(19)
- 资源 (2)
- 收藏
- 关注
转载 Java学习笔记——线程安全的3种实现方式
先准备一个Ticket类package simplecode;public class Ticket implements Runnable { private int ticket = 10; /* * 执行卖票操作 */ @Override public void run() { while (true) { if (ticket > 0) { try {
2020-09-03 16:31:07
205
原创 一看就懂的设计模式——建造者模式(06)
定义建造者模式(Builder Design Pattern)属于创建型设计模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。意义建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们用建造者模式,那么用户就只需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。真实世界类比远销海外的老干妈生产的产品系列,在不同的国家销售,那对应的产品在不同国家会有不同的包装(可能口味也会
2020-08-22 18:07:38
190
原创 一看就懂的设计模式——抽象工厂模式(05)
定义工厂模式(Abstract Factory Design Pattern)是一种创建型设计模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。意义当系统所提供的工厂生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构、属于不同类型的具体产品时就可以使用抽象工厂模式。以前面说的塑料加工厂为例,当需要生产婴幼儿的椅子、医用的椅子和普通的椅子等多种风格的产品时,产品就成了纵横交错的形式塑料瓶加工厂塑料盆加工厂塑料椅加工厂婴幼儿专用水瓶婴幼儿专
2020-08-21 20:28:58
208
原创 一看就懂的设计模式——工厂模式(04)
定义工厂模式(FactoryDesign Pattern)定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。意义保证一个类只有一个实例 —— 控制一个类所拥有的实例的数量,作为单例来说就是一个,代码经过简单的修改,可以是任意数量的实例(多例)。比方说我们想控制某些共享资源的实例数量来保证稳定性,如日志。为该实例提供一个全局访问节点 —— 全局访问节点的意义在于可以在程序的任何地方访问特定对象,而不必担心会被覆盖。真实世界类比交响乐团的指挥
2020-08-19 22:00:42
153
原创 一看就懂的设计模式——单例模式(03)
定义单例模式(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。单例模式是一种创建型设计模式。意义保证一个类只有一个实例 —— 控制一个类所拥有的实例的数量,作为单例来说就是一个,代码经过简单的修改,可以是任意数量的实例(多例)。比方说我们想控制某些共享资源的实例数量来保证稳定性,如日志。为该实例提供一个全局访问节点 —— 全局访问节点的意义在于可以在程序的任何地方访问特
2020-08-18 16:52:43
181
原创 一看就懂的设计模式——六大原则(02)
单一职责原则单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。这个原则的英文描述是这样的:A class or module should have a single reponsibility。一个类或者模块只负责完成一个功能。从定义可知,在开发中不要设计大而全的类,要设计粒度小、功能单一的类。如果一个类包含了两个或者两个以上业务不相干的功能,那我们就说它职责不够单一,应该将它拆分成多个功能更加单一、粒度更细的类。单一职责原则的优点:类
2020-08-14 18:38:19
225
原创 一看就懂的设计模式——概述(01)
所有的设计模式都是围绕着面向对象编程技术而产生的,所以如果说想学好设计模式,首先需要搞清楚面向对象编程,梳理清楚下列的几个问题,能更好的学习设计模式为什么要学面向对象编程?有不少的程序员对面向对象编程一知半解或不了解,仍然在从事着该工作,但编程和打游戏一样,水平有高低,如果对面向对象编程不了解,那水平就处在比较低的位置。在面向对象编程技术问世前,编程是面向过程的,关注的是业务流程通过程序来实现,但随着业务的不断复杂化,面向过程开发让程序变得日益臃肿,难以维护。然后,面向对象编程技术随之出现,该技术用来应
2020-08-12 19:19:54
188
原创 ASP.NET Core 3 框架剖析 - Startup
前言在介绍生命周期的文章中已经谈过,程序是的入口是Program.cs的main方法。其中,有一个进入Startup的入口,是webBuilder.UseStartup();public class Program{ public static void Main(string[] args) { CreateHostBuilder(args).Build()...
2020-06-14 00:29:39
411
原创 一看就懂——C#中readonly关键字
1.定义通常是用在类的属性上使用了readonly的属性,只能在定义时或类的构造函数中初始化,除此之外不可以再修改它的值2.作用如果你希望一个数据成员在初始化后不能被改变,可以使用【readonly】关键字。注意:这个【readonly】关键字的作用和其字面意思“只读”没有多少关系,所以尽管忽略其字面意思代码创建一个控制台项目,包含3个文件Program.cs、ReadOnlyDemo.cs、ReadOnlyDemo2.csProgram.cs的代码:namespace Fea
2020-06-02 10:52:28
3142
原创 ASP.NET Core 3 框架剖析 - 生命周期
前言微软在今年9月份发布了NET Core 3.0,增加如下的重大改进:使用.NET Core可以开发Windows桌面应用,支持对Winform和WPF(可打包单个应用)基于span和UTF-8完全重写了JSON APIs,不在依赖于Json.NET支持在 树莓派 和 ARM 芯片中进行loT开发垃圾回收采用更少的内存同时,也发布了 ASP.NET Core 3.0 和 EF Co...
2019-11-22 21:05:16
1240
原创 面试题(Part One——SQL SERVER)
面试也是一种学习的过程,最近参加了一些面试整理下在面试中提出来的一些问题和相关的解答。理论知识索引器的优缺点?优点:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时
2014-04-30 14:43:44
873
原创 一口气学会MVC5之Razor语法
概述我记得在MVC3.0的时候建一个view还可以选择asp.net模板和Razor模板,而今看到mvc5已经推荐使用了Razor作为模板引擎,那我们先来简单看看两者的区别,原始的方式是用<%= %>在HTML代码中去调用C#代码,这种方式是打ASP.NET还在娘胎里就使用的方法,即不灵活,而且又容易和HTML混淆。Asp.net: <script src="&l...
2014-04-22 16:03:26
6841
1
原创 SQL SERVER 表分区实施步奏
1. 概要说明SQL SERVER的表分区功能是为了将一个大表(表中含有非常多条数据)的数据根据某条件(仅限该表的主键)拆分成多个文件存放,以提高查询数据时的效率。创建表分区的主要步骤是1、确定需要以哪一个字段作为分区条件;2、拆分成多少个文件保存该表;3、分区函数(拆分条件);4、分区方案(按拆分函数拆分后需要对应到哪些文件组中去)。下面就一步一步来说明如何创建表分区:2
2014-04-16 17:50:38
942
原创 如何解决WIN7、WIN8下SQL SERVER 附加数据库的错误
在WIN7或者WIN8操作系统下附加数据库和在其他系统中的操作基本是相同的,但点击最后一步的
2014-04-08 15:27:18
791
原创 JAVASCRIPT、ANDROID、C#分别实现普通日期转换多少小时前、多少分钟前、多少秒
貌似最近很流行这个,就写了个js函数实现之 New Document function stringToDateTime(postdate) { var second = 1000; var minutes = second*60; var hours = minutes*60; var days = ho
2011-11-18 11:19:43
745
原创 C#你真的懂了吗 - 啥叫引用
看看下面的这段代码,如果你得到的结果和实际情况一致,那就是明白引用类型了 class Program { static void Main(string[] args) { Car theCar = new Car(); TestClass(theCar);
2009-12-19 08:33:00
739
C#程序员参考手册-开发人员必备参考书
2008-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人