`
孙海友
  • 浏览: 24814 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
单例模式(Singleton)续——有效解决多线程问题       《JDK源码解析》的分支,讲解设计模式在jdk中使用。       上一篇博客,讲到了单例模式(Singleton),提到了多线程问题。这次,我们来看看几个有效解决单例模式中多线程问题的解法。         上一篇博客提到的最后一种方法,虽然能解决多线程环境下的问题,但是有效率低下的缺点,因为每次使用getInstance()方法时,都会synchronized,明显影响效率。   一、”两次判断法“(效率依然会有影响) public class SingletonTest { private stat ...
JDK设计模式应用——单例模式(Singleton)     《JDK源码分析》的分支,讲解设计模式在jdk中使用。     我们从三个方面讲述,一是:jdk源码中的设计模式;二是:讲解设计模式(UML图);三是:实现我们自己的设计模式代码。今天带来最简单的设计模式——单例模式(Singleton)。   一、jdk源码中的设计模式      我们先看java.lang包下的class Runtime public class Runtime { private Runtime() {}//私有的构造方法 //Runtime类的私有静态实例 ...
jdk源码解析之——java.util源码详解 java.util包的util自然指的就是utility(实用),就是说,这个包中定义的class和interface为我们提供了一些实用的工具可以辅助我们的开发。 那么这个包中最主要的以及最重要的就是collection框架,就是我们不管开发什么项目都会用到的”类集”。我们用类集来存放和提取数据,使我们的开发高效有序。 我们不太去赘述用法,而是通过源码来了解collection框架的基本实现,来使得我们更了解用法。   首先,我们来了解一下collection这个框架。 我们常常使用的集合,其实是分为两大类的:Collection ...
   转眼到了大三下学期,我也开始加入茫茫的找实习大军中,作为软件工程大军中的一员,都会想去百度、阿里、腾讯的。于是我也开始了准备简历,准备复习,准备投简历。说实话,这段时间的压力倒是使我自己有了一些提升,但是随着进行了半个月,总感觉有些地方很不妥。      于是事情发生了,被人问及“数据结构”的知识,我心想,这个我准备得很好啊,但是我回答的却不是很好。其实我准备得还算可以了,JDK里面关于Collection框架的底层实现,我也都学习了一下,可是当自己去讲述出来的时候,却不是特别有序。这件事情让我知道,复习期间仅仅是“看”,这个是不够的。自己还要能讲出来,才是真正的复习得完备。要知道, ...
FTP全状态码查询词典  1xx - 肯定的初步答复这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 • 110 重新启动标记答复。 • 120 服务已就绪,在 nnn 分钟后开始。 • 125 数据连接已打开,正在开始传输。 • 150 文件状态正常,准备打开数据连接。 2xx - 肯定的完成答复一项操作已经成功完成。客户端可以执行新命令。 • 200 命令确定。 • 202 未执行命令,站点上的命令过多。 • 211 系统状态,或系统帮助答复。 • 212 目录状态。 • 213 文件状态。 • 214 帮助消息。 • 215 NAME 系统类型,其 ...
 C#里的文件流(FileStream) 一、文件流(FileStream) FileStream 类是公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。 命名空间:System.IO 程序集:mscorlib(在 mscorlib.dll 中)   在C#中的声明为 [ComVisibleAttribute(true)] public class FileStream : Stream   二、文件流写入   private void btnChooseOpenFile_Click(object sender, EventAr ...
委托的简单回顾   一、委托的含义 度娘说:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。   通俗地:委托就是一个能存放符合某种格式(方法签名)的方法指针的清单。   二、委托的创建 假定一个方法:string HelloU(string uName){//方法代码} 声   明   委  托:delegate 返回值类型 委托类型名(参数);   例     子:       delegate string DG ...
JAVA多线程基础 一、基础理论 1、进程: 狭义定义:进程就是程序的执行过程。 我们打开任务管理器的时候,如图,我们看到许多进程。 复杂一点说:进程就是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 2、线程: 线程,有的时候被称为轻量级进程(LWP),是程序执行流的
在上一篇博客中,我们总结了OOP中的类的一些基本定义。 在java中有许多的类,因此存在一些类之间有继承的关系。那么什么是继承呢?  一.继承 在面向对象程序设计中,可以在已有的类的基础上定义新的类,而不需要把已有类的内容再写一遍,这就叫做继承。 例子:    举一个生活中的例子:电脑是一个类,电脑可以用来上网。那么台式机,笔记本等就是电脑的子类,它们都可以用来上网。   我们为什么要使用继承呢?  方便,少用很多重复的代码(提高代码的重用性)。 提高程序的扩展性。  
OOP是面向对象的一种设计和实现软件系统的方法。 OOP是在程序中模拟显示世界中的概念,现实世界中的所有事物都被视为对象。   一.那么在生活中那些物体是对象呢? 1.       生活中具体的某一个物体或事物就是一个对象。 2.       一些抽象的对象(生活中不存在,有人构想的对象)。   了解了什么是对象,那么我们应该如何去描述对象呢?
Global site tag (gtag.js) - Google Analytics