●编程语言
文章平均质量分 66
独孤文彬
人生的转折从大米时代开始
展开
-
《LRS项目重构来看"泛型"(二)——异曲同工,泛型过程和C++函数模板的比较》
引言: 上一篇博客我们谈到C++中的模板,一个是类模板,一个是函数模板。重点说了一下函数模板。话说,其实C++中的模板和.NetFramework中的泛型可谓是是异曲同工!首先,从泛型的思想上来看: 将算法与数据结构完全分离开,使得一次定义的算法能作用于多种数据结构,从而实现高度可重用的开发。通过泛型可以定义类型安全的数据结构,而没有必要使用实际的数据类型,这将显著提高系统性原创 2015-05-09 16:45:10 · 998 阅读 · 14 评论 -
vb.net如何编写高效率的SQLHelper——(二)代码实战
上一篇博客:《vb.net如何编写高效率的SqlHelper——(一)基础篇》 咱们谈到了很多关系ADO.net的基础知识,那些是看懂本篇文章的前提。所以童鞋们有必要好好看看哦。 本篇选取了最常用的几个方法,而且尽可能的简单化,灵活化(用到了函数重载和读取配置文件) 好了,废话不多说,直接上代码。'************************************************原创 2015-05-27 09:46:36 · 2722 阅读 · 24 评论 -
《从LRS项目重构看“泛型”(四)——代码实战,将DataTable转成泛型实体集合》
引言: 接上一篇文章:《从LRS项目看“泛型”(三)——刨根问底,泛型工作原理》,里面更多的是谈到了泛型的工作原理,在该系列的“泛型二”中,也看了一个简单的泛型过程的使用,相信大家也是对泛型方法有了一定的了解了。有了理论和简单的小demo之后,让咱们来一次项目实战吧! 在LRS项目的重构过程中,我们用了三层架构,为了更加符合面向对象编程又加入了Entity对象作为数据传输类(Entit原创 2015-06-05 20:42:24 · 1008 阅读 · 14 评论 -
NMS项目——拓展知识网(一)浏览器为何物?
引言:从接触电脑开始,就接触到了浏览器这个家伙,可是真的认识她这么久了,连她的工作原理,内部构造一点度不了解,有些过意不去啊!今天咱们来一探究竟吧!宏观导图:内核:分成两个部分,一个是渲染引擎,另一个是js引擎。但是后来js引擎越来越独立,就独立与内核之外了。所以一般说内核是指的渲染引擎。所谓的渲染引擎是指:它负责取得网页的内容(HTML、XML、图像等等)原创 2015-06-13 17:11:06 · 1023 阅读 · 18 评论 -
NMS项目系列总结——debug篇(一)兼容性问题
前言: 在谈这个问题之前,我想咱们最好还是结合前面一篇博客《NMS项目——拓展知识网(一)浏览器为何物?》中谈到的关于浏览器的一些知识来认识这个问题。我们知道web服务也称万维网服务的内容基本都是通过浏览器来实现展示的。客户端浏览程序即浏览器通过http发送各种请求,并对从服务器发来的超文本信息(HTML、XML)等进行解析、处理、展示和播放。 那么,为什么存在这个所谓的兼容性问题呢?原创 2015-06-14 17:25:12 · 1032 阅读 · 16 评论 -
深入Java系列——面向对象之(一)——抽象
此次对于java的学习,可谓是很轻松的一个过渡。在软考过程中不知不觉就和她成为好盆友了。从之前的VB、C#、C++基础学习,到现在的java,一个感受就是编程语言大概都是一样的,无非都是指挥机器按照规定去干活的工具罢了 。 至于编程思想,也就都是那么回事儿,简而言之:我们在使用计算机来解决生活中问题的过程中运用的思维方式,就是编程思想。也可以说是编程的原则,或者说是编程过程中的约定。原创 2015-11-18 16:30:31 · 2209 阅读 · 30 评论 -
Hello,Algorithm!(你好,算法!)
一、宏观导图:二、导图详解:1、算法——解开神秘的面纱:算法是个啥玩意儿? 1.1、概述 1.2、算法的来龙去脉 1.3、设计 1.4、分析2、对比——当大家谈起算法你还会会想起谁?: 2.1、算法与数据结构 2.2、算法与程序设计三、小结:原创 2015-10-29 10:53:49 · 3164 阅读 · 42 评论 -
《从LRS项目来看”泛型“(三)——刨根问底,泛型工作原理》
引言: 接上一篇从《LRS项目来看”泛型“(二)——异曲同工,泛型过程与C++模板的比较》。上回咱们谈到了泛型技术和C++中的模板技术很像!但是,那只是表面现象,对于其内部的工作原理并没有做深入的研究,下面让咱们从比较专业的角度深入代码编译的过程来看看,泛型和模板不一样的地方……原理比较: vb.net泛型的语法和C++模板类似,但编译器在实现和支持他们的方式存在重要的差异原创 2015-05-09 17:50:02 · 1040 阅读 · 16 评论 -
《C#截取字符串的几种方法》
1.根据单个分隔字符用split截取例如string st=”GT123_1”;string[] sArray=st.split(“_”);即可得到sArray[0]=”GT123”,sArray[1]=”1”;2.利用多个字符来分隔字符串例如string str = “GTAZB_JiangjBen_123”; string[] sArray = str.Split(new char[2] {转载 2015-03-26 09:27:13 · 1168 阅读 · 21 评论 -
从封装性来分析vb.net和C#两兄弟的差异
引言:虽然没怎样接触过vb.net,但是大概对于vb6还是比较了解的。前者是从后者基础上发展而来的。后来接触了C#编程语言,起初没有太关心她和vb.net有啥不同的地方,话说都是面向对象的,而且都是MS帝国的产品。一直觉得没什么区别,直到昨天的下午……我才发现这样一个吊炸天的问题……原来vb.net她……竟然……原创 2015-03-18 19:10:23 · 1133 阅读 · 34 评论 -
教你高效学习台湾曹祖胜老师的OnlineSemilar系列的——vb.net教程
还没有开始进行这个项目的时候,我就听好多童鞋说这个教程不太友好。首先是繁体字,然后是严重的台湾口音,加上IT术语的区别使得我们学习和理解起来比较费劲!于是我就对症下药,终于找到了破解的方法!于此,分享给大家,希望能够对大家的学习有所帮助。台湾曹祖胜老师的OnlineSemilar系列的——vb.net教程个人学后感受:首先:毋庸置疑,这个材料绝对经典!为什么这么说嫩,里面讲了很多原理性的东原创 2015-02-23 19:09:56 · 2637 阅读 · 34 评论 -
《转自博客园》成为优秀Java程序员的10个要素
成为优秀Java程序员的10个要点投递人 itwriter 发布于 2015-02-07 13:11 评论(0) 有569人阅读 原文链接 [收藏] « » 英文原文:10 Steps to Become an Outstanding Java Developer 如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多转载 2015-02-13 21:32:34 · 1471 阅读 · 18 评论 -
.net基础积累——Hashtable类中默认构造函数Hashnable
Hashtable简介 Hashtable:表示根据键的哈希代码进行组织的键/值对的集合。存在于 mscorlib.dll中,属于 System.collection命名空间线程安全: Hashtable 是线程安全的,可由多个读取器线程和一个写入线程使用。多线程使用时,如果只有一个线程执行写入(更新)操作,则它是线程安全的,从而允许进行无锁定的读取(若编写器序列化为Ha原创 2015-01-12 15:43:24 · 1361 阅读 · 29 评论 -
初始Java——解释型还是编译型?
计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。 这个过程分成两类,第一种是编译,第二种是解释。我们知道,任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的,无论是编译型语言还是解释型语言。而任何高级编程语言程序的源代码都是一个字符序列,这个字符序列到底层的01序列是通过编译器或原创 2015-09-20 23:50:33 · 1079 阅读 · 28 评论 -
《从LRS项目重构来看“数据类型”——(第二话)局部类型推理(一)》
在讲类型推理之前,首先得讲一下几个概念:1、早期绑定:如果在申明变量的时候显式的申明了类型,那么在将对象分配给对象变量时,Visual Basic 编译器会执行一个名为 binding 的进程,将对象分配给声明为特定对象类型的变量,则该对象为“早期绑定”。 早期绑定对象允许编译器在应用程序执行前分配内存以及执行其他优化。例如:`dim strTest as string ’定义一个原创 2015-05-17 21:22:37 · 1391 阅读 · 15 评论 -
初识Java,基本名字的了解(摘自网络)
由于刚入手,对java不是很了解,结果对java的一些名词没有一个清晰的脉络,现在稍微整理一下 令我纠结的是jdk,sdk,jre,jvm,ide,adt,跨平台性,j2ee,j2se,这些名词弄的我云里雾里的。 首先,什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包。软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开原创 2015-08-28 21:38:14 · 875 阅读 · 42 评论 -
《从LRS项目重构来看“数据类型”——(第二话)局部类型推理(二)》
接上一篇博客:《从LRS项目重构来看“数据类型”——(第二话)类型推理(一)》尝试1、在过程级别中:(先定义一个没有具体类型的变量,后赋值初始化) 效果图如下: 此时,编译器没有给出我们想要的预期结果(应该显示的是Dim UNKnowType as Integer), 尝试2、(在模块级别,非局部级别来定义变量) 情况2.1(定义一个没有指定类型的变量并同时为她进行初始化赋值)原创 2015-05-17 21:30:26 · 1203 阅读 · 21 评论 -
《从LRS项目重构来看‘泛型’(一)——追根寻源,看C++中的模板技术简介》
在谈泛型这个概念之前,先来回顾一下C++中一个重点内容吧C++中的模板:模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。模板是一种对类型进行参数化的工具;通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。使用模原创 2015-05-03 21:10:57 · 1299 阅读 · 19 评论 -
vb.net如何编写高效率的SQLHelper(一)基础篇
基础知识储备:1、什么是ADO.NET? MSDN 官方答:ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 类位于 System.Data.dll 中,并与 System.Xml.dll 中的 XML 类集成。ADO.NET 提供对诸如 SQL Server 和 XML 这样的数据源以及通过 OLE DB 和 ODBC 公开的原创 2015-04-30 10:29:01 · 2267 阅读 · 30 评论 -
C# 基础技术积累——反射
基本概念储备 程序集 模块 类型 命名空间与程序集 命名空间与装配件什么是反射:有什么作用?实例:动态创建对象小结:原创 2014-12-31 11:02:33 · 1482 阅读 · 45 评论 -
java基础——各种变量你晕了不?
java 中的变量大致分为 成员变量 和 局部变量 两大类。成员变量: 在类体里面定义的变量称为成员变量; 如果该成员变量有 static 关键字修饰,则该成员变量称为 静态变量 或 类变量; 如果该成员变量没有 static 关键字修饰,则该成员变量被称为 非静态变量 或 实例变量。原创 2016-02-25 17:18:13 · 1212 阅读 · 27 评论 -
JavaWeb系列(一)——入门篇
何为Web应用程序?指供浏览器访问的程序,通常也简称为web应用。例如有a.html 、b.html…..多个web资源,这多个web资源用于对外提供服务,此时应把这多个web资源放在一个目录中,以组成一个web应用(或web应用程序)一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射原创 2016-06-21 23:05:22 · 778 阅读 · 20 评论 -
J2EE学习总结之——会话数据管理cookie和Session
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。有状态会话:用户甲访问网站A,下次再访问A网站,A网站知道这甲这个用户曾经访问过自己,这称之为有状态会话。原创 2016-08-07 16:38:45 · 1665 阅读 · 13 评论 -
javaSE_8系列博客——基础篇(一)--让我们开始吧!
改变世界,从编程开始!学习编程,Java绝对是您最佳的选择之一!原创 2017-04-17 19:40:34 · 675 阅读 · 8 评论 -
JavaSE_8系列博客——基础篇(二)——从Hello World 开始说起
第一个Java程序:hello world :深入“hello world”:原创 2017-04-17 19:06:50 · 1109 阅读 · 9 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(2)-- 变量和常用数据类型
八大常用数据类型Java编程语言是静态类型的,这意味着所有变量必须先被声明才能使用。这包括说明变量的类型和名称,如您已经看到的:int gear = 1;这样做会告诉你的程序,一个名为“gear”的字段存在,保存数字数据,初始值为“1”。变量的数据类型确定其可能包含的值,以及可能对其执行的操作。除了int之外,Java编程语言还支持其他七种基本数据类型。原始类型由语言预定义,并由保留关键字命名。原始原创 2017-04-26 10:14:42 · 1718 阅读 · 7 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(3)-- 基本数据类型的默认值
默认值当声明一个字段时,并不总是需要赋值。声明但未初始化的字段将被编译器设置为合理的默认值。一般而言,根据数据类型,默认值为零或为空。然而,依赖于这样的默认值,通常被认为是不良的编程风格。 以下图表汇总了八大基本数据类型的默认值。 注意:局部变量略有不同,编译器从不将默认值分配给未初始化的局部变量。如果您无法初始化您声明的本地变量,请确保在尝试使用该变量之前为其分配一个值。访问未初始化的局部变原创 2017-04-26 11:30:44 · 878 阅读 · 9 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(4)-- 变量和数组
数组数组是一个容器对象,它保存单个类型的固定数量的值。创建数组时,建立数组的长度。创建后,其长度是固定的。你已经看到了一个阵列的例子,在“Hello World!”的主要方法中。应用。本节将更详细地讨论数组。 数组中的每个项目称为元素,每个元素都由其数字索引访问。如上图所示,编号从0开始。例如,第9个元素将在索引8处被访问。 以下程序ArrayDemo创建一个整数数组,在数组中放置一些值,并将原创 2017-04-29 11:09:05 · 792 阅读 · 7 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(5)-- 运算符
运算符:现在你已经学会了如何声明和初始化变量,你可能想知道如何利用他们做些什么。学习Java编程语言的运算符是开始的好地方。运算符是对一个,两个或三个操作数执行特定操作的特殊符号,然后返回结果。 当我们探索Java编程语言的运算符时,可能有助于您提前知道哪些运算符具有最高优先级。下表中的运算符按照优先顺序列出。操作员出现的表格越靠近,其优先级越高。具有较高优先级的运算符在具有较低优先级的运算符之前进原创 2017-04-29 15:14:12 · 689 阅读 · 6 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(6)-- 表达式、语句、块
现在,您了解变量和运算符,现在该了解表达式,语句和块。运算符可用于构建表达式,计算值 ; 表达是语句的核心组成部分;语句可以分组成块。表达式表达式是由变量,运算符和方法调用组成的结构,它们根据语言的语法构造,其计算为单个值。您已经看到了表达式的例子,如下加粗代码所示:int cadence = 0; anArray[0] = 100; System.out.println(“Element 1原创 2017-04-30 08:43:04 · 681 阅读 · 5 评论 -
javaSE_8系列博客——Java语言的特性(一)--关于面向对象基本概念的理解(2)--对象
对象是理解面向对象技术的关键。现在看看,你会发现很多真实世界的例子:你的狗,你的桌子,你的电视机,你的自行车现实世界的对象共有两个特征:它们都有状态和行为。狗有状态(名称,颜色,品种,饥饿)和行为(吠叫,抓取,摇摆尾巴)。自行车还具有状态(当前档位,当前踏板节奏,当前速度)和行为(改变档位,改变踏板节奏,施加刹车)。识别现实世界对象的状态和行为是开始面向对象编程思考的好方法。现在要花一点时间来观察你原创 2017-04-19 09:02:55 · 881 阅读 · 9 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(7)-- 流程控制语句
流程控制语句:源文件中的语句通常按照它们的出现顺序从上到下执行。然而,控制流程语句通过使用选择(决策),循环和分支来分解执行流程,使程序有条件地执行特定的代码块。本节介绍将要介绍三大结构:条件分支语句(if-then,if-then-else,switch)循环语句(for,while,do-while)switch分支语句(break,continue,return)No.1—条件结构if原创 2017-05-01 15:58:08 · 1115 阅读 · 4 评论 -
javaSE_8系列博客——Java语言的特性(三)--类和对象(1)--概述
通过您现在掌握的Java编程语言的基础知识,您可以学习编写自己的类。在本章节中,您将找到有关定义自己的类的信息,包括声明成员变量,方法和构造函数。 您将学习使用您的类来创建对象,以及如何使用您创建的对象。 本课程还涵盖了其他类中的嵌套类和枚举。类本节介绍一个类的解剖结构,以及如何声明字段,方法和构造函数对象本节介绍创建和使用对象。您将学习如何实例化一个对象,一旦实例化,如何使用点运算符来访问对象的实原创 2017-05-02 08:34:30 · 454 阅读 · 2 评论 -
javaSE_8系列博客——Java语言的特性(三)--类和对象(2)--类(宏观概述)
声明一个类在这个章节中,你将学习到如何在Java的世界中声明一个类。当然,里面还包括了类和类之间的继承、实现等等实现细节。声明成员变量如何在Java中声明一个成员变量?访问控制?类型?命名?你的这些疑问,都将在这里得到你想要的答案!定义一个方法在一个Java类中如何定义一个方法?方法和函数有什么区别?如何去重载一个方法?本章节以一种非常简单的方式,为您介绍了这些内容。为你的类提供一个构造器什么是构造原创 2017-05-02 08:51:49 · 448 阅读 · 3 评论 -
翻转设计模式系列——第三部分--设计模式(2)--结构型模式大比拼
为什么要分类?分类的依据是什么?什么是结构型?和创建型、行为型有什么关系?相同点不同点结构型的设计模式,有哪些?原创 2017-05-02 16:35:26 · 714 阅读 · 3 评论 -
javaSE_8系列博客——Java语言的特性(三)--类和对象(3)--类的声明
您已经看到以下列方式定义的类:class MyClass { // field, constructor, and // method declarations}这是一个类声明。类体(大括号之间的区域)包含提供从类创建的对象的生命周期的所有代码:用于初始化新对象的构造函数用于提供类状态的字段的声明及其对象以及实现类及其对象的行为的方法前面的类声明是一个最小的声明。它仅包含原创 2017-05-03 10:12:10 · 441 阅读 · 3 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识
变量我们将对象将的状态存储在字段中。同时,我们在Java编程语言也使用术语“变量”。本节就是要讨论这种关系,加上变量命名规则和约定,基本数据类型(原始类型,字符串和数组),默认值和文字。操作符本节介绍Java编程语言的运算符。它首先提供最常用的运算符,最后也提供一些不太常用的操作符。每个讨论都包括可以编译和运行的代码示例。表达式、语句、块运算符可用于构建表达式,表达式是用来计算值的 ; 表达式是语句原创 2017-04-20 12:41:17 · 922 阅读 · 7 评论 -
javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(1)-- 变量
变量正如您在上一课中学到的,一个对象将其状态存储在字段中。int cadence = 0;int speed = 0;int gear = 1;什么是对象?在上一个章节的内容《对象》中向您介绍了字段,但您可能还有几个问题,例如:命名字段的规则和惯例是什么?除了int,还有什么其他数据类型?当声明声明时,是否必须初始化字段?如果这些字段没有被明确地初始化,那么这些字段是否被分配我们将在本节中探讨这原创 2017-04-21 08:41:40 · 829 阅读 · 9 评论 -
javaSE_8系列博客——Java语言的特性(三)--类和对象(21)--枚举类型
枚举类型是一种特殊的数据类型,可使变量成为一组预定义的常量。变量必须等于为其预定义的值之一。常见的例子包括罗盘上的方向(NORTH,SOUTH,EAST和WEST的值)和星期几。 因为它们是常量,所以枚举类型的字段的名称是大写字母。 在Java编程语言中,您可以使用枚举关键字定义枚举类型。例如,您将指定一个星期的枚举类型为:public enum Day { SUNDAY, MONDA翻译 2017-05-23 09:29:17 · 420 阅读 · 9 评论 -
javaSE_8系列博客——Java语言的特性(三)--类和对象(13)--理解类的成员
在本节中,我们讨论使用static关键字来创建属于该类的字段和方法,而不是该类的一个实例。类变量(静态字段):当从相同的类蓝图创建一些对象时,它们各自有不同的实例变量副本。在Bicycle类的情况下,实例变量是节奏,齿轮和速度。每个自行车对象都有自己的这些变量的值,存储在不同的内存位置。 有时候,您想要有所有对象共有的变量。这是通过static修饰符来实现的。在其声明中具有静态修饰符的字段称为静态字翻译 2017-05-12 09:09:08 · 481 阅读 · 5 评论